Программная модель 32-разядной МЭВМ фирмы MotorolaРефераты >> Программирование и компьютеры >> Программная модель 32-разядной МЭВМ фирмы Motorola
Форматы команд
Команды процессора МС68300 могут содержать от одного до пяти слов. Любая команда всегда расположена по четному адресу. Формат команды в общем виде показан на рисунке 1:
Командное слово (первое слово, определяющее операцию и способ адресации) |
Непосредственный операнд (одно или два слова) |
Эффективный адрес источника (одно или два слова) |
Смещение (одно или два слова) |
Рисунок 1.
Система команд CPU32
Процессор CPU32 выполняет набор из 139 команд, которые реализуют следующие группы операций:
- операции пересылки,
- арифметические операции,
- логические операции,
- операции сдвига,
- операции сравнения и тестирования,
- битовые операции,
- операции управления;
- операции условной установки байтов.
Таблица1 - Набор команд процессора CPU32
Синтаксис ассемблера | Разрядность | Операция | Адресация |
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) |