Цитата Сообщение от Titus Посмотреть сообщение
И все же, как мне правильно такие коды обрабатывать, и различается реакция в режимах User и Halt?
Собственно я выкладывал своё описание 1801ВМ2, там всё подробно описано.
А так опишу ещё раз. Все резервные коды, а также команды режима HALT в режиме USER вызывают прерывание по вектору 010. Это прерывание USER-режима. Сперва в PSW сбрасывается бит 8, процессор переводится в режим USER, при этом копирования PSW в CPSW не происходит. В стек заносятся значения CPSW и CPC, именно копии, а не сами регистры. Значение SP всегда уменьшается на 4, даже если не удалось занести в стек. Если в стек занести не удалось, то прерывание по вектору 4 (TRAP4). После успешного занесения в стек читаются новые значения PC и PSW из вектора прерывания, при этом в PSW заносятся только младшие 8 разрядов, разряд 8 остаётся в нуле, т.е. режим USER.