Команда HLT


Лучшие книги по Ассемблеру Лучшие книги по Ассемблеру

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

Команда HLT в Ассемблере останавливает работу процессора. Синтаксис:

HLT

Команда не имеет операндов и не изменяет никакие флаги.

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

ВНИМАНИЕ!
Команда выполняется ТОЛЬКО в реальном режиме или с CPL = 0. Поскольку CPL = 0 - это уровень привилегий ядра операционной системы, то пользовательские программы в защищённом режиме не могут воспользоваться этой командой.

В эмуляторах эта команда просто выполняет выход из программы. Правда, в отличие от, например, команды RET, при этом будет другое сообщение. Скорее всего что-то типа “эмулятор остановлен”, а не “возврат управления операционной системе”.

Пример на ассемблере:

  .model tiny
  .code
  ORG    100h

begin:
  MOV  AX,  1
  MOV  AX,  2
  HLT          ; Останавливаем процессор
  ; В АХ не будет записано 3, но если
  ; возврат в рабочий режим будет вызван
  ; прерыванием, то в качестве адреса возврата
  ; в стеке для обработчика прерывания
  ; будет указан
  MOV  AX,  3  ; <- адрес этой команды

  RET

  END  begin

Напоследок, как всегда, о происхождении аббревиатуры HLT.

HLT - это сокращение от слова HaLT, что можно перевести как “остановить”, “прекратить”, “приостановить”.



Первые шаги в программирование Первые шаги в программирование

Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su