Автоинкремент метод требует от 2 циклов
MOV (R0) +, R1 – мнемоника
В R0 содержится адрес, из которого нужно взять.
3)Декремент (4)
MOV – (R0), R1 – мнемоника записи
4)Индексный (6) 01 60 01
200 – индекс
R0 = 1000 (min – 3МЦ)
R1 = 0 R1 = 77
1200 = 77
Пример: 01 06 61 ( требуется 6 циклов или 5)
Косвенная:
1)Регистровый (1): 01 10 01
R0 = 1000 (min 3МЦ)
R1 = 0
1200 = 7 MOV (R0),R1 в R0 содержится адрес
2)Инкремент (3) 01 30 01
R0 – двойной косвенности
R0 = 1000 в регистре адрес, в котором адрес данных
R1 = 0 (R0 автоинкремент на 2(1) (=1002))
1000 = 2000 R1 = 10
2000 = 10
MOV@(R0)+,R1 - мнемоника записи
Данный метод позволяет обеспечить независимость программ (позиционно независимое кодирование).
R7 счетчик команд; содержит адрес выполняемой команды MOV@(R7)+,R1
4)Индексный (7)
MOV@200(R0),R1
1. Код команды
2. Считает индекс
3. Считает адрес
R0 = 1000
1200 = 2000 R1 = 70
2000 = 70
2 типа:
27 – за кодом команды лежат данные (прямые)
37 – за кодом команды лежит адрес данных (метод добавляет косвенность)
Методы адресации.
Адресация
Прямая Косвенная
Команда |
Источник |
Приёмник |
||||||||||
M |
Rx |
M |
Rx |
|||||||||
Прямой |
Косвенный |
|
1 |
0 |
1 |
2 |
2 |
3 |
3 |
4 |
5 |
4 |
6 |
7 |
4 метода:
1.работа через регистр
2.автоинкримент
3.автодекремент
4.индексный
|
до выполнения команды |
после выполнения команды |
20=1000 |
1002 |
1000=77 |
77 |
R1=00 |
77 |
1. 01/00 01
2. 01/20 01 => мнемокод
MOV (R0)+,R1
3. 01/40 01
мнемокод
|
4. 01/60 01
до выполнения команды |
после выполнения команды |
20=1000 |
|
R1=00 |
77 |
1200=77 |
200
|
1. 01/10 01 R0=1000
MOV (R0),R1 R1=0
1200=7
2. 01/30 01
MOV @(R0)+,R1 =>
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.