Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Команда 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, что можно перевести как “остановить”, “прекратить”, “приостановить”.
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее... |