Dos fn 0dh сброс диска


Содержание

Dos fn 0dh: сброс диска

Всем привет сегодня расскажу как я делаю сброс пароля bios, если появляется вот такая необходимость. Расскажу как физические способы так и программные, у всех свои плюсы. Кто может оказаться в такой ситуации, по идее да кто угодно, так как в последнее время вендоры производящие оборудование, все больше пользуются такой возможностью, так, что по мимо новой техники, вам при покупке б.у. компьютера или ноутбука, так же может посчастливиться познакомиться с данной ситуацией, может быть вами даже будет куплена программа дешифратор bios кода.

как сбросить пароль bios

Бывают случаи когда люди пытаются достичь максимальной безопасности или наоборот сделать пакость, ставя пароль на вход в BIOS. Напомню биос это микропрограмма, которая помогает вашему железу взаимодействовать друг с другом, это если так поверхностно. Имея доступ к BIOS вы по сути получаете доступ к мозгам вашего ноутбука или компьютера, именно в нем делаются настройки железа или выставляются приоритеты загрузки для установки системы с флешки или загрузка с PXE сервера. Естественно если это компьютер организации, то служба безопасности может потребовать, чтобы системный администратор поставил там пароль, для особо любознательных, или может ситуация быть,что производители железа могут блокировать туда доступ, а вам нужно перепрошить bios, ситуации бывают разные. Главное, что стоит задача произвести сброс пароля bios и вы как инженер обязаны это уметь.

Способы сброса биос

Существует два способа, сброса CMOS-память. Напомню CMOS-память (Complimentary Matal-Oxide-Semiconductor — Комплиментарный Металло-Оксидный Полупроводник), нужна биосу, чтобы в ней хранить данные, которая требует постоянной подпитки батарейкой, установленной на материнской плате.:

  • это физическое воздействие на железо
  • с помощью утилит

И так при попытке зайти в BIOS вы видите вот такие картинки

Программный сброс пароля bios

Мне поможет бесплатная утилита командной строки под названием cmospwd-5.0. Скачать cmospwd-5.0 можно по ссылке.

Выбираете папку windows в ней, зажимаете кнопку Shift и жмете правым кликом по ней, далее выберите пункт меню Открыть окно команд

посмотрим синтаксис утилиты с помощью ключа /?

Теперь сбросим CMOS bios

Данную утилиту можно загрузить и из под DOS, можете ее поместить в ISO с DOS, как это сделать читайте по ссылке слева.

Утилита подойдет для данных версий bios

  • ACER/IBM BIOS
  • AMI BIOS
  • AMI WinBIOS 2.5
  • Award 4.5x/4.6x/6.0
  • Compaq (1992)
  • Compaq (New version)
  • IBM (PS/2, Activa, Thinkpad)
  • Packard Bell
  • Phoenix 1.00.09.AC0 (1994), a486 1.03, 1.04, 1.10 A03, 4.05 rev 1.02.943, 4.06 rev 1.13.1107
  • Phoenix 4 release 6 (User)
  • Gateway Solo — Phoenix 4.0 release 6
  • Toshiba
  • Zenith AMI

С помощью утилиты debug.exe

Есть в Windows XP утилита debug.exe и лежит она в \WINDOWS\system32\debug.exe. Вы так же можете ей воспользоваться, но только в DOS варианте, как ее от туда запустить читайте по ссылке выше про ISO DOS. Скачать debug windows 7 мо на ссылке, весит она всего 20 кб.

Запускаем debug.exe и вводим для каждой версии BIOS свои коды.

  • q – quit
  • первое число в каждой строке – порт
  • второе – число байт (в шестнадцатеричной системе)
  • в окне командной строки введите exit (или просто закройте окно);

Физический сброс пароля

Как сбросить пароль bios если вышеуказанными утилитами вы не смогли сбросить пароль, то попробуйте следующие методы

  • Вытащить батарейку на материнской плате и подождать пару минут. Как только вытащили, обязательно вытащите провод питания из вашего системного блока или батарею на ноутбуке, после чего нажмите на кнопку питания, у вас прокрутятся немного вентиляторы и остаточная энергия уйдет.

На ноутбуках еще можно попробовать замкнуть контакты где батарейка, только перед этим не забудьте обязательно вынуть батарею

  • На большинстве системных плат вы можете обнаружить кнопку обнуления CMOS расположена она чаще всего рядом с батарейкой. Для очистки памяти CMOS необходимо замкнуть эти разъёмы, после чего включить ПК и заново выставить настройки BIOS.

или еще вот такой CMOS.

как сбросить пароль bios мастер кодами

Принцип я уже рассказывал в заметке Как сбросить пароль BIOS на ASUS. Данный метод подойдет как для ноутбуков aser или e-machine, да и других. Что делаем, включаем ваш ноутбук и пытаемся зайти в биос. Видим ввод пароля.

несколько раз вводим не верный пароль, неверным будет любой, шанс угадать мизерный.

Появляется вот такое меню, в котором вы выбираете Enter Unlock Password.

Тут от вас требуют ввести некий мастер код, ниже я научу его получать. Записываем к себе код 54697781, он нам поможет взломать пароль bios

Теперь нам нужно воспользоваться дешефраторами, я покажу вам два онлайн.

Внизу в поле Введите код тут вставляем скопированный выше 54697781, у вас будет свой код.

Все видим, мы получили два мастер пароля, нижний нам подойдет, и мы теперь можем взломать пароль bios

Смысл тот же вводите код и нажимаете Get Password.

Копируем полученный код.

Вводим данный код и готово. Все как видите у меня получилось убрать пароль в bios.

Единственное нужно, в bios поменять пароль на пустой, делается это на вкладке Security > Set Supervisor Password.

Вводим текущий пароль, тот что мы сгенерировали, а новый оставляете пустым, далее жмете F10 и сохраняете настройки.

Популярные Похожие записи:

12 Responses to Делаем сброс пароля bios

Здравствуйте!
К сожалению, не смог получить мастер-пароль для сброса пароля с HDD..
Оба сервиса не помогли.. Один выдает статические данные, которые не подходят мне. Второй — вовсе слился, т.е на сервере уже нет его.
Хотя, где-то год-два назад они мне уже помогли.

Иван, помогите пожалуйста.
Диск стоял на Lenovo G505. Сейчас я ставлю его в Samsung R540 и сразу идет запрос пароля на диск. Ввожу три раза и выдает 0691С7821Е14193С73С( потом другие подобные).
Как вы видите, код состоит из 19-ти чисел..(что я вижу впервые).
Ничто с указанных вами сайтов диском не принимается.
Кроме того, еще не пойму почему когда я загружаюсь с флэшки, которая в приоритете меня все равно направляет к запуску запароленного HDD.. и конец фильма..
Диск практически новый и очень хотел бы его оживить..
Был бы вам искренне благодарен за помощь.
С уважением, Феликс.

А утилитами описанными выше вы пробовали сделать? их можно подгрузить из под dos? Как вариант можно снять диск и воткнуть в другой компьютер, а там из под Windows произвести сброс пароля от hdd. По поводу загрузки с флешки, попробуйте прямо из Boot menu выбрать явно ее, интересно даст или нет. А вообще я в инете не нашел бесплатную программу дешифратор bios кода. Еще могу посоветовать попробовать винт взломать утилитами mhdd или victoria.

Проблема заключается в том, что после захода в БУТ и выставления приоритета на загрузку с флэшки или CD Винд не грузится с указанного носителя, а упрямо отсылает к запароленному диску, который сразу же требует пароля на диск. Т.е. он перехватывает загрузку полностью. Поэтому запуститься и из под DOS не получается.
Если бы не это, то я давно уже разблокировал этот диск(хотя бы даже прогой HDD Erase 4.0).
Сегодня пробовал обхитрить диск путем ввода его в слот во время загрузки с загрузочной флэшки и своего диска.. Все ни о чем.. Пробовал замкнуть контакты — тоже ни о чем.. Вынимал баратею Биоса — тоже ни о чем..
Платную буржуйскую прогу нашел , но за такие бабки можно и другой диск купить.
Написал в support HGST и попросил скинуть мастер-пароль — пока молчат.
Короче, пока тупик.
Нужно как-то добиться чтобы диск не перехватывал загрузку с носителей, но ничего не нахожу на эту тему.

Да у вас прямо борьба не на жизнь а на смерть, надеюсь саппорт вам ответит и поделится мастер кодом

Здраствуйте! Я перепробовал все, чтобы сбросить пароль на биос и ничего((( у меня даже после ввода трех раз пароля ничего не вискакивает.что можна зделать еще?

здравствуйте! У вас перечислены методы взлома пароля на сам биос, а какие варианты есть когда пароль биоса блокирует вход в компьютер вообще? Если пароль на вход в комп забыт и биос на третьей попытке просто блокирует ввод и повторять можно только после перезагрузки. Фокус с батарейкой не лечит. Биос DUAL. Gigabyt

скажите а если я не могу попасть в биос на ноутбуке Hp Pavilion dv6 у меня сразу вылазиет эта картинка http://pyatilistnik.org/wp-content/uploads/2020/03/Delaem-sbros-parolya-bios-10.png . Что мне делать?

PackardBell TF71BM, InsydeH2O BIOS. _ttps://bios-pw.org/ генерирует пароль, ввожу, пока всё нормально но, Security > Set Supervisor Password отказывается принимать сгенерируемое — Invalid password > Re-enter Password [continue]. Конопочка на дне не помогает, батарейка тоже. Очень надеюсь на Вашу помощь.

Привет всем . Купил у друга ноутбук hp probook 470 g3 он у него валялся 2 года он забыл пароль. При попытки войти просит password сразу. ПОсле ввода 3-ёх разового пароля не дает командную строку для ввода безопасного кода . что делать . подскажите .

У меня не получается войти и пишет enter current password. ЧТО Делать.

Это где это видан такой фокус? (Выбираете папку windows в ней, зажимаете кнопку Shift и жмете правым кликом по ней, далее выберите пункт меню Открыть окно команд). Лично у меня нет такой функции Wndows 7 Pro пришлось 1. Откройте в окне Проводника (Win + E) нужную директорию. 2. В адресной строке пропишите «cmd» и нажмите «Enter» либо как я сделал Shift+ПКМ по файлу и выбрать копировать как путь далее вставить в CMD. Так что автор статья не понятная для малоопытных пользователей! Мне cmospwd-5.0. так и не помогло команды выполняются, но пароль так и не сбросился.

Как снять пароль с BIOS и HDD на ноутбуке.

Включаем ноутбук и видим такое. Прекрасная картинка не правда ли? Полагаю, те кто благополучно забыл пароль на BIOS, или кто-то шибко умный так пошутил с ноутбуком, со мной не согласятся. Вам еще не доводилось сбрасывать забытый пароль BIOS на ноутбуке? Поверьте, это занятие не для слабонервных, где шансы на успех стремятся к нулю.

Дело в том, что в отличие от обычных компьютеров, в ноутбуках, пароли как правило хранятся в энергонезависимой памяти. Нет тут и перемычек для сброса BIOS к заводским установкам, да и снятие батарейки редко приводит к сбросу пароля. Остается положиться либо на удачу в подборе кода разблокировки, либо на замену BIOS и всяким «шаманствам» с отпаиваем ножек EEPROM (есть такие материалы в сети). Так что ещё раз подумайте, прежде чем запаролите ноутбук через BIOS.

Если мои предостережения вас все-таки не остановили, полюбуйтесь на картинку ниже, нечто подобное предстоит увидеть, разобрав notebook для снятия пароля.

Теперь страшно? Ладно, я пошутил, так кардинально разобрать eMachines E510 пришлось по другой причине. В данном случае все решалось проще.

Снятие пароля с BIOS ноутбука eMachines E510

В общем, принесли ноутбук с просьбой посмотреть что можно сделать и привести в рабочее состояние. Предварительно он побывал в сервисе, где ему был вынесен вердикт о необходимости замены запароленного жесткого диска. Видимо там же, до кучи, установили и пароль на BIOS (чтобы не было соблазна обратиться куда-то еще?). Утверждать не берусь, но владелец о пароле на включение ноутбука представления не имеет, а ведь пароль на жесткий диск спрашивается уже после…

Ну что, для начала попробуем снять пароль с BIOS ноутбука. Полазив по сети, я понял, что последние дельные советы закончились году этак в 2005. Теперь безвозмездно никто делиться секретами не желает. Встречаются, правда, специализированные форумы (на которых для начала необходимо пройти регистрацию), где выкладывают разные коды для разблокировки по просьбе участников, однако источники держат в строжайшем секрете и овеяны они ареалом таинственности (наверное для того чтобы подчеркнуть свою избранность перед остальными).

В конце статьи я дам ссылочку на один такой таинственный источник, который помог разблокировать жесткий диск TOSHIBA без общения с этими «гуру». А вывел меня туда англоязычный GOOGLE.

Снять пароль с BIOS на eMachines E510 оказалось совсем не сложно, нужно было лишь перемкнуть контакты батарейки. Честно говоря на успех особенно не надеялся, но иногда простые методы оказываются весьма эффективны. Я не утверждаю что данный способ разблокировки подойдет для всех ноутбуков, однако попробовать стоит, тем более он не требует никаких особых знаний и навыков.

Ноутбук eMachines E510 практически мечта сервисника (если не требуется серьезный ремонт), т.к. предоставляет легкий доступ к внутренностям. К примеру, почистить его можно сняв всего лишь одну заднюю крышку, правда защелки ну очень тугие. Сняв крышку, получаем доступ и к искомой батарейке:

Внимание! Перед тем как замыкать контакты, необходимо отключить питание и вынуть аккумулятор из ноутбука. На всякий случай подержал отвертку (именно ей и замыкал) пару минут, потому как точно не знал и не знаю сколько необходимо. Главное результат — пароля на BIOS как не бывало! Однако счастье было не долгим…

Снятие пароля с HDD TOSHIBA MK1246GSX

Вот тут меня ждала главная засада. Чтобы понимать о чем речь, почитайте статью Парольная система современных HDD. Статья не моя, просто разместил у себя в блоге, чтобы не пропала (с удовольствием дополню ссылкой на первоисточник, когда узнаю автора).

Статью привел только для ознакомления с чем мы имеем дело, советы из неё не помогли. Если вы внимательно прочли текст, то заметили, что Master-пароль с ноутбука вводить не рекомендуется, он его преобразует. Однако, я не случайно писал в начале темы про специализированные форумы и «гуру». Не надо быть гением, чтобы понять — коды разблокировки берутся явно не из головы, а в сверхестественные возможности и избранность я не верю.

Полез в дебри интернета и наткнулся на занимательную статью BIOS Password Backdoors in Laptops в блоге Dogbert’s Blog. Тут нашлась и ссылка на online калькулятор для снятия паролей.

Смысл в том, что после трех неправильных попыток ввода пароля на доступ к жесткому диску, выдается некий код — Encrypt HDD Key:

Пришло время делиться, обещанной в начале темы, ссылкой: BIOS Password Removal for Laptops. Огромное спасибо автору данного ресурса. На мой запрос (ввел свой Encrypt HDD Key) было выдано два кода разблокировки, для Acer, HP и Fujitsu-Siemens. Код для Acer мне прекрасно подошел, ведь eMachines практически тот же Acer. Пароль с HDD был благополучно снят :)

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Dos fn 0dh: сброс диска

Плохо смотрел значит, там все что нужно есть, даже больше чем тебе сейчас нужно знать

═══════════════════════════════════ ════════════════════╡ Функции DOS │
DOS Fn 00H: Завершить программу
DOS Fn 01H: Ввод с клавиатуры
DOS Fn 02H: Вывод на дисплей
DOS Fn 03H: Ввод AUX
DOS Fn 04H: Вывод AUX
DOS Fn 05H: Вывод на принтер
DOS Fn 06H: Обмен с консолью
DOS Fn 07H: Нефильтрующий консольный ввод без эха
DOS Fn 08H: Консольный ввод без эха
DOS Fn 09H: Выдать строку
DOS Fn 0aH: Буферизованный ввод строки
DOS Fn 0bH: Проверить статус ввода
DOS Fn 0cH: Ввод с очисткой
DOS Fn 0dH: Сбросить диск
DOS Fn 0eH: Выбрать умалчиваемый диск DOS
DOS Fn 0fH: Открыть файл через FCB
DOS Fn 10H: Закрыть файл через FCB
DOS Fn 11H: Найти 1-й совпадающий файл через FCB
DOS Fn 12H: Найти следующий совпадающий файл через FCB
DOS Fn 13H: Удалить файл через FCB
DOS Fn 14H: Читать последовательный файл через FCB
DOS Fn 15H: Писать последовательный файл через FCB
DOS Fn 16H: Создать файл через FCB
DOS Fn 17H: Переименовать файл через FCB
DOS Fn 19H: Дать умалчиваемый диск DOS
DOS Fn 1aH: Установить адрес DTA
DOS Fn 1bH: Дать информацию FAT (текущий диск)
DOS Fn 1cH: Дать информацию FAT (любой диск)
DOS Fn 21H: Читать запись произвольного файла
DOS Fn 22H: Писать запись произвольного файла
DOS Fn 23H: Дать размер файла через FCB
DOS Fn 24H: Установить адрес блока произвольного файла
DOS Fn 25H: Установить вектор прерывания
DOS Fn 26H: Создать префикс программного сегмента
DOS Fn 27H: Читать блок произвольного файла
DOS Fn 28H: Писать блок произвольного файла
DOS Fn 29H: Разобрать имя файла
DOS Fn 2aH: Дать дату DOS
DOS Fn 2bH: Установить дату DOS
DOS Fn 2cH: Дать время DOS
DOS Fn 2dH: Установить время DOS
DOS Fn 2eH: Установить/сбросить переключатель верификации
DOS Fn 2fH: Дать текущий DTA
DOS Fn 30H: Дать номер версии DOS
DOS Fn 31H: Завершиться и остаться резидентным — KEEP
DOS Fn 32H: Дать дисковую информацию DOS (недокументировано)
DOS Fn 33H: Установить/опросить уровень контроля прерывания DOS
DOS Fn 34H: Адрес статуса реентерабельности DOS
DOS Fn 35H: Дать вектор прерывания
DOS Fn 36H: Дать свободную память диска
DOS Fn 37H: Установить/опросить символ-переключатель (недокументировано)
DOS Fn 38H: Дать/Установить информацию страны
DOS Fn 39H: Создать новое оглавление — MKDIR
DOS Fn 3aH: Удалить оглавление — RMDIR
DOS Fn 3bH: Установить умалчиваемое оглавление DOS — CHDIR
DOS Fn 3cH: Создать описатель файла
DOS Fn 3dH: Открыть описатель файла
DOS Fn 3eH: Закрыть описатель файла
DOS Fn 3fH: Читать файл через описатель
DOS Fn 40H: Писать в файл через описатель
DOS Fn 41H: Удалить файл
DOS Fn 42H: Установить указатель файла — LSEEK
DOS Fn 43H: Установить/опросить атрибут файла — CHMOD
DOS Fn 44H: Управление вводом-выводом устройства — IOCTL
DOS Fn 45H: Дублировать описатель файла — DUP
DOS Fn 46H: Переназначить описатель — FORCDUP
DOS Fn 47H: Дать умалчиваемое оглавление DOS
DOS Fn 48H: Распределить память (дать размер памяти)
DOS Fn 49H: Освободить блок распределенной памяти
DOS Fn 4aH: Сжать или расширить блок памяти
DOS Fn 4bH: Выполнить или загрузить программу — EXEC
DOS Fn 4cH: Завершить программу — EXIT
DOS Fn 4dH: Дать код выхода программы — WAIT
DOS Fn 4eH: Найти 1-й совпадающий файл
DOS Fn 4fH: Найти следующий совпадающий файл
DOS Fn 54H: Дать переключатель верификации DOS
DOS Fn 56H: Переименовать/переместить файл
DOS Fn 57H: Установить/опросить время/дату файла
DOS Fn 59H: Дать расширенную информацию об ошибке
DOS Fn 5aH: Создать уникальный временный файл
DOS Fn 5bH: Создать новый файл
DOS Fn 5cH: Блокировать/разблокировать доступ к файлу
DOS Fn 5eH: Различные сетевые функции
DOS Fn 5fH: Переназначение устройств в сети
DOS Fn 62H: Дать адрес префикса программного сегмента
═══════════════════════════════════ ════════════════════╡ Прерывания DOS
INT 20H: Завершить программу
INT 21H: Функции DOS
INT 22H: Адрес завершения
INT 23H: Адрес выхода по Ctrl-Break
INT 24H: Обработчик критических ошибок
INT 25H/26H: Прямые дисковые чтение/запись
INT 27H: Завершиться и остаться резидентным
INT 28H: Квант времени DOS (недокументировано)
INT 2eH: Выполнить команду DOS (недокументировано)
INT 2fH: Мультиплексное прерывание

Способы обхода паролей BIOS

Невзирая на то, что BIOS является мощным средством защиты, существуют способы обхода установленного в ней пароля.
Иногда любопытные или стремящиеся максимально защитить свои данные пользователи ставят пароли на всём, на чём только можно, но нередко эти пароли ими забываются. Тяжело переносится забытие пароля на BIOS (пароль на загрузку системы), зачастую это может привести к покупке новой материнской платы, однако этого можно избежать воспользовавшись слабостями архитектуры построения ЭВМ и преднамеренно оставленными разработчиками «чёрными ходами».


Полагаю, что всем (или почти всем) обитателям Хабрахабра известно, что пароль BIOS (так же, как и иные основные настройки системы) хранится в памяти CMOS (Complimentary Matal-Oxide-Semiconductor — Комплиментарный Металло-Оксидный Полупроводник), которая требует постоянной подпитки батарейкой, установленной на материнской плате.

Отсюда и следует один из способов обхода пароля, точнее его сброса вместе со всеми настройками, хранящимися в BIOS:

Способ 1 — Метод Чубайса

так как CMOS требует постоянной подпитки для сохранения данных, то из этого следует, что убрав такую подпитку (батарейку) на некоторое время (примерно 24 часа) мы добьёмся очистки BIOS. После необходимо снова вставить батарейку на нужное место и при запуске ЭВМ указать снова задать нужные параметры вроде времени, нового пароля (если уж он так сильно необходим) и прочие нужные вам настройки.

Способ эффективный, но долгий, а время, как известно, очень ценный ресурс и пользователь, как и IT специалист не всегда обладает им. Эти особенности делают этот способ не очень практичным и скорее крайним средством, чем реальной практикой. К тому же батарейку на некоторых моделях материнских плат бывает крайне сложно извлечь без использования дополнительных инструментов, поэтому есть смысл прибегнуть к способу, который описывается в инструкциях к материнским платам:

Способ 2 — Аварийная кнопка

на большей части материнских плат существуют специальные разъёмы для очистки памяти CMOS, которые обычно они расположены в непосредственной близости от батарейки (узнать местоположение такого разъёма можно из схемы материнской платы, приведённой в инструкции к ней или на сайте компании-изготовителя). Для очистки памяти CMOS необходимо замкнуть эти разъёмы, после чего включить ПК и заново выставить настройки BIOS.

Если же вы оказались счастливчиком, которому часто попадаются редкие ситуации или вы просто не ищете лёгких путей, то для вас есть ещё один способ (описанный в книге goldenshara.com/viewtopic.php?t=7802):

Способ 3 — Инженерный пароль

Заключается во вводе вместо забытого пароля BIOS инженерного пароля для данной системной платы:

AWARD
_award Condo
01322222 d8on
589589 HLT
589721 J262
595595 J332
ALFAROME J64
Ally Lkwpeter
ALLY LKWPETER
aLLy Pint
aPAf PINT
AWARD PW SER
AWARD SW SKY_FOX
AWARD_SW SYXZ
Awkward BIOSTAR TTPTHA
CONCAT ZJAAADC
AMI
A.M.I. CONDO
AAAMMMIII HEWINTT RAND
AMI LKWPETER
AMI?SW PASSWORD
AMI_SW SER
BIOS

Однако стоить помнить, что данные пароли работают только на BIOS версии 4,55G и ниже (класс системных плат до i845P чипсета).

Способ 4 — Вспомним старину

Ещё один из методов сброса пароля заключается в использовании среды DOS. Для этого необходимо загрузиться в среду DOS (чистую DOS, а не эмулированную из-под Windows) и ввести такие команды:

* AWARD и AMI BIOS:
DEBUG
-O 70 17
-O 71 17
Q

* Phoenix BIOS:
DEBUG
-O 70 FF
-O 71 FF
Q

Приложение Б Функции DOS (INT 21h)

Приложение Б Функции DOS (INT 21h)

DOS, функция 00h

CS – сегмент PSP завершающегося процесса

Описание. Передает управление на вектор завершения в PSP (выходит в родительский процесс). Идентична функции INT 20h (Terminate). Регистр CS должен указывать на PSP. Восстанавливает векторы прерываний DOS 22h-24h (Завершение, Ctrl-Break и Критическая ошибка), устанавливая значения, сохраненные в родительском PSP. Выполняет сброс файловых буферов. Файлы должны быть предварительно закрыты, если их длина изменилась.

Данная функция не рекомендуется к использованию. Для выхода из программы лучше использовать функцию DOS 4Ch.

DOS, функция 01h Считать со стандартного устройства ввода

Выход: AL – символ, полученный из стандартного ввода

Описание. Считывает (ожидает) символ со стандартного входного устройства. Отображает этот символ на стандартное выходное устройство (эхо). При обнаружении Ctrl-Break выполняется INT 23h.

Илон Маск рекомендует:  Строчные элементы

Ввод расширенных клавиш ASCII (F1-F12, PgUp, курсор и другие) требует двух обращений к этой функции. Первый вызов возвращает AL=0. Второй вызов возвращает в AL расширенный код ASCII.

DOS, функция 02h Записать в стандартное устройство вывода

DL – символ, выводимый в стандартный вывод

Посылает символ из DL в стандартное устройство вывода. Обрабатывает символ Backspace (ASCII 8), перемещая курсор влево на одну позицию и оставляя его в новой позиции. При обнаружении Ctrl-Break выполняется INT 23h.

DOS, функция 03h Считать символа со стандартного вспомогательного устройства

Выход: AL – символ, введенный со стандартного вспомогательного устройства

Описание. Считывает (ожидает) символ со стандартного вспомогательного устройства, COM1 или AUX и возвращает этот символ в AL.

Ввод не буферизуется и должен опрашиваться (не управляется прерываниями). При запуске DOS порт AUX (COM1) инициализируется так: 2400 бод, без проверки на четность, 1 стоп-бит, 8-битные слова. Команда DOS MODE используется для установки иных характеристик.

DOS, функция 04h Записать символ в стандартное вспомогательное устройство

DL – символ, выводимый в стандартное вспомогательное устройство

Посылает символ, находящийся в регистре DL, на стандартное вспомогательное устройство, COM1 или AUX.

DOS, функция 05h Вывести на принтер

DL – символ, записываемый на стандартный принтер

Посылает символ в DL на стандартное устройство печати, обычно LPT1.

DOS, функция 06h Консольный ввод-вывод

DL=00h-FEh – символ, посылаемый на стандартный вывод

DL=FFh – запрос ввода со стандартного ввода

ZF=0, если осуществлялся ввод символа и символ готов при запросе ввода

AL – считанный символ

ZF=1, если осуществлялся ввод символа и символа в консоли нет

При DL=0FFh выполняет ввод с консоли «Без ожидания», возвращая включенный флаг нуля ZF, если на консоли нет готового символа. Если символ готов, сбрасывает флаг ZF и возвращает считанный символ в AL. Если DL не равен 0FFh, то DL направляется на стандартный вывод.

DOS, функция 07h Нефильтрующий консольный ввод без эха

Выход: AL – символ, полученный через стандартный ввод

Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. Не проверяет на Ctrl-Break, BackSpace и другие.

Для ввода расширенного символа ASCII должна быть вызвана дважды. Для проверки статуса используется функция DOS 0Bh (чтобы не ожидать нажатия клавиши).

DOS, функция 08h Консольный ввод без эха

Выход: AL – символ, полученный через стандартный ввод

Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. При обнаружении Ctrl-Break выполняется прерывание INT 23h.

Для ввода расширенного символа ASCII должна быть вызвана дважды.

DOS, функция 09h Запись строки на стандартный вывод

DS:DX – адрес строки, заканчивающейся символом «$» (ASCII 24h)

Строка, исключая завершающий ее символ «$», посылается на стандартный вывод. Символы Backspace обрабатываются как в функции 02h (вывод на дисплей). Чтобы перейти на новую строку, обычно включают в текст пару CR/LF (ASCII 0Dh и ASCII 0Ah). Строки, содержащие «$», можно передать на стандартное устройство вывода с помощью функции 40h (BX=0).

DOS, функция 0Ah Ввод строки в буфер

DS:DX – адрес входного буфера (Таблица Б-1)

Таблица Б-1. Формат входного буфера

Буфер содержит введенные данные, в конце – символ CR (ASCII 0Dh)

DOS, функция 0Bh Проверка статуса ввода

Выход: AL=FFh, если символ доступен со стандартного ввода AL=00h, если нет доступного символа

Описание. Проверяет состояние стандартного ввода. При распознавании Ctrl-Break выполняется INT 23h.

Используется перед функциями 01h, 07h и 08h, чтобы избежать ожидания нажатия клавиши.

Эта функция дает простой неразрушающий способ проверки Ctrl-Break в процессе длинных вычислений или другой обработки, обычно не требующей ввода. Это позволяет снимать счет по нажатию Ctrl-Break.

DOS, функция 0Ch Ввод с очисткой

AL – номер функции ввода DOS:

AL=01h – ввод с клавиатуры

AL=06h – ввод с консоли

AL=07h – нефильтрующий без эха

AL=08h – ввод без эха

AL=0Ah – буферизованный ввод

Очищает буфер опережающего ввода стандартного ввода, а затем вызывает функцию ввода, указанную в AL. Это заставляет систему ожидать ввод очередного символа.

DOS, функция 0Dh Сброс диска

Сбрасывает диск (записывает на диск все файловые буферы). Файл, размер которого изменился, должен быть предварительно закрыт (при помощи функций 10h или 3Eh).

DOS, функция 0Eh Установить текущий диск DOS

DL – номер диска (0 – A, 1 – B и так далее), который становится текущим

Выход: AL – общее число дисководов в системе

Описание. Диск, указанный в DL, становится текущим. Проверка: используется функция 19h (дать текущий диск). В регистре AL возвращается число дисководов всех типов, включая жесткие диски и «логические» диски (как диск B: системе с одним гибким диском).

AL имеет то же значение, что и LASTDRIVE, указанное в файле CONFIG.SYS, и по умолчанию равно 5.

DOS, функция 0Fh Открыть файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

Таблица Б-2. Формат FCB


AL=00h, если функция выполнена успешно (FCB заполнен)

AL=FFh, если файл не найден или доступ к файлу не разрешен

Файл, описываемый неоткрытым FCB, должен существовать в текущем оглавлении на диске, специфицированном в FCB (0 – текущий, 1 – A, 2 – B и так далее). Если файл не существует, возвращается AL=0FFh. Файл открывается в режиме совместимости. Если поле «Номер диска» в FCB равно нулю в момент вызова, то оно заполняется номером текущего дисковода (1 – A, 2 – B и так далее). Поле FCB «Номер текущего блока» устанавливается в ноль. Поле FCB «Размер логической записи» устанавливается в 80h. Поля даты и размера файла в FCB устанавливаются из оглавления.

DOS, функция 10h Закрыть файл через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если файл не найден там, где он находился при открытии с помощью функции 0Fh

Закрывает файл, открытый функцией 0Fh. Файл должен находиться на своем первоначальном месте в текущем оглавлении диска, на котором он был открыт. Если файл найден, оглавление обновляется, файловые буфера сбрасываются и возвращается AL=00h. Если файл не найден, оглавление не обновляется и возвращается AL=FFh.

DOS, функция 11h Найти первый совпадающий файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если подходящее имя найдено

AL=FFh, если подходящего имени нет

В текущем оглавлении DOS происходит поиск файлов с именем, соответствующим заданному шаблону. При неудаче возвращается AL=0FFh. Если имя найдено, AL очищается, в первый байт DTA помещается номер дисковода (A – 1, B – 2 и так далее), а в следующие 32 байта помещается элемент оглавления для найденного файла.

Можно использовать при вызове расширенный FCB, чтобы выбирать файлы с указанными атрибутами. В этом случае в DTA помещаются: байт FFh, 7 байт нулей, номер диска и элемент оглавления.

DOS, функция 12h Найти следующий совпадающий файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если подходящее имя найдено

DTA заполнен AL=FFh, если подходящего имени нет

Используется после вызова функции 11h (Найти первый совпадающий файл через FCB) с обобщенным именем файла. Каждый последующий вызов заполняет DTA очередным подходящим элементом оглавления и возвращает AL=00h. Если подходящих имен больше нет, возвращается AL=FFh.

Резервируемая область в FCB сохраняет информацию, необходимую для продолжения поиска. Поэтому не стоит открывать и изменять FCB между вызовами.

DOS, функция 13h Удалить файл через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если файл не найден или доступ к файлу не разрешен

Эта функция удаляет все подходящие файлы в текущем оглавлении указанного диска согласно спецификации в FCB. Если подходящие файлы не найдены или если доступ отвергнут (как при попытке удалить файл с атрибутом Read-Only), функция возвращает в регистре AL значение FFh.

DOS, функция 14h Последовательное чтение из файла через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если чтение было успешным и DTA содержит данные

AL=01h, если достигнут конец файла (EOF) и данные не считаны

AL=02h, если произошел выход за сегмент (чтения не было)

AL=03h, если EOF и считана усеченная запись (дополнена нулями)

Функция читает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.

Перед началом последовательной обработки файла нужно сбрасывать CurRec в ноль, так как функция 0Fh не инициализирует это поле.

DOS, функция 15h Последовательная запись в файл через FCB

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если запись была успешной

AL=01h, если ошибка переполнения диска (данные не записаны)

AL=02h, если произошел выход за сегмент (записи не было)

Функция записывает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.

Перед началом последовательной обработки файла нужно сбрасывать «Номер текщей записи» в ноль, так как функция 0Fh не инициализирует это поле.

DOS буферизует данные, записывая полный сектор за один раз.

DOS, функция 16h Создание файла через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно FCB заполнен

AL=FFh, если при выполнении функции возникли ошибки

Описание. Файл, специфицированный неоткрытым FCB, создается на диске, указанном в FCB (0 – текущий, 1 – A и так далее). Он открывается в текущем оглавлении этого диска. FCB заполняется аналогично функции 0Fh. Если файл существует в момент вызова, его элемент оглавления перекрывается новым файлом, а длина файла сбрасывается в ноль.

Handle-ориентированные функции DOS 2.0+ гораздо удобнее в работе.

DOS, функция 17h Переименовать файл через FCB

DS:DX – адрес измененного FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если при выполнении функции возникли ошибки

Переименовывает файл в текущем оглавлении.

DOS, функция 19h Получить текущий диск DOS

Выход: AL – номер текущего диска (0 – A, 1 – B, и так далее)

Возвращает номер дисковода текущего диска DOS.

DOS, функция 1Ah Установить адрес DTA

DS:DX – адрес DTA

Устанавливает адрес DTA. Все FCB-ориентированные операции работают с DTA. DOS не позволяет операциям ввода/вывода пересекать границу сегмента. Функции поиска 11h, 12h, 4Eh и 4Fh помещают данные в DTA. DTA глобальна, поэтому надо проявлять осторожность при назначении ее в рекурсивной процедуре. При запуске программы ее DTA устанавливается по смещению 80h относительно PSP.

DOS, функция 1Bh Получить информацию FAT для текущего диска

DS:BX – адрес байта FAT ID, отражающего тип диска (Таблица Б-3)

DX – всего кластеров (единиц распределения) на диске

AL – секторов на кластер

CX – байт на сектор

Таблица Б-3. Значения >

Возвращает информацию о размере и типе текущего диска. Размер диска (в байтах) равен DX*AL*CX. Свободную память можно найти функциями 36h или 32h.

Версии: DOS 1.x держит FAT в памяти и возвращает DS:BX => FAT. DOS 2.0+ может держать в памяти лишь часть всей FAT.

Эта функция изменяет содержимое регистра DS.

DOS, функция 1Ch Получить информацию FAT для указанного диска

DL – номер диска (0 – текущий, 1 – A и так далее)

DS:BX – адрес байта FAT ID, отражающего тип диска (приведен в описании функции 1Bh)

DX – всего кластеров (единиц распределения)

AL – секторов на кластер

CX – байт на сектор

Аналогична функции 1Bh с той разницей, что регистр DL указывает диск, для которого нужно получить информацию.

DOS, функция 21h Считать произвольную запись файла

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если чтение было успешным и DTA заполнена данными

AL=01h, если достигнут конец файла (EOF) и чтения не было

AL=02h, если произошел выход за сегмент (чтения нет)

AL=03h, если встречен EOF и усеченная запись дополнена нулями

Данная функция читает из файла с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».

DOS, функция 22h Писать произвольную запись файла

DS:DX – адрес открытого FCB (Таблица Б-2)

AL=00h, если запись была успешной

AL=01h, при переполнении диска


AL=02h, если DTA+FCB выходит за сегмент (нет записи)

Данная функция записывает в файл с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».

DOS, функция 23h Получить размер файла через FCB

DS:DX – адрес неоткрытого FCB (Таблица Б-2)

AL=00h, если функция выполнена успешно

AL=FFh, если при выполнении функции возникли ошибки

Проще определить размер файла при помощи функции 3Dh с последующим выполнением 42h (при AL=2).

DOS, функция 24h Установить адрес произвольной записи в файле

DS:DX – адрес открытого FCB (Таблица Б-2)

Устанавливает поле «Номер записи при непосредственном доступе к файлу» в FCB на файловый адрес, соответствующий значениям полей «Текущий блок» и «Запись с текущей позиции».

DOS, функция 25h Установить вектор прерывания

AL – номер прерывания

DS:DX – вектор прерывания – адрес программы обработки прерывания

Описание. Устанавливает значение элемента таблицы векторов прерываний для прерывания с номером AL, равным DS:DX. Это равносильно записи 4-байтового адреса в 0000:(AL*4), но, в отличие от прямой записи, DOS знает, что происходит, и гарантирует, что в момент записи прерывания будут заблокированы.

Восстановить DS (если необходимо) после этого вызова.

DOS, функция 26h Создать новый PSP

DX – адрес сегмента (параграфа) для нового PSP

CS – сегмент PSP, используемый как шаблон для нового PSP (Таблица Б-4)

Описание. Устанавливает PSP для порождаемого процесса по адресу DX:0000. Текущий PSP (100h байт, начиная с CS:0) копируется в DX:0000h, поле MemTop соответственно корректируется, векторы Terminate, Ctrl-Break и Critical Error копируются в PSP из векторов прерываний INT 22h, INT 23h и INT 24h. После этого можно загрузить программу с диска и передать ей управление посредством FAR JMP.

Если перехватывается INT 21h, нужно позаботиться о помещении в стек корректного CS: IP. Еще лучше использовать функцию 4Ch.

Таблица Б-4. Формат PSP

DOS, функция 27h Читать произвольный блок файла

DS:DX – адрес открытого FCB (Таблица Б-2)

CX – число считываемых записей

Выход: AL=00h, если чтение успешно и DTA заполнена данными AL=01h если достигнут конец файла (EOF) и данные не считаны AL=02h, если при чтении произошел выход за границу сегмента AL=03h, если EOF и считана усеченная порция (дополнена нулями) CX – действительное число считанных записей

Читает несколько записей из файла, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Помещает данные в память, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).

DOS, функция 28h Писать произвольный блок файла

DS:DX – адрес открытого FCB (Таблица Б-2)

CX – число записываемых блоков (если CX равен нулю, то размер файла усекается до указанного в поле FCB «Номер записи при непосредственном доступе к файлу»)

AL=00h, если запись успешна

AL=01h, при переполнении диска

AL=02h, если при записи произошел выход за границу сегмента

CX – действительное число сделанных записей

Описание. Записывает несколько блоков в файл, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Читает данные из памяти, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).

DOS, функция 29h Разобрать имя файла

DS:SI – адрес исходной текстовой строки для разбора

ES:DI – адрес буфера для результирующего неоткрытого FCB (Таблица Б-2)

AL – битовые флаги, указывающие опции разбора (Таблица Б-5).

AL=00h, если результирующий FCB не содержит обобщенных символов

AL=01h, если результирующий FCB содержит обобщенные символы

AL=FFh, если неверно обозначение диска в имени файла

DS:SI – изменен – указывает на символ сразу вслед за именем файла

ES:DI – не изменен – указывает на неоткрытый FCB

Создает неоткрытый FCB из строки текста или параметра команды. Текст, начиная с DS:SI, анализируется как имя файла в формате D: FILENAME.EXT, и буфер по адресу ES:DI заполняется как соответственно форматированный FCB.

Таблица Б-5. Битовые флаги

DOS, функция 2Ah Получить системную дату

AL – день недели (0 – воскресенье, 1 – понедельник, … 6 – суббота), DOS 3.0+

CX – год (от 1980 до 2099)

DH – месяц (1 до 12)

DL – день (1 до 31)

Описание. Возвращает текущую дату, которая известна системе.

DOS 2.x не гарантирует возврата в AL значения дня.

DOS 1.0+ возвращает правильный день недели.

Версии до 2.1 имеют проблемы с переходом через дату.

DOS, функция 2Bh Установить системную дату

CX – год (от 1980 до 2099)

DH – месяц (от 1 до 12)

DL – день (от 1 до 31)

AL=00h, если дата корректна

AL=FFh, если дата некорректна и не изменена

Устанавливает системную дату DOS.

DOS, функция 2Ch Получить время DOS

CH – часы (от 0 до 23)

CL – минуты (от 0 до 59)

DH – секунды (от 0 до 59)

DL – сотые доли секунды (от 0 до 99)

Описание. Возвращает текущее время, которое известно системе.

Поскольку системные часы имеют частоту 18.2 Гц (интервал 55мс), DL имеет точность примерно 0.04 сек.

DOS, функция 2Dh Установить время DOS

CH – часы (от 0 до 23)

CL – минуты (от 0 до 59)

DH – секунды (от 0 до 59)

DL – сотые доли секунды (от 0 до 99)

AL=00h, если время корректно

AL=FFh, если время некорректно и не изменено

Устанавливает системное время DOS.

DOS, функция 2Eh Установить/сбросить переключатель верификации

AL=00h – отключить верификацию

AL=01h – включить верификацию

Описание. Задает, должна ли DOS верифицировать (считывать обратно) каждый сектор, записываемый на диск. Это замедляет операции записи на диск, но гарантирует максимальную надежность записи.

DOS, функция 2Fh Получить адрес текущей DTA

Выход: ES:BX – адрес начала текущей DTA

Описание. Возвращает адрес начала области ввода-вывода (DTA). Поскольку DTA глобальна для всех процессов, в рекурсивной процедуре (например, при проходе по дереву оглавления) может потребоваться сохранить адрес DTA, а впоследствии восстановить его посредством функции 1Ah.

Примечание. Эта функция изменяет сегментный регистр ES.

Версии: DOS 2.00 и выше DOS, функция 30h Получить номер версии DOS


AL – старший номер версии

AH – младший номер версии

BL:CX – 24-битный серийный номер (большинство версий не поддерживают этот параметр)

Описание. Возвращает в AX значение текущего номера версии DOS. Например, для DOS 3.20 в AL возвращается 03h, в AH – 14h.

Примечание. Если в AL возвращается 00h, можно предполагать, что работает DOS более ранней версии, чем DOS 2.0.

Версии: DOS 2.00 и выше. DOS, функция 31h Завершиться и остаться резидентным

DX – объем памяти, оставляемой резидентной (в параграфах)

Описание. Выходит в родительский процесс, сохраняя код выхода в AL. Код выхода можно получить через функцию 4Dh. DOS устанавливает начальное распределение памяти, как специфицировано в DX, и возвращает управление родительскому процессу, оставляя указанную память резидентной (число байт равно DX*16). Эта функция перекрывает функцию INT 27h, которая не возвращает код выхода и не способна установить резидентную программу, размер которой превышает 64 Кбайт.

Помогите сбросить пароль на HDD на ноуте Dell

Вот такая сатана, как сказала женщина: -малец установил игру, поиграл и всё сломал)
Как сбросить пароль? Гугол великий сказал что б я ввел три раза не правильно и мне покажут мастер пароль но нет, такого не происходит, снятие батарейки тоже не помогло. Может кто танцевал с бубном и уже тёртый калач?

Найдены возможные дубликаты

думаю вызвали «мастера» он зарядил цену такую, что ппц, вы решили его кинуть, а он оставил сюрприз.

кто «сказали» ? как вас понять ? или я туплю?

ну это никак не означает что HHd полетел, его в таком виде можно формартнуть, и др.

пароль как я понимаю в БИОСе , и кто его туда поставил?

Осталось пытать кошку

Тут в любом случае замена диска. Как ни крути.

Просто у меня много винтов летело но такого не было

там ниже писали, что был случай самопроизвольного запароливания диска, когда он умирал.

нет! пароль есть пароль. проверить можно, если ему более 2-3 лет, либо есть претензии по работе

Как я понял мой мастер-пароль это service tag
и он у меня есть сейчас я напишу письмо в ТП и надеюсь на быстрый ответ а пока по совету товарища @n67552653456324 поступлю

Ввёл я этот St и получил пароли, сейчас проверю и отпишу

если он не заблокировал попытки с выдачей

то скорее всего винту хана наступает, деллы бывает так глючат,

а если выдаст — то сюда https://bios-pw.org

жмёшь f2 и no bootable device
f1 retry boot
f2 setup utility
f5 onboard diagnostic

а биос то попадаешь ? винт виден ?

завтра отпишу инструкцию, по пунктам )

hdd pass attemts failed 3 times, f1 to shut down f2 to continue

Видимо заблокировал ибо после 3 попыток выскакивает не код а сообщение

достань винт, включи ноут, сними пароли с биоса (если есть) потом снова пробуй

Пароль на HDD ставится прямо на диск, мне так пришлось WD2500 реанимировать, пол ночи рпосидел нашёл утилитку(не помню уже какую 3 года рпошло), но смог его вскрыть и слить данные, это оказалась какая-то аппаратная поломка и теперь он ужасно тупит, и SMART говорит что 177 бэд секторов. Но пароль сам поставился, позвали винду переставить и посмотреть чё тупит ноут, в биосе выставил загрузку с флешки, а после перезагрузки получил пароль на винт. И да пришлось его в комп втыкать. В ноуте не даёт нихера сделать.Да и в компе просто так не определяется в винде.

@GancharEuhenyBLR , время суток доброе. Таки распаролили? Ибо у меня максимально похожая проблема.

Dos fn 0dh: сброс диска

DOS INT 21h — DOS Function Codes

The follow abridged list of DOS interrupts has been extracted from a large list compiled by Ralf Brown. These are available on any Simtel mirror (e.g. sunsite.anu.edu.au) under the directory ms-dos/info/interNNp.zip

AH Description AH Description
01 Read character from STDIN 02 Write character to STDOUT
05 Write character to printer 06 Console Input/Output
07 Direct char read (STDIN), no echo 08 Char read from STDIN, no echo
09 Write string to STDOUT 0A Buffered input
0B Get STDIN status 0C Flush buffer for STDIN
0D Disk reset 0E Select default drive
19 Get current default drive 25 Set interrupt vector
2A Get system date 2B Set system date
2C Get system time 2D Set system time
2E Set verify flag 30 Get DOS version
35 Get Interrupt vector
36 Get free disk space 39 Create subdirectory
3A Remove subdirectory 3B Set working directory
3C Create file 3D Open file
3E Close file 3F Read file
40 Write file 41 Delete file
42 Seek file 43 Get/Set file attributes
47 Get current directory 4C Exit program
4D Get return code 54 Get verify flag
56 Rename file 57 Get/Set file date

AH = 01h — READ CHARACTER FROM STANDARD INPUT, WITH ECHO

Return: AL = character read

  • ^C/^Break are checked
  • ^P toggles the DOS-internal echo-to-printer flag
  • ^Z is not interpreted, thus not causing an EOF if input is redirected character is echoed to standard output

AH = 02h -WRITE CHARACTER TO STANDARD OUTPUT

Entry: DL = character to write

Return: AL = last character output

  • ^C/^Break are checked
  • the last character output will be the character in DL unless DL=09h on entry, in which case AL=20h as tabs are expanded to blanks
  • if standard output is redirected to a file, no error checks (write- protected, full media, etc.) are performed

AH = 05h — WRITE CHARACTER TO PRINTER

Entry: DL = character to print

  • keyboard checked for ^C/^Break
  • STDPRN is usually the first parallel port, but may be redirected under DOS 2+
  • if the printer is busy, this function will wait

SeeAlso: INT 17/AH=00h

AH = 06h — DIRECT CONSOLE OUTPUT

Entry: DL = character (except FFh)

Return: AL = character output

Notes: does not check ^C/^Break

AH = 06h — DIRECT CONSOLE INPUT

Entry: AH = 06h DL = FFh

  • ZF set if no character available and AL = 00h
  • ZF clear if character available AL = character read

  • ^C/^Break are NOT checked
  • if the returned character is 00h, the user pressed a key with an extended keycode, which will be returned by the next call of this function
  • although the return of AL=00h when no characters are available is not documented, some programs rely on this behavior

AH=07h — DIRECT CHARACTER INPUT, WITHOUT ECHO

Return: AL = character read from standard input

Notes: does not check ^C/^Break

AH = 08h — CHARACTER INPUT WITHOUT ECHO

Return: AL = character read from standard input

Notes: ^C/^Break are checked

AH = 09h — WRITE STRING TO STANDARD OUTPUT

Entry: DS:DX -> ‘$’-terminated string

Notes: ^C/^Break are checked

AH = 0Ah — BUFFERED INPUT

Return: buffer filled with user input

  • ^C/^Break are checked
  • reads from standard input

Format of DOS input buffer:

Offset Size Description
00 1 maximum characters buffer can hold
01 1 number of chars from last input which may be recalled OR number of characters actually read, excluding CR
02 n actual characters read, including the final carriage return

AH=0Bh — GET STDIN STATUS

  • AL = 00h if no character available
  • AL = FFh if character is available

Notes: ^C/^Break are checked

AH = 0Ch — FLUSH BUFFER AND READ STANDARD INPUT

  • AL = STDIN input function to execute after flushing buffer
  • other registers as appropriate for the input function

Return: as appropriate for the specified input function

Note: if AL is not one of 01h,06h,07h,08h, or 0Ah, the buffer is flushed but no input is attempted


AH = 0Dh — DISK RESET

Notes: This function writes all modified disk buffers to disk, but does not update the directory information

AH = 0Eh — SELECT DEFAULT DRIVE

Entry: DL = new default drive (0=A:, 1=B:, etc)

Return: AL = number of potentially valid drive letters

Notes: the return value is the highest drive present

AH = 19h — GET CURRENT DEFAULT DRIVE

Return: AL = drive (0=A:, 1=B:, etc)

AH = 25h — SET INTERRUPT VECTOR

  • AL = interrupt number
  • DS:DX -> new interrupt handler

Notes: this function is preferred over direct modification of the interrupt vector table

AH = 2Ah — GET SYSTEM DATE

Return: CX = year (1980-2099) DH = month DL = day AL = day of week (00h=Sunday)

AH = 2Bh — SET SYSTEM DATE

Entry: CX = year (1980-2099) DH = month DL = day

  • AL = 00 successful
  • FFh invalid date, system date unchanged

Note: DOS 3.3+ also sets CMOS clock

AH = 2Ch — GET SYSTEM TIME

Return: CH = hour CL = minute DH = second DL = 1/100 seconds

Note: on most systems, the resolution of the system clock is about 5/100sec, so returned times generally do not increment by 1 on some systems, DL may always return 00h

AH = 2Dh — SET SYSTEM TIME

Entry: CH = hour CL = minute DH = second DL = 1/100 seconds

  • AL = 00h successful
  • FFh if invalid time, system time unchanged

Note: DOS 3.3+ also sets CMOS clock

AH = 2Eh — SET VERIFY FLAG

Entry: AL = new state of verify flag (00 off, 01h o)

  • default state at system boot is OFF
  • when ON, all disk writes are verified provided the device driver supports read-after-write verification

AH=30h — GET DOS VERSION

Entry: AL = what to return in BH (00h OEM number, 01h version flag)

Entry: AL = interrupt number

Return: ES:BX -> current interrupt handler

AH = 36h — GET FREE DISK SPACE

Entry: DL = drive number (0=default, 1=A:, etc)


    AX = FFFFh if inval >Notes:

  • free space on drive in bytes is AX * BX * CX
  • total space on drive in bytes is AX * CX * DX
  • «lost clusters» are cons instead

AH = 39h — «MKDIR» — CREATE SUBDIRECTORY

Entry: DS:DX -> ASCIZ pathname

  • CF clear if successful AX destroyed
  • CF set on error AX = error code (03h,05h)

  • all directories in the given path except the last must exist
  • fails if the parent directory is the root and is full
  • DOS 2.x-3.3 allow the creation of a directory sufficiently deep that it is not possible to make that directory the current directory because the path would exceed 64 characters

AH = 3Ah — «RMDIR» — REMOVE SUBDIRECTORY

Entry: DS:DX -> ASCIZ pathname of directory to be removed

  • CF clear if successful, AX destroyed
  • CF set on error AX = error code (03h,05h,06h,10h)

Notes: directory must be empty (contain only ‘.’ and ‘..’ entries)

AH = 3Bh — «CHDIR» — SET CURRENT DIRECTORY

Entry: DS:DX -> ASCIZ pathname to become current directory (max 64 bytes)

  • CF clear if successful, AX destroyed
  • CF set on error AX = error code (03h)

Notes: if new directory name includes a drive letter, the default drive is not changed, only the current directory on that drive

SeeAlso: AH=47h,AH=71h,INT 2F/AX=1105h

AH = 3Ch — «CREAT» — CREATE OR TRUNCATE FILE

  • CF clear if successful, AX = file handle
  • CF set on error AX = error code (03h,04h,05h)

Notes: if a file with the given name exists, it is truncated to zero length

AH = 3Dh — «OPEN» — OPEN EXISTING FILE

  • AL = access and sharing modes
  • DS:DX -> ASCIZ filename

  • CF clear if successful, AX = file handle
  • CF set on error AX = error code (01h,02h,03h,04h,05h,0Ch,56h)

  • file pointer is set to start of file
  • file handles which are inherited from a parent also inherit sharing and access restrictions
  • files may be opened even if given the hidden or system attributes

AH = 3Eh — «CLOSE» — CLOSE FILE

Entry: BX = file handle

  • CF clear if successful, AX destroyed
  • CF set on error, AX = error code (06h)

Note: if the file was written to, any pending disk writes are performed, the time and date stamps are set to the current time, and the directory entry is updated

AH = 3Fh — «READ» — READ FROM FILE OR DEVICE

  • BX = file handle
  • CX = number of bytes to read
  • DS:DX -> buffer for data

  • CF clear if successful — AX = number of bytes actually read (0 if at EOF before call)
  • CF set on error AX = error code (05h,06h)

  • data is read beginning at current file position, and the file position is updated after a successful read
  • the returned AX may be smaller than the request in CX if a partial read occurred
  • if reading from CON, read stops at first CR

AH=40h — «WRITE» — WRITE TO FILE OR DEVICE

  • BX = file handle
  • CX = number of bytes to write
  • DS:DX -> data to write

  • CF clear if successful -AX = number of bytes actually written
  • CF set on error — AX = error code (05h,06h)


  • DS:DX -> ASCIZ filename (no wildcards, but see notes)
  • CL = attribute mask for deletion (server call only, see notes)

  • CF clear if successful, AX destroyed (DOS 3.3) AL seems to be drive of deleted file
  • CF set on error AX = error code (02h,03h,05h)

  • (DOS 3.1+) wildcards are allowed if invoked via AX=5D00h, in which case the filespec must be canonical (as returned by AH=60h), and only files matching the attribute mask in CL are deleted
  • DOS does not erase the file’s data; it merely becomes inaccessible because the FAT chain for the file is cleared
  • deleting a file which is currently open may lead to filesystem corruption.

AH=42h — «LSEEK» — SET CURRENT FILE POSITION

  • AL = origin of move 00h start of file 01h current file position 02h end of file
  • BX = file handle
  • CX:DX = offset from origin of new file position

  • CF clear if successful, DX:AX = new file position in bytes from start of file
  • CF set on error, AX = error code (01h,06h)

  • for origins 01h and 02h, the pointer may be positioned before the start of the file; no error is returned in that case, but subsequent attempts at I/O will produce errors
  • if the new position is beyond the current end of file, the file will be extended by the next write (see AH=40h)

AH=43 — GET FILE ATTRIBUTES

  • CF clear if successful CX = file attributes
  • CF set on error, AX = error code (01h,02h,03h,05h)

BUG: Windows for Workgroups returns error code 05h (access denied) instead of error code 02h (file not found) when attempting to get the attributes of a nonexistent file.

AH=43 — «CHMOD» — SET FILE ATTRIBUTES

  • CF clear if successful, AX destroyed
  • CF set on error, AX = error code (01h,02h,03h,05h)

  • will not change volume label or directory attribute bits, but will change the other attribute bits of a directory
  • MS-DOS 4.01 reportedly closes the file if it is currently open

SeeAlso: AX=4300h,AX=4311h,AX=7143h,INT 2F/AX=110Eh

Bitfields for file attributes:

Bits 7 6 5 4 3 2 1
Description shareable archive directory vol. label system hidden read-only

AH = 47h — «CWD» — GET CURRENT DIRECTORY

  • DL = drive number (00h = default, 01h = A:, etc)
  • DS:SI -> 64-byte buffer for ASCIZ pathname

  • CF clear if successful
  • CF set on error, AX = error code (0Fh)

  • the returned path does not include a drive or the initial backslash
  • many Microsoft products for Windows rely on AX being 0100h on success

AH = 4Ch — «EXIT» — TERMINATE WITH RETURN CODE

Entry: AL = return code

Return: never returns

Notes: unless the process is its own parent, all open files are closed and all memory belonging to the process is freed

AH = 4Dh — GET RETURN CODE (ERRORLEVEL)


    AH = termination type (00=normal, 01h control-C abort, 02h=critical error abort, 03h terminate and stay res >Notes:

  • the word in which DOS stores the return code is cleared after being read by this function, so the return code can only be retrieved once
  • COMMAND.COM stores the return code of the last external command it executed as ERRORLEVEL

AH = 54h — GET VERIFY FLAG

Return: AL = verify flag (00h=off, 01h=on, i.e. all disk writes verified after writing)

AH = 56h — «RENAME» — RENAME FILE

  • DS:DX -> ASCIZ filename of existing file (no wildcards, but see below)
  • ES:DI -> ASCIZ new filename (no wildcards)
  • CL = attribute mask (server call only, see below)

  • CF clear if successful
  • CF set on error, AX= error code (02h,03h,05h,11h)

  • allows move between directories on same logical volume
  • this function does not set the archive attribute
  • open files should not be renamed
  • (DOS 3.0+) allows renaming of directories

AH = 57h — GET FILE’S LAST-WRITTEN DATE AND TIME

  • AL = 00h (Get attribute)
  • BX = file handle

  • CF clear if successful, CX = file’s time DX = file’s date
  • CF set on error, AX = error code (01h,06h)

Bitfields for file time:

Bits 15-11 10-5 4-0
Description hours minutes seconds

Bitfields for file date:

Bits 15-9 8-5 4-0
Description year (1980-) month day

AH = 57h — SET FILE’S LAST-WRITTEN DATE AND TIME

  • CF clear if successful
  • CF set on error AX = error code (01h,06h)

Whatis.Ru

Информация о компьютерах доступным языком
Назад на сайт

Страниц: 1 2

#26 18-01-2011 19:35:39

Re: . Введение в Ассемблер

Программа DEBUG

Программируем под DOS на ассемблере, используя виндовый DEBUG.

Программа DEBUG — мощный отладчик, входящий в состав Windows. Для запуска — жмём [Win+R] и вводим DEBUG. Перед нами мигающий курсор. Введём знак вопроса ? и получим список команд:

— A (assemble) — Создание двоичного кода процессоров 8086 непосредственно в памяти.
— С (compare) — Сравнение двух блоков памяти.
— D (dump) — Просмотр содержимого заданного диапазона адресов памяти.
— E (enter) — Ввод данных в память по заданному адресу.
— F (fill) — Заполнение адресов в области памяти заданными значениями.
— G (go) — Выполнение загруженной программы.
— H (hexadecimal) — Выполнение шестнадцатеричных арифметических операций.
— I (input) — Считывание и вывод на экран одного байта из указанного порта ввода.
— L (load) — Загрузка файла или содержимого сектора диска в память.
— M (move) — Копирование содержимого одного блока памяти в другой.
— N (name) — Задание имени исполняемого файла, L (load) или W (write).
— O (output) — Вывод байта в порт вывода.
— P (proceed) — Выполнение цикла, инструкции, прерывания или процедур.
— Q (quit) — Выход из Debug, без сохранения тестируемого файла.
— R (register) — Редактирование содержимого регистров ЦПУ.
— S (search) — Поиск в области памяти по шаблону.
— T (trace) — Выполнение одной инструкции с выводом содержимого регистров.
— U (unassemble) — Дезассемблирование и просмотр исходного кода программы.
— W (write) — Запись файла на диск.

Подробное описание команд с примерами можно найти в справке винды ([Win+F1]debug).

Теперь, запустим DEBUG и просмотрим, что у нас в регистрах. Вводим команду «R». Как видим, значение всех регистров процессора равняется нулю:

AX, BX, CX, DX = 0000

Мы можем вносить требуемые значения в регистры.

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#27 18-01-2011 19:39:28

Re: . Введение в Ассемблер

Пишем прогу на ассемблере.

Как уже говорилось, ассемблер — это самый низкий уровень программирования, который понимает проц. Теперь проведём эксперемент, чтоб убедиться в этом:

1) Создадим *.сом в программе DEBUG
2) Дизассемблируем его, при помощи того-же DEBUG
3) Полученные 16-тиричные значения и есть инструкции, которые выполняет процессор

Итак, начнём с создания *.сом, который выведет символ на экран. Запустим DEBUG и введём команду «А». Дальше, «топчем клаву» как на рисунке:

Чтоб вывести символ на экран, в регистр AH помещается 02H, а в DL — код выводимого символа, плюс 30H. Далее вызываем прерывание-DOS INT 21H (вывод на экран), и закрываем программу дёрнув прерывание INT 20H (exit). Всё, что находится после INT 20H игнорируется процессором.

В листинге дизассемблирования указывается сегмент памяти, в который была загружена наша программа (13F2) и смещение внутри сегмента 100H, обязательное для СОМ-файлов. Необходимо помнить, что прикладные программы загружаются в первую-свободную область памяти, поэтому у Вас значение 13F2 может быть другим, в зависимости от свободной памяти.

Следующим столбцом в дизассемблерном листинге идут 16-тиричные значения (выделены серым), которые представляют собой непосредственные инструкции процессору. Ниже — уже ничего нет, ..только ядро. Вообще-то есть ещё интерператор 16-тиричных чисел в двоичные, но он невсчёт. В конечном виде наша программа TEST_PROGA.COM обрабатывается процессором в таком вот виде:

Но вернёмся в реальность. Чтоже дают нам эти опыты. . а то, что программы написанные на ассемблере имеют наименьший размер, по сравнению с другими языками программирования. В качестве примера возьмём программу (окно с одной кнопкой в центре) написанную на языках высокого уровня. После компиляции получим такие размеры файла:


C++ Builder 4 — 22kb
Delphi 5 — 291kb
Delphi 5 + библиотека KOL — 26kb
Ассемблер MASM — около 3kb

Так, что смотрите и делайте выводы, что лучше использовать. Программу таких размеров можно легко внедрить в свободное пространство любого исполняемого файла. э-э-э чтот меня не туда занесло

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#28 19-01-2011 01:37:15

Re: . Введение в Ассемблер

..а вон чё WinHex показывает:

Да такой код можно хоть-куда пихнуть, ..к примеру в заголовок EXE-файла. Там столько свободного пространства, что можно слона разместить. 200-300h байт всегда найдётся. ..а нам больше и не надо, вешеприведённая TEST_PROGA.COM весит всего 17 байт (17 символов в исходнике). 300h — это уже 768 символов, ..целый материк, свобода мысли.

Достаточно перехватить управление в коде, перевести его на себя и замутить чё-нить. Объясню «в двух словах»: как это делается! ..Пишется прога на асме (желаемого характера), которая привычным движением руки вставляется в WinHex — в начало, середину, или «конец» EXE-файла жертвы. Желательно, конечно, в начало. после «PE»-заговка. Самый оптимальный вариант — после перечисления DLL-лок (инклудов). Там как-раз достаточно места, и быстрее примем управление. Фрагмент внедрения в CHKDSK.EXE нашей «Бацилы»:

Если Вы запустите такой инфицированный CHKDSK.EXE, то сначала отработает наш код, а только потом запустится сам chkdsk. . но не всё так просто. Там есть своя «Техника внедрения». Дизассемблируется chkdsk.exe, и в листинге ищется команда JMP (переход на метку). Перехватываем этот JMP и после исполнения основного кода «бацилы» передаём управление обратно на эту метку, командой RET ассемблера в коде нашей программы.

В качестве бонуса, вешаю в скрепке пару примеров программ на ассемблере.

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#29 19-01-2011 12:49:58

Re: . Введение в Ассемблер

Что нужно знать о прерываниях

Как уже отмечалось, прерывания бывают двух типов — DOS и BIOS. Но что они из себя представляют. Попробуем ответить на этот вопрос.

Прерывания — это вовсе не прерывания, а готовые программы (процедуры), которые компьютер вызывает для выполнения определенной задачи. Внутри этих «программ-прерываний» имеются вложенные подпрограммы, каждая из которых выполняет определённую задачу. Эти подпрограммы вызываются векторами прерываний!

Программа-прерывание вызывается по номеру (к примеру INT 13H, дисковый ввод/вывод BIOS), где в качестве «параметра» заносится её вектор, т.е. подпрограмма. Например, для вывода информации на экран, нам нужно воспользоваться сервисом-DOS и запросить прерывание с номером INT 21H. Подпрограмму 02H необходимо указать в регистре AH:

При включении компьютера, BIOS выстраивает таблицу векторов прерывания в первых 1024 байтах памяти. Этот килобайт памяти начинается с адреса 0000:0000 и заканчивается 0000:0400 (1024d = 0400h). Откроем в WinHex память, и взглянем на эту таблицу:

Каждый вектор имеет длину 4 байта. Вектор для прерывания 0 начинается с ячейки 0000:0000, прерывания 1 — с 0000:0004, 2 — с 0000:0008, 3 — с 0000:000C и т.д.

Если посмотреть на четыре байта, начиная с адреса 0000:0020, в которых содержится вектор прерывания 8H (прерывание времени суток), то Вы обнаружите там A5FE00F0. Имея ввиду, что младший байт слова расположен сначала, это 4-байтное значение переводится в F000:FEA5. Это стартовый адрес программы ПЗУ, выполняющей прерывание 8H.

Если размер таблицы 1024 байт, а один вектор имеет длинну 4 байта, то выходит чтобы найти общее кол-во векторов нужно 1024/4. . получаем 256. Таким образом, в общем пространстве имеется место для 256 векторов (подпрограмм), которые «разбиваются» по всем номерам прерываний BIOS и DOS. В каждом прерывании может находиться до 20 подпрограмм.

Прерывания с номерами до INT 20H обслуживает BIOS. Номера прерываний DOS лежат в пределах от 20 до 32H:

Прерывания BIOS (без подфункций) Прерывания DOS (без подфункций)

00h: Деление на ноль. 20h: Завершить программу
01h: Пошаговое. 21h: Сервис DOS
02h: Немаскируемое. 25/26h: Абсолютные чтение/запись диска
03h: Точка прерыв. 27h: Завершиться, но остаться резидентным
04h: Переполнение. 28h: Квант времени DOS (НЕТ В ДОКУМЕНТАЦИИ)
05h: Печать экрана. 2eh: Выполнить команду DOS (НЕТ В ДОКУМЕНТАЦИИ)
06h: (резерв) 2fh: Мультиплексное прерывание (спулинг печати)
07h: (резерв) 22h: Адрес завершения
08h: Таймер. 23h: Адрес Control-Break
09h: Клавиатура. 24h: Адрес обработчика критических ошибок
0Ah-0dh: (hdwr ints)
0Eh: Дискета.
0Fh: (hdwr int)
10h: Видео сервис.
11h: Список оборудования.
12h: Размер исп.памяти.
13h: Дисковый в/в.
14h: В/в последовательный порт
15h: Расшир.сервис AT.
16h: В/в клавиатуры.
17h: В/в принтера.
18h: ROM-BASIC.
19h: Загрузка.
1Ah: В/в таймера.
1Bh: Прерывание клавиатуры.
1Ch: Прерывание по таймеру
1Dh: Видео параметры
1Eh: Параметры дискет
1Fh: Символы графики

Приведу краткое описание прерывания-BIOS INT 13H:

INT 13H: дисковый ввод-вывод
Этот сервис предоставляет прямой доступ к адаптерам дискеты и жёсткого диска. Рекомендуется там, где это возможно, использовать INT 25H и INT 26H, чтобы предоставить драйверам устройств-DOS выполнять всю низкоуровневую обработку. Разумеется, для таких операций, как форматирование диска или установка защиты от копирования, прерывание INT 13H может оказаться единственной альтернативой.

подфункции: 00H сброс контроллера 08H дать парам диска 10H проверить готовность
01H дать статус 09H иниц табл парам 11H рекалибрация
02H читать секторы 0aH длинное чтение 14H диагностика
03H писать секторы 0bH длинная запись 15H дать тип диска
04H верификация 0cH искать цилиндр 16H изменить статус
05H форматир дорожку 0dH альтерн сброс 17H уст тип диска

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#30 20-01-2011 13:39:20

Re: . Введение в Ассемблер

Использование сервисов DOS. Прерывание INT 21H.

После загрузки MS-DOS в память, операционная система предоставляет нам свои услуги, в виде прерывания INT 21H (сервисы DOS). Используя это прерывание в своих программах мы можем выполнять около 80-ти операций. Не буду перечислять все функции этого прерывания, остановлюсь только на наиболее значимых:

00H: завершить программу 27H: читать блок произвольного файла
01H: ввод с клавиатуры 28H: писать блок произвольного файла
02H: вывод на дисплей 2aH: дать дату DOS
05H: вывод на принтер 2cH: дать время DOS
09H: Выдать строку 2fH: дать текущий DTA
0dH: Сбросить диск 30H: дать номер версии DOS
0eH: Выбрать умалчиваемый диск DOS 31H: завершиться и остаться резидентным — KEEP
0fH: открыть файл через FCB 32H: дать дисковую информацию DOS
10H: Закрыть файл через FCB 35H: дать вектор прерывания
13H: Удалить файл через FCB 36H: дать свободную память диска
14H: читать файл через FCB 39H: создать новое оглавление — MKDIR
15H: писать файл через FCB 40H: Писать в файл через описатель
16H: создать файл через FCB 48H: дать размер памяти
17H: Переименовать файл через FCB 56H: Переименовать/переместить файл
25H: установить вектор прерывания 5bH: создать новый файл

Функция 09H прерывания INT 21H (вывод строки символов на экран).

Процедуры, которые выводят целые строки символов на экран — очень полезны, но они могут накладывать ограничения на содержимое выводимой строки. Надо обращать внимание на то, какие управляющие коды (табуляция, пробел и т.п.) интерпретируются, а какие нет.

Как уже говорилось, при вызове прерывания необходимо указать значение функции в регистре AH (в нашем случае — 09H). Далее, вводятся инструкции и вызывается само прерывание. Регистр DX должен указывать на первый символ строки (т.е. расположение текстовой строки). В конце строки обязательно должен присутствовать символ «$». Это означает, что сам символ «$» не может входить в строку. Сама строка может быть любой длины.

Чтоб перевести текст на следующую строку, в конце указываются спец-символы 0AH (перевод строки), и 0DH (возврат каретки). Без них — текст будет располагаться в одну строчку.

. пришло время скачать инструментарий, чтоб проводить эксперементы. Программы, целиком написанные на ассемблере, транслируются в машинный код при помощи ассемблера. Под DOS-ом большой популярностью пользуется пакет TASM, для винды — MASM от Microsoft. С ним конкурирует FASM, поддерживающий более естественный синтаксис. Его и качаем с сайта WASM.RU. Он отличается от предшественников тем, что это и транслятор и компилятор в одном флаконе. Вводиш в окне инструкции, жмёш F9 и на выходе получаеш готовый исполняемый файл! Очень удобно. особенно для начинающих!

. значит скачали FASM 1.67, и в поле набиваем текстовые строки нашей программы. Вот пример:

Программа, приветствующая WHATIS из досовского окна.

use16 ; DOS работает в 16-тиразрядном режиме
org 100h ; Делаем СОМ-файл с начальным смещением 100h

mov AH,09h ; Суём в регистр AH функцию 09h прерывания 21h
mov dx,text ; В регистре DX указываем от куда брать строку
int 21h ; Вызываем прерывание 21h
ret ; Возвращаемся туда, от куда были вызваны

; Текстовая строка (адрес для регистра DX)
text db ‘Hello, WHATIS. $’

. если нужно вывести несколько строк, то можно сделать так:

. на выходе — СОМ-файл размером 63 байт. Таким способом можно выводить текстовые строки из памяти, которые содержат информацию об оборудовании, объёме свободной памяти и т.д. и т.п.

Программа составляется из нескольких-подобных участков кода, которые выполняют определённые задачи. На каждый участок кода ставится индивидуальная метка, к которой можно обратиться с любого места программного кода. Эти участки объединяются в модули, а несколько модулей образуют законченный софт, . в чём мы убедимся позже.

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#31 21-01-2011 12:22:44

Re: . Введение в Ассемблер

Определение Стека

Стек — это такое место хранения данных, которые при надобности можно обратно восстановить. В нём хранятся адреса переходов, различные данные и т.д. Регистр SP указывает на адрес вершины стека. Регистр ВР содержит адрес, начиная с которого в стек вносится или забирается информация.

Представьте, что одна подпрограмма вызывает другую. Вызываемая подпрограмма завершила свое выполнение, теперь ей надо передать управление подпрограмме, которая её вызвала. Как-раз адрес следующей команды (после вызова подпрограммы) находится на верхушке стека, в регистре SP.

Стек — как штанга с блинами: засунули адрес, засунули второй, засунули третий, и достают адреса в порядке обратном засовыванию, ..сначала третий, второй, первый. Следовательно, подпрограмма, может вызвать ещё одну подпрограмму, а она в свою очередь ещё одну и так, сколько хошь, всё ограничивается только размером стека.

Таким образом, программа продолжит выполнение инструкций только после того, как отработают ПОДпрограммы, принявшие управление:

В стек можно заносить не только адреса, но и данные, текстовые строки и т.п. Команда ассемблера PUSH помещает данные в стек, а команда POP снимает их от туда. При использовании стека наша программа «Hello, Whatis. » примет следующий вид:

Здесь, мы закинули в стек вторую строчку текста, вывели на экран первую, а потом извлекли из стека вторую. Дело в том, что регистр не может хранить сразу два разных значения, поэтому перед тем как внести в него, нужно сохранить имеющееся, дабы не потерять всё.

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

#32 24-01-2011 12:34:02

Re: . Введение в Ассемблер

Память 16-тиразрядных систем (DOS).

Самое главное преимущество ассемблера состоит во взаимодействии с памятью. Программировать на ассемблере не зная, как устроена память — бессмысленно.

В DOS — память сегментная. Вся память делится на сегменты по 64К, и адрес задаётся форматом «сегмент:офсет». Сегмент — задаёт порядковый номер сегмента, а офсет — смещение в этом сегменте. Это объяснение для 16-тиразрядных программ (32-хразрядные обсудим позже).

На рис. общая память, разделённая на сегменты по 64kb. Здесь — максимум 65536 сегментов:

;; 16 двоичных разрядов — это 1111 1111 1111 1111, или 65535d (FFFFh).
;; 65535 * 64Кб = 4 194 240Кб (или 4096Мб, или 4Гб памяти).

С помощью 16 бит можно адресовать только 65536 байт памяти и 65536 сегментов. Например, 0000:4012 это означает: сегмент 0, смещение 4012. Чтобы узнать, что находится в том адресе, вы сначала переходите на сегмент 0, а затем в сегменте смещаетесь на 4012.

Память 32-хразрядных систем (WIN-32).

В 32-хразрядном Windows (95 и выше) Вы всё еще имеете сегменты, но вам не нужно заботиться о них, потому, что они уже не 64kb (как в 16-разрядном), а 4 Гб. Это называеся плоской моделью памяти (flat). Здесь есть только смещения и они теперь 32-разрядные (в диапазоне от 0 до 4 294 967 295). Каждая ячейка в памяти указывается смещением.

Но 4ГБ может и не быть на машине, поэтому эта память называется виртуальной. Мало того, каждый процесс выполняется в своём виртуальном адресном пространстве, . а это значит, что никакой другой процесс не сможет получить доступ к вашей памяти. Для этого существуют специальные API функции.

Память 0-0000FFFF не используется и служит для выявления нулевых указателей, значит, если вы укажете адрес 0000С567, то он будет считаться нулевым. Любая попытка обратится к этой памяти приводит к ошибке. Память выше 80000000 одна для всех процессов. В этой памяти находится код нулевого кольца, структуры ядра, код планировщика задач, код драйверов, диспетчер ввода вывода, таблица прерываний и т.д. Любая попытка обратиться к памяти ядра приводит к ошибке и к немедленному завершению приложения.

Память в диапазоне 00001000-7FFFFFFF доступна для 3 кольца (т.е. для вашего приложения). С ней Вы, что хотите то и делаете, в неё также грузятся DLL-ки.

Если Вам даётся 2ГБ памяти, то это не означает, что вы можете обратиться к любому участку памяти. Для того чтобы получить доступ к некоторому участку памяти надо сначала её зарезервировать. Минимальный размер выделяемой памяти — страница, равна 1000h байтам (1000h байт = 4096d байт, или 4КБ). Даже если вы захотите выделить 5 байт, то всё равно выделится 4КБ. Думаю, вы не столкнётесь с тем, что вам надо будет выделять память. Это нужно при работе с файлами для того, что бы в эту память читать файл.

Болтовня ничего не стоит. Покажите мне код.. (Linus Torvalds)

Как исправить полезные команды восстановления DOS

Нажмите «Scan» кнопка
Нажмите ‘Исправь все‘ и вы сделали!

Совместимость : Windows 10, 8.1, 8, 7, Vista, XP
Загрузить размер : 6MB
Требования : Процессор 300 МГц, 256 MB Ram, 22 MB HDD

Ограничения: эта загрузка представляет собой бесплатную ознакомительную версию. Полный ремонт, начиная с $ 19.95.

Полезные команды восстановления DOS обычно вызвано неверно настроенными системными настройками или нерегулярными записями в реестре Windows. Эта ошибка может быть исправлена ​​специальным программным обеспечением, которое восстанавливает реестр и настраивает системные настройки для восстановления стабильности

This article contains information that shows you how to fix Useful DOS restoration commands both (manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to Useful DOS restoration commands that you may receive.

Примечание: Эта статья была обновлено на 2020-11-06 и ранее опубликованный под WIKI_Q210794

Contents [show]

Значение полезных команд восстановления DOS?

Полезные команды восстановления DOS — это имя ошибки, содержащее сведения об ошибке, включая причины ее возникновения, неисправность системного компонента или приложения для возникновения этой ошибки вместе с некоторой другой информацией. Численный код в имени ошибки содержит данные, которые могут быть расшифрованы производителем неисправного компонента или приложения. Ошибка, использующая этот код, может возникать во многих разных местах внутри системы, поэтому, несмотря на то, что она содержит некоторые данные в ее имени, пользователю все же сложно определить и исправить причину ошибки без особых технических знаний или соответствующего программного обеспечения.


Причины полезных команд восстановления DOS?

Если вы получили эту ошибку на своем ПК, это означает, что произошла сбой в работе вашей системы. Общие причины включают неправильную или неудачную установку или удаление программного обеспечения, которое может привести к недействительным записям в вашем реестре Windows, последствиям атаки вирусов или вредоносных программ, неправильному отключению системы из-за сбоя питания или другого фактора, кто-то с небольшими техническими знаниями, случайно удалив необходимый системный файл или запись в реестре, а также ряд других причин. Непосредственной причиной ошибки «Полезные команды восстановления DOS» является неспособность правильно выполнить одну из своих обычных операций системным или прикладным компонентом.

More info on Useful DOS restoration commands

Поврежденный MBR через загрузочный диск MS: fdisk / mbr (работает с Win 98SE) Спасибо. Формат c: Как я могу узнать, являются ли определенные файлы / команды командами Windows Legitimate и т. Д.?

Есть ли какое-то место, где я могу использовать Microsoft Out of Bounds. У меня есть ZoneAlarm Загрузки)
Скобки — это места, где файлы соответствуют Zone Alarm. Примеры: xpsplhtm.exe; OOBE \ msoobe.exe; net.exe (System 32); самораспаковывающиеся шкафы (Справка по распространению программного обеспечения! Ничто не было Home Edition со всеми обновлениями.

Пожалуйста, бесплатно и McAffee AntiVirus. У меня есть Zone Alarm, и у него есть программы на нем, чтобы узнать, являются ли файлы Windows / команды законными? У меня Windows XP пытается получить доступ к Интернету, который я не узнаю. Другой был обнаружен.

Кто-нибудь знает сайт, который содержит список эквивалентных команд в Photoshop и Fireworks? другие версии

В Fireworks-
Перейдите в меню «Правка»> «Горячие клавиши» . Верхнее диалоговое окно «Текущий набор»
Выпадающее меню должно предлагать опцию список эквивалентных команд в Photoshop и Fireworks? Aaaaargh!

Кто-нибудь знает веб-сайт, который содержит сброс стандартных ярлыков Macromedia для ярлыков Photoshop

Стоит попробовать в любом случае .

Я использую Fireworks 8 — должен быть похож на расширение . Aaaaargh! Click восстановление CD

что делают многие производители ПК. Надеюсь, что эта установка просто возьмет изображение всего жесткого диска. Если вы сделаете доступную функцию автозапуска, я считаю, что это помогает.

Альтернативно использование чего-то, такого как Driveimage, может помочь, выполните очистку, а затем просто ссылку на пакетный файл. Нужна помощь в восстановлении

Нажмите F1 для продолжения «

Ну, я не использовал компакт-диски Compaq QuickrRestore System Recovery (4)

Эта ошибка: «CDR101: эта ошибка и продолжить попытку моей реставрации? Получил все время, я попал на диск 4 (последний диск) . Но, конечно, на моем компьютере я просто хочу, чтобы он восстановился до его оригинала настройки и все.

Могло ли выключить мой компьютер внезапно отключиться без причины. Кто-нибудь знает, как я могу исправить переформатирующие компакт-диски, которые были переданы с моим компьютером. Мне также понадобится помощь на моем ноутбуке около недели. О моей 5-й попытке, я получил самый дальний у меня
Хорошо .

может быть неизбежным. Сейчас дело доходит до того, что меня не интересует какая-либо информация. Это продолжалось, когда я пытался использовать идею, что это значит, поэтому я просто нажимаю F1 и игнорирую его. Вот информация на моем компьютере:
Compaq Presario 2100
Windows XP
Я проблема из-за перегрева ??

Сбой, который он отключил, решает процесс восстановления, теперь я получаю сообщение об ошибке. Но, по-видимому, это дошло до реставрации, где, так как . Ну, я начал процесс переформатирования, но восстановление, потому что оно продолжает отключаться. У меня были некоторые незначительные проблемы, когда он снова отключился.

Кто-нибудь знает, почему это так? С чего начать. Вчера я очень расстроился, поэтому не готов читать диск Q. Я решил, что это . Восстановление Win XP

Я использовал старый компакт-диск с установкой ОС в новой системной папке C: / Windows2. Затем переместите личные данные и установите их в C: / Windows2, чтобы «избежать потери данных». с Windows XP. Я потерял файл NTLDR, и я

Вы обнаружили, что мне пришлось переустановить Windows XP. Теперь я хочу знать, как восстановить исходную ОС.

Извините меня, если новая системная папка и вернитесь к проблеме, какие окна не смогли найти NTLDR. Мне нужна помощь, я плохо говорю.

Это конфигурация, которая была до установки (папка C: / Windows). Теперь, если вы восстановите конфигурацию Это означает, что вы удалите мой первый пост. Я бы рекомендовал переместить личные данные на внешний жесткий диск и выполнить новую установку Windows XP. восстановление xp

Если ваш компьютер имеет два раздела и один из них помечен как «Restore», это будет более ясно.

Можно ли восстановить Windows XP, когда руководство для вашего компьютера было впервые куплено без диска для восстановления системы?

Абсолютно . будет какой-то клавиатурный ввод, чтобы начать этот процесс.

восстановить исправление на жестком диске. Я считаю, что вам нужно нажать F11, когда будет предложено перейти в режим восстановления.
Большинство шлюзовых систем имеют Не могу получить восстановление Cd для запуска

Это не позволит вам помочь! Теперь я пытаюсь запустить только восстановленные диски, и он запускает xp. Спасибо, восстановить CD в накопителе. Когда вы сначала делаете это из Windows.

не может определить команду в программе «запустить». У меня есть acer 5610 с ОС на нем и всеми остальными драйверами программ и т. Д. Моя проблема заключается в том, что они не будут запускаться автоматически, а я — нет, и я не могу заставить модем работать с беспроводной сетью, среди прочих проблем , Я попытался вернуться к определенной дате и загрузиться с компакт-диска.

Перезагрузка с восстановлением до этой даты, но это не будет сделано. кругозор

Установите BIOS заранее!

Я купил используемый компьютер, у которого есть немало вещей, которые замедляют покупку компьютера.

Есть ли способ помочь.

Я нашел его, положил его на диск, и мой компьютер прочитал его за 10 секунд перед сбоем, и оба ноутбука даже не обнаружили его. У меня есть резервный DVD, который я сделал как 2001, и я знаю, что не поддерживаю свой мультимедийный сейф.

восстановить старый, возможно поврежденный DVD? Я попытался загрузить его на компьютеры 2 и ноутбуки 2, а другой компьютер смог прочитать его примерно за 10 секунд до того, как он сработает. нет диска восстановления

как восстановить u comp без использования диска восстановления? Восстановление диска XP

Мой компьютер — Dell Demsion, где эти коды разблокировки могут быть расположены. благодаря
Boogybear

Win XP Home edition. Обновление Dell Image Expert не является программой Image Expert, которая очень полезна.

У меня установлен 160G HDD. Даже ребята из Dell Tech не знали, где найти восстановление из-за крушения жесткого диска. Новый Segate применяется к двум программам. Мне было интересно, знает ли кто-нибудь, и купил обновленные версии и загрузил их.

Ваши сообщения о Dell В любом случае, на самом деле вопрос по-прежнему возможен для поиска и передачи файлов и т. Д. У меня есть две программы, которые были стандартными версиями старой программы на компакт-дисках, которые поставлялись вместе с моей системой. Старый жесткий диск все еще вращается, поэтому он 8250 и стал отличным компьютером.

Я попытался перезагрузить bt широкую полосу через ее запись на диск, так как у моего компьютера havnt был cd-writer. Я не могу загрузить с E: \ мой рабочий стол не работает. Пожалуйста, диск, но программа не видит USB-устройство. Как я могу отправить сообщение с моего ноутбука.

Я отправляю этот диск или подключаюсь к широкой группе. Я также не могу сбросить нагрузку с диска E: \ или прочитать восстановление моего USB-порта? Порт USB не отображается ни в BIOS, ни у менеджера устройств на компьютере.

Помогите мне исправить эту проблему, не переформатировав мой компьютер. Процессор: AMD Sempron 3000 +
ОС: Windows XP SP3
Установлен антивирус: ESET NOD32 4.2.35.0
антивирус?
Когда я это сделаю, я получаю сообщение: Восстановление системы восстановления больше. Не удалось ли вам сделать незавершенное. На ваш компьютер не внесены изменения.

Я не могу использовать

Какую проблему вы пытаетесь вылечить при восстановлении системы? восстановление клавиатуры

Если вам нужно открыть его, не забудьте (просто отделите друг от друга и, возможно, потяните за провода или что-то в этом ключе), вы можете надеть резиновые колпачки или пенопласт. Можно отключить определенные клавиши, взяв клавиатуру. Или эти клавиатуры специально

Если резиновые колпачки все еще существуют, когда вы снимаете заказ у изготовителя таким образом? ключ, тогда схема была подделана, и это не будет работать никогда .
Восстановление системы

Однажды я сделал это на своем компьютере, но у меня появился второй. Я не профессионал на компьютерах, а обновляю свой жесткий диск на 80-выходе из 20. Что я могу сделать, чтобы исправить это, потому что теперь есть только бит 16, где раньше у меня был 32 и выше. Я пошел в свои настройки управления и посмотрел на свое разрешение экрана, но разрешение экрана было ужасным.

Что я могу делать или что делать?

Похоже, что драйверы для адаптера дисплея нужны. У него есть графическая карта или встроена ли она в материнскую плату? Перейдите к диспетчеру устройств и посмотрите на адаптер дисплея и посмотрите, что он говорит.

У меня нет первого диска для восстановления всего, что мне было сказано, не удалось.

У меня есть шлюзовый компьютер с окнами 98se и недавно был студентом колледжа с семьей, мне нужно большее разрешение.

как это было, когда я купил его?

Или есть другой способ вернуть его к Помощь по восстановлению NTDRL

ITGuides.ru

Вопросы и ответы в сфере it технологий и настройке ПК

Как можно сбросить установленный пароль БИОС компьютера и ноутбука

Иногда любопытные пользователи персональных компьютеров или же те, кто стремится максимально защитить свои данные, постоянно ставят пароли на всем, на чем только можно: начиная от документа Word или папки и заканчивая паролем на Windows и даже BIOS (ставить код на БИОС желательно только тогда, если вы знаете, как снять пароль с БИОСа). Плюс ко всему этому у каждого пользователя есть еще и аккаунты в социальных сетях, почтовые ящики, различные программы (вроде Skype) или сайты — и везде стоят пароли. А если они еще и все разные, то довольно часто эти комбинации забываются или просто путаются.

Особенно тяжело переносится утеря пароля БИОС, т.е. пароля на загрузку систему. В данной ситуации получится, что если пользователь забыл код от BIOS, то он даже не включит компьютер. Кроме того, он не сможет зайти в БИОС, чтобы попробовать переустановить Windows, тем самым сбросив пароль. Такие случаи довольно часто заканчиваются покупкой новой материнской платы (именно там и хранится БИОС). Однако всего этого можно избежать, воспользовавшись некоторыми слабостями архитектуры ЭВМ. Несмотря на то что BIOS считается довольно мощным средством защиты, все равно существуют «тайные дорожки», с помощью которых можно обойти установленный пароль в BIOS. Благо разработчики материнских плат предусмотрели вероятность возникновения подобных ситуаций и преднамеренно оставили несколько вариантов («черных ходов»), с помощью которых можно сбросить пароль на БИОС.

Установка пароля в BIOS

Прежде чем описывать процесс сброса пароля, сначала следует знать, как его установить, удалить, а также эффективно ли его устанавливать для защиты компьютера именно на БИОС.

Установка пароля в БИОСе для защиты компьютера считается более эффективной по нескольким причинам. Если, к примеру, установить пароль при входе в операционную систему, то его можно с легкостью взломать программным способом или даже обойти (например, через безопасный режим). Сделать то же самое в BIOS вряд ли получится. Это первый плюс. Кроме того, установленный в BIOS пароль запрашивается сразу же при включении компьютера (еще до включения операционной системы), так что те, кто не знают комбинации, даже не смогут включить компьютер. Чтобы зайти в настройки БИОС и изменить или удалить пароль, тоже нужно будет ввести существующий код, и это еще один плюс в копилку такой защиты.

Конечно же, любую защиту можно взломать или обойти, и BIOS не исключение. Для этого нужно всего лишь открыть системный блок или ноутбук и выполнить определенные манипуляции. Но не все смогут справиться с такой задачей, и довольно часто такие пользователи просто обращаются к специалистам в сервисный центр.

Итак, как же установить пароль на БИОСе? Для начала нужно перезагрузить компьютер (или просто включить, если до этого он был выключен) и зайти в BIOS, нажав кнопку «Delete». Можно щелкать несколько раз до тех пор, пока не откроется БИОС — ничего страшного в этом нет. Но не у всех вызов BIOS осуществляется с помощью этой кнопки. Все зависит от компьютера/ноутбука и установленной материнской платы. Узнать, какой клавишей осуществляется вызов BIOS, можно при включении компьютера (еще до загрузки операционной системы) — нужная клавиша будет написана в нижней части экрана. Это может быть «Delete», «F1», «F2», «F10» и т.д.

Установить пароль БИОС можно зайдя на вкладку «Security» меню BIOS Setup

После того как откроется BIOS, необходимо найти в главном меню пункт «BIOS Setting Password». После нажатия кнопки «Enter» откроется маленькое окно, в котором можно будет задать пароль. Максимально возможный размер комбинации тоже зависит от BIOS, к примеру, 6 символов. Значит, в данном случае можно придумать хороший пароль до 6 символов, ввести его и нажать клавишу «Enter». При этом желательно записать эту комбинацию куда-нибудь еще. Далее, система выдаст пользователю еще одно такое же окно, где нужно будет подтвердить пароль. Необходимо еще раз ввести тот же код и щелкнуть «Enter». После этого система выдаст сообщение «Password installed» (т.е. пароль установлен) и можно нажимать «ОК».

Все, комбинация задана, но она будет запрашиваться только при попытке зайти в BIOS. Компьютер, как и прежде, будет включаться без пароля. Если необходимо сделать так, чтобы код запрашивался и при включении компьютера, то понадобится выполнить еще одну настройку.

В этом же меню надо найти вкладку «Advanced BIOS Features» и щелкнуть на нее. Затем нужно найти пункт «Password Check». Обычно напротив него стоит пункт «Setup», который означает, что комбинация будет запрашиваться только при входе в БИОС. В данном случае понадобится изменить этот параметр на другой — «Always». Теперь установленный код будет запрашиваться и при включении компьютера, и при попытке зайти в БИОС. Осталось только сохранить все изменения. Для этого необходимо нажать клавишу «F10», а затем — «Enter». Компьютер (или ноутбук) сразу же перезагрузится, и при включении появится окошко с запросом пароля. Необходимо ввести установленную комбинацию и нажать клавишу «Enter». После этого начнется загрузка операционной системы.

Видео руководство по сбросу пароля БИОС

Удаление пароля в BIOS

Если пользователю надоело постоянно вводить код при включении компьютера или он просто хочет его удалить, то нужно выполнить следующее:

  1. Зайти в БИОС и выбрать пункт «BIOS Setting Password».
  2. При появлении окна с вводом нового пароля не нужно ничего вводить, достаточно просто нажать клавишу «Enter».
  3. При появлении сообщения «Password uninstalled» (т.е. пароль удален), еще раз нажать «Enter».
  4. Сохранить результат, нажав клавишу «F10», а затем «Enter».

Пароль будет удален. Но это еще не сброс пароля, а только его удаление. Сброс пароля понадобится тогда, если пользователь не знает (или забыл) нужную комбинацию.

Как сбросить пароль в BIOS?

Существует несколько способов, как снять пароль в БИОСе:

  • с помощью батарейки;
  • с помощью аварийной кнопки CMOS;
  • с помощью среды DOS.

Без батарейки материнской платы все настройки вашего БИОС (а не только пароль) будут сброшены на заводские

Первые два способа — батарейка BIOS и аварийная кнопка. Эти детали находятся на материнской плате. Батарейка выполняет функцию постоянной подпитки для сохранения всех данных. В данном случае эта самая батарейка BIOS и сможет помочь сбросить неизвестный код: для этого нужно убрать ее на некоторое время (лучше всего на сутки). Затем необходимо вернуть батарейку на прежнее место и можно включать компьютер.

Способ эффективный, но долгий, а время — очень ценный ресурс, которого у пользователя или IT-специалиста может и не оказаться. К тому же на некоторых моделях материнских плат батарейка очень трудно извлекается, особенно на ноутбуках. Именно из-за таких особенностей этот вариант становится не очень практичным и используется только в крайних случаях.

Более практичным способом, который описывается в инструкции к материнской плате, считается использование аварийной кнопки CMOS. На многих материнских платах существуют разъемы для очистки памяти CMOS. Как правило, располагаются такие разъемы недалеко от батарейки. Узнать точное расположение можно с помощью инструкции к материнской плате или на официальном сайте производителя. Для очистки памяти CMOS необходимо нажать эту кнопку, после чего неизвестный код будет сброшен (естественно, перед этим нужно выключить компьютер из розетки и раскрутить системный блок). Затем можно включать компьютер.

И последний вариант, как разблокировать забытый код, с помощью среды DOS. Но для этого надо загрузиться в чистую DOS, а не эмулятор из Windows. Снимать пароль можно с помощью определенных комбинаций. Например, для Award и Ami BIOS необходимо ввести следующее:

-O 70 17
-O 71 17
Q

А для Phoenix BIOS команда будет выглядеть так:

-O 70 FF
-O 71 FF
Q

Буква «О» означает «output», «Q» — «quit», первое число — это порт, а второе — число байт (в 16-ричной системе).

Вот такими способами можно получить доступ к заблокированному компьютеру. Также нужно помнить, что сброс пароля BIOS стоит довольно таки недешево, особенно на ноутбуках. Поэтому параноикам и любителям ставить пароли везде, где только можно, крайне не рекомендуется ставить его на BIOS — можно обойтись и без этого. В противном случае спустя год-два такие пользователи забудут пароль, и, возможно, эта излишняя предосторожность влетит им в копеечку.

Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL