Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция ОРГЭВМ15.pdf
Скачиваний:
17
Добавлен:
02.06.2015
Размер:
274.9 Кб
Скачать

Модификации команд двухместных арифметико-логических операций

Например, если используются одноадресные команды и 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.