
Модификации команд двухместных арифметико-логических операций
•Например, если используются одноадресные команды и a,b {AC,A} (АС – идентификатор аккумулятора, А – адрес ячейки памяти), то возможны четыре модификации команд двухместных арифметико-логических операций:
(AC):=(AC)%M[A],
M[A]:=(AC)%M[A],
(AC):=M[A]%(AC),
M[A]:=M[A]%(AC);
где (AC) – содержимое АС, а M[A] – содержимое ячейки памяти с адресом А, % – операция.
Модификации команд одноместных арифметикологических операций
•Одноместные операции (d:=#a) предполагают использование двух указателей: a и d.
•Число указателей можно сократить до одного, если результат операции помещать на место операнда: a:=#a.
•Например, если a,d {AC,A}, то будет четыре модификации команд одноместных арифметикологических операций:
(AC):=#M[A],
M[A]:=#(AC),
(AC):=#(AC),
M[A]:=#M[A].

Число адресных полей
• Безадресныекоманды
КОП Пример. (АС):=(АС)+1.
• Одноадресные команды
КОП а Примеры.
1)a=А – адрес ячейки памяти. (АС):=(АС)+ М[А].
2)а= i – номер регистра. R[i]:=R[i]+ (АС),
где R[i] – содержимое регистра с номером i.
• Двухадресные команды
КОП а b
Примеры. 1) a=А1, b=А2. М[А1]:=М[А1]+ М[А2]. 2) а= i1, b=i2. R[i1]:=R[i2]+ (АС).
Число адресных полей
(трех- и четырехадресные команды)
• Трехадресныекоманды
|
КОП |
а |
b |
c |
|
Примеры. |
|
|
1)a=i1, b=i2, c=А1. R[i1]:=R[i2]+ М[А1].
2)a=А1, b=А2, c=А3. М[А1]:=М[А2]+М[А3].
•Четырехадресные команды
|
КОП |
|
а |
b |
c |
K |
К – константа, |
|
|
|
|
|
|
|
АСК – адрес |
|
КОП |
|
а |
b |
c |
АСК |
|
|
|
следующей |
|||||
Пример. |
|
|
|
|
команды |
||
|
|
|
|
|
|||
a=i1, b=i2, c=i3, К=1. |
R[i1]:=R[i2]+ R[i3]+1. |