ТИПЫ КОМАНД
РЕЖИМЫ АДРЕСАЦИИ
- Dir - прямая (регистры специальных
функций или память данных).
- Ind - косвенная (допустима только относительно регистров R0
и R1; в символической записи обозначается @R0 или @R1 соответственно).
- Reg - регистровая.
- Imm - непосредственная (в символической записи начинается
с #).
- byte - прямоадресуемый байт.
- bit - прямоадресуемый бит (в регистрах специальных функций
или битовой памяти).
- Битовый аккумулятор - бит переноса в PSW.
- В командах, допускающих прямую, но не регистровую адресацию,
может указываться регистр общего назначения, однако при трансляции команды его номер будет в
этом случае представлен не трех, а 8-разрядным кодом, соответствующим прямому адресу этого
регистра в памяти данных. Некоторые Ассемблеры, в том числе используемый в данном лабораторном
практикуме, требуют для таких команд указывать в явном виде номер регистра как прямой адрес
ячейки памяти данных. |
|
|
ДЕЙСТВИЯ
- В инструкции MUL AB производится
перемножение содержимого аккумулятора и регистра B. Старшие разряды произведения помещаются в
аккумулятор, а младшие - в регистр B.
- В инструкции DIV AB содержимое аккумулятора делится на содержимое
регистра B. Частное помещается в аккумулятор, а остаток - в регистр B. Операнды
рассматриваются как целые числа без знака.
- & - конъюнкция.
- v - дизъюнкция.
- E - "ИСКЛЮЧАЮЩЕЕ ИЛИ".
- ^ - логическое "НЕ".
- ЦСЛ - циклический сдвиг влево. ЦСП - циклический сдвиг
вправо.
- В операциях сдвига через бит С участвует 9-ти разрядный регистр
(8-ми разрядный аккумулятор и бит переноса С).
- <=> обмен местами операндов.
- В инструкции XCHD A,@Ri осуществляется обмен только младших
тетрад операндов.
- Для безусловных переходов adr показывает, что в команде
кодируется абсолютный адрес памяти программ, по которому осуществляется переход.
- Для условных переходов rel показывает, что в команде кодируется
относительный адрес памяти программ, по которому осуществляется переход при выполнении
указанного условия.
- Во всех командах перехода при записи программы на Ассемблере
адрес перехода может быть задан меткой.
- Некоторые Ассемблеры для инструкции вызова подпрограммы и
инструкции безусловного перехода требуют от программиста явного указания длины генерируемого
адреса перехода, то есть записи в программе инструкций ACALL, LCALL, AJMP, LJMP, SJMP и не
воспринимают инструкции CALL, JMP. Другие Ассемблеры самостоятельно генерируют инструкции,
имеющие необходимую длину поля адреса в зависимости от месторасположения адреса перехода и
поэтому допускают использование лишь инструкций CALL и JMP. |
|
|