VituZz wrote:Но какой смысл в таком поведении процессора? Получается, что полноценный HLT - это HLT + JMP назад на HLT? Я никогда не пользовался этой командой, но почему-то всегда считал, что после HLT возможно выполнение только ПП прерываний, но не продолжение выполнения кода основной программы.
А ВМ80 тоже так себя ведёт?
Да - ВМ80 тоже так себя ведёт. HLT для нас непривычная команда, т.к. мы привыкли к возвратам в Монитор.
HLT раньше активно юзали во всяких ранних компьютерах - когда программу надо завершить,
а передать управление некуда.
Ты просто сложил для себя неправильный имидж "полноценного HLT", а настоящий HLT - вот таков,
каков он есть. Я же сказал уже ранее - это не "вечный HLT".
И - да: после HLT возможно продолжение выполнения кода основной программы.
Просто команда HLT работает в общей логике процессора: прерывание, возникшее во время
исполнения команды корректно вернет управление на адрес, следующий за этой командой.
И для команды HLT исключения из этого правила не сделали.