Командное слово (первое слово, определяющее операцию и способ адресации) |
Непосредственный операнд (одно или два слова) |
Эффективный адрес источника (одно или два слова) |
Смещение (одно или два слова) |
Процессор CPU32 выполняет набор из 139 команд, которые реализуют следующие группы операций:
Синтаксис ассемблера | Разрядность | Операция | Адресация |
ADD Dn, <EA> | B, W, L | <dst> + Dn -> <dst> | 1,(3-9,13) |
ADD <EA> , Dn | B, W, L | Dn+ <src> - Dn | (1-14),1 |
ADDA <EA>, An | W, L | <dst> + An -> An | (1-14),2 |
ADDI # Im, <EA> | B, W, L | <dst> + Im -> <dst> | 12,(1,3-9,13) |
ADDQ # Im, <EA> | B, W, L | <dst> + Im -> <dst> | 12,(1-9,13) |
ADDX Dy, Dx | B, W, L | Dx + Dy + X -> Dx | 1,1 |
ADDX - (Ay),- (Ax) | B, W, L | <dst> + <src> + X -> <dst> | 5,5 |
SUB Dn, <EA> | B, W, L | <dst> - Dn -> <dst> | 1,(3-9,13) |
SUB <EA>, Dn | B, W, L | Dn+ <src> -> <dst> | (1-14),1 |
SUBA <EA>,An | W, L | An- <src> -> An | (1-14),2 |
SUBI # Im, <EA> | B, W, L | <dst> - Im -> <dst> | 12,(1,3-9,13) |
SUBQ # Im, <EA> | B, W, L | <dst> - Im -> <dst> | 12,(1-9,13) |
SUBX Dy, Dx | B, W, L | Dx - Dy - X -> <dst> | 1,1 |
SUBX - (Ay), - (Ax) | B, W, L | <dst> - <src> - X -> <dst> | 5,5 |
NEG <EA> | B, W, L | O - <dst> -> <dst> | (1,3-9,13) |
NEGX <EA> | B, W, L | O - <dst> - X -> <dst> | (1,3-9,13) |
ABCD Dy, Dx | W | Dx + Dy + X -> Dx | 1,1 |
ABCD - (Ay), - (Ax) | W | <dst> + <src> + X -> <dst> | 5,5 |
SBCD Dy, Dx | W | Dx- Dy - X -> Dx | 1,1 |
SBCD - (Ay), - (Ax) | W | <dst> - <src> - X -> <dst> | 5,5 |
NBCD <EA> | W | O - <dst> - X -> <dst> | (1,3-9,13) |
MULS <EA>, Dn | W, L | Dn * <src> -> Dn | (1,3-14),1 |
MULS.L <EA>, Dh-Dl | L | Dn * <src> -> Dn | (1,3-14),1 |
MULU <EA>, Dn | W, L | Dn * <src> -> Dn | (1,3-14),1 |
MULU.L <EA>, Dh-Dl | L | Dl * <src> -> Dh:Dl | (1,3-14),1 |
DIVS <EA>, Dn | W, L | Dn / <src> -> Dn | (1,3-14),1 |
DIVS.L <EA>, Dr:Dq | L | Dr:Dq / <src> -> Dr:Dq | (1,3-14),1 |
DIVSL.L <EA>, Dr:Dq | L | Dq / <src> -> Dr:Dq | (1,3-14),1 |
DIVU <EA>, Dn | W | Dn / <src> -> Dn | (1,3-14),1 |
DIVU.L <EA>, Dr:Dq | L | Dr:Dq / <src> -> Dr:Dq | (1,3-14),1 |
DIVUL.L <EA>, Dr:Dq | L | Dq / <src> -> Dr:Dq | (1,3-14),1 |
CLR <EA> | B,W,L | 0 -> <dst> | (1,3-9,13) |
Синтаксис ассемблера | Разрядность | Операции | Адресация |
AND <EA>, Dn | B, W, L | Dn ^ <src> -> Dn | (1, 3 - 14), 1 |
AND Dn, <EA> | B, W, L | <dst> ^ Dn -> <dst> | 1, (1,3 - 9,13) |
ANDI # Im, <EA> | B, W, L | <dst> ^ Im -> <dst> | 12, (1, 3 - 9,13) |
ANDI # Im, CCR | W | CCR ^ Im -> CCR | 12, - |
ANDI # Im, SR | W | SR ^ Im -> SR | 12, - |
OR <EA>, Dn | B, W, L | Dn <src> -> Dn | (1, 3 - 14), 1 |
OR Dn, <EA> | B, W, L | <dst> Dn -> <dst> | 1, (1,3 - 9,13) |
ORI # Im, <EA> | B, W, L | <dst> Im -> <dst> | 12, (1, 3 - 9,13) |
ORI # Im, CCR | W | CCR Im -> CCR | 12, - |
ORI # Im, SR | W | SR Im -> SR | 12, - |
EOR Dn, <EA> | B, W, L | <dst> + Dn -> <dst> | 1, (1, 3 - 9,13) |
EORI # Im, <EA> | B, W, L | dst> + Im -> <dst> | 12, (1, 3 - 9,13) |
EORI # Im, CCR | W | CCR + Im -> CCR | 12, - |
EORI # Im, SR | W | SR + Im -> SR | 12, - |
NOT | B, W, L | <dst> -> <dst> | (1, 3 - 9.13) |
Таблица3 - Команды сдвигов
Синтаксис ассемблера | Разрядность | Адресация |
ASL Dx, Dv | B, W, L | 1, 1 |
ASL # Ns, Dv | B, W, L | 12, 1 |
ASL <EA> | W | (3 - 9,13) |
ASR Dx, Dv | B, W, L | 1,1 |
ASR # Ns, Dv | B, W, L | 12,1 |
ASR <EA> | W | (3 - 9,13) |
LSL Dx, Dv | B, W, L | 1,1 |
LSL # Ns, Dv | B, W, L | 12,1 |
LSL <lEA> | W | (3 - 9,13) |
LSR Dx, Dv | B, W, L | 1,1 |
LSR # Ns, Dv | B, W, L | 12,1 |
LSR <lEA> | W | (3 - 9,13) |
ROL Dx, Dv | B, W, L | 1,1 |
ROL # Ns, Dv | B, W, L | 12,1 |
ROL <EA> | W | (3 - 9,13) |
ROR Dx, Dv | B, W, L | 1,1 |
ROR # Ns, Dv | B, W, L | 12,1 |
ROR <EA> | W | (3 - 9,13) |
ROXL Dx, Dv | B, W, L | 1,1 |
ROXL # Ns, Dv | B, W, L | 12,1 |
ROXL <EA> | W | (3 - 9,13) |
ROXR Dx, Dv | B, W, L | 1,1 |
ROXR # Ns, Dv | B, W, L | 12,1 |
ROXR <EA> | W | (3 - 9,13) |
Таблица4 - Команды сравнения и тестирования.
Синтаксис ассемблера | Разрядность | Операции | Адресация |
СMP <EA>, Dn | B, W, L | Dn - <src> | (1 - 14), 1 |
СMP <EA>, An | W, L | An - <src> | (1 - 14), 2 |
CMPI # Im, <EA> | B, W, L | <dst> - Im | 12, (1, 3 - 11,13,14) |
CMPM (Av) +,(Ax) + | B, W, L | <dst> - <src> | 4,4 |
CMP2 <EA>, Rn | B, W, L | (Rn)<LB, (Rn)>UB | (3,6-11,13,14), (1,2) |
TST <EA> | B, W, L | <dst> - 0 | (1, 3 – 9,13) |
TAS <EA> | B | <dst> - 0, 1 -> b7 | (1, 3 - 14) |
Таблица 5 - Команды битовых операций.
Синтаксис ассемблера | Разрядность | Операции | Адресация |
BTST Dn, <EA> | B, L | bn -> Z | 1, (1, 3 - 14) |
BTST # Nb, <EA> | B, L | bn -> Z | 12, (1, 3 - 14) |
BSET Dn, <EA> | B, L | bn -> Z, 1 -> bn | 1, (1, 3 - 9,13,14) |
BSET # Nb, <EA> | B, L | bn -> Z, 1 -> bn | 12, (1, 3 - 9,13,14) |
BCLR Dn, <EA> | B, L | bn -> Z, 0 -> bn | 1, (1, 3 - 9,13,14) |
BCLR # Nb, <EA> | B, L | bn -> Z, 0 -> bn | 12, (1, 3 - 9,13,14) |
BCHG Dn, <EA> | B, L | bn -> Z, bn -> bn | 1, (1, 3 - 9,13,14) |
BCHG # Nb, <EA> | B, L | bn -> Z, bn -> bn | 12, (1, 3 - 9,13,14) |
Таблица 6 - Команды управления и установки байтов.
Синтаксис ассемблера | Операции | Адресация |
JMP <EA> | <dst> -> PC | (3, 6 - 11,13,14) |
JSR <EA> | SP - 4 -> SP, PC -> (SP), <dst> -> PC | (3, 6 - 11,13,14) |
RTS | (SP) -> PC, SP + 4 -> SP | |
RTR | (SP) -> CCR, SP + Z -> SP, (SP) -> PC, SP + 4 -> SP | |
Scc <EA> | Если (сс) выполняется, то 1 ... 1 -> <dst>, если (сс) не выполняется, то 0 ... 0 -> <dst> | (1, 3 - 9,13,14) |
Таблица 7 - Изменение признаков после выполнения команд