Тема: «Разработка и отладка программы с использованием различных
форматов команд и методов адресации»
Цель работы: приобрести практические навыки по применению команд сравнения кодов и пересылки; закрепить навыки по отладке программ с помощью отладчика AFD на языке Ассемблера.
Вариант №21-26.
1. Вызвать программу AFD. На запрос “Press any key to continue” нажать любую клавишу.
2. Изучить выполнение команды MOV dst, src с косвенной адресацией, имеющей форматы
MOV CX, [DI] MOV mem/reg1;
MOV [SI], BL MOV mem/reg2;
INT3 MOV mem/reg, data.
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Результаты занести в таблицу 1.
|
|
Таблица 1. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||||
Вариант 21 | Вариант 22 | Вариант 23 | Вариант 24 | Вариант 25 | Вариант 26 | |||
BL | 45 | 36 | 37 | 28 | 18 | 29 | ||
CХ | 4530 | 3902 | 7А01 | 6В02 | 4С13 | 69С1 | ||
DI | 0040 | 0040 | 0040 | 0040 | 0040 | 0040 | ||
SI | 0010 | 0010 | 0010 | 0010 | 0010 | 0010 | ||
[10] | 3F | 8В | 9С | 8А | Е4 | 6В | ||
[40] | 4F03 | 9СС1 | 77СС | 22В1 | 4456 | 78А2 |
4. Изучить выполнение команды MOV dst, src с базовой адресацией, имеющей форматы
MOV AX, [BP+20] MOV mem/reg1, mem/reg2;
MOV [BX], DH MOV mem/reg, data:
INT3
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Результаты занести в таблицу 2.
Таблица 2. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||||
Вариант 21 | Вариант 22 | Вариант 23 | Вариант 24 | Вариант 25 | Вариант 26 | |||
АХ | 4523 | 2391 | C128 | D654 | A218 | F348 | ||
BX | 0040 | 0040 | 0040 | 0040 | 0040 | 0040 | ||
DH | 47 | 72 | 63 | 54 | 46 | 32 | ||
BP | 0010 | 0010 | 0010 | 0010 | 0010 | 0010 | ||
[10][11] | 67FD | 34Е1 | 35С2 | 15В9 | D510 | F874 | ||
[30][31] | 12FA | 1345 | 23AF | 4567 | 4895 | 2579 | ||
[40] | 34 | 8С | 89 | 1А | 2В | 3С |
5. Изучить выполнение команды MOV dst, src с индексной адресацией, имеющей форматы
|
|
MOV [SI+5], DX MOV mem/reg1, mem/reg2; MOV mem/reg, data:
MOV AX, [DI+10]
MOV [SI], 47
INT3 Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Результаты занести в таблицу 3.
Таблица 3. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||||
Вариант 21 | Вариант 22 | Вариант 23 | Вариант 24 | Вариант 25 | Вариант 26 | |||
АХ | 12FE | 21ВС | 3456 | 5768 | 9123 | 4791 | ||
DX | AF45 | СА11 | E742 | CEFA | 1237 | E456 | ||
SI | 0010 | 0010 | 0010 | 0010 | 0010 | 0010 | ||
DI | 0030 | 0030 | 0030 | 0030 | 0030 | 0030 | ||
[15][16] | 4367 | 3791 | СА12 | СВ34 | D987 | F123 | ||
[40][41] | DA34 | С467 | 1234 | ACBD | 4136 | DCEC | ||
[10][11] | 67FD | 77ЕС | 456C | DC11 | EF24 | 45AD |
6. Изучить выполнение команды MOV dst, src с базовой индексной адресацией, имеющей
MOV CX, [BP+SI] форматы MOV mem/reg1, mem/reg2; MOV mem/reg, data:
MOV [BX+DI], AX
MOV [BX+SI+3], 39
INT3 Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу.
Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Результаты занести в таблицу 4.
Таблица 4. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||||
Вариант 21 | Вариант 22 | Вариант 23 | Вариант 24 | Вариант 25 | Вариант 26 | |||
АХ | 4894 | 7129 | 7895 | 275D | 564C | 7AD7 | ||
BX | 0005 | 0005 | 0005 | 0005 | 0005 | 0005 | ||
CX | 53FB | 63СЕ | 1356 | 2571 | 3496 | 8007 | ||
SI | 0010 | 0010 | 0010 | 0010 | 0010 | 0010 | ||
DI | 0030 | 0030 | 0030 | 0030 | 0030 | 0030 | ||
BP | 0020 | 0020 | 0020 | 0020 | 0020 | 0020 | ||
[30][31] | 9876 | 678С | 87DC | 123A | 278D | 896E | ||
[35][36] | 34EF | 41СВ | AC77 | 88EC | 896D | 1456 | ||
[18] | 7F | 8А | 57 | 63 | CC | 13 |
Контрольные вопросы:
10. Какие элементы входят в состав программной модели МП?
11. Назначение программы-отладчика AFD.
12. Основные команды программы-отладчика AFD.
13. Назначение и формат команд MOV, XCHG?
14. Назначение команды СMP, ее формат?
15. Отличие команды MOV от команды LEA?
Вывод:
ОТЧЕТ по лабораторной работе № 8.
Тема: «Разработка и отладка программы с использованием различных
форматов команд и методов адресации»
Цель работы: приобрести практические навыки по применению команд сравнения кодов и пересылки; закрепить навыки по отладке программ с помощью отладчика AFD на языке Ассемблера.
Вариант №27-30.
1. Запустить программу AFD.ехе. На запрос “Press any key to continue” нажать любую клавишу.
2. Изучить выполнение команды MOV dst, src с регистровой адресацией, имеющей формат
MOV СX, AX MOV mem/reg1, mem/reg2:
|
MOV DX, [20]
INT3
В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Результаты занести в таблицу 1.
Таблица 1. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||
Вариант 27 | Вариант 28 | Вариант 29 | Вариант 30 | |||
AX | EF45 | 67ЕЕ | 73AD | 487C | ||
BX | DF23 | СА43 | 4320 | 1058 | ||
CX | 3689 | 1234 | 4567 | C145 | ||
DX | 456F | 75ЕС | E672 | F486 | ||
[20][21] | 7654 | 8910 | 71CE | 54EF | ||
[50][51] | AC26 | 22АС | 33CD | 44FE |
|
|
3. Изучить выполнение команды MOV dst, src с непосредственной адресацией, имеющей
MOV [30], 7E форматы MOV mem/reg, data; MOV reg, data:
MOV АL, 99
MOV [55], 44CE
INT3 В командной строке ввести команды D 100 (enter), потом A (enter), набрать программу. Выйти из режима ассемблирования ctrl+enter. В указанные регистры и ячейки памяти записать числа. Выполнить программу в пошаговом режиме, многократно нажимая F2. Результаты занести в таблицу 2.
Таблица 2. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||
Вариант 27 | Вариант 28 | Вариант 29 | Вариант 30 | |||
[30] | 37 | 73 | 86 | 76 | ||
АL | 49 | 82 | 35 | 79 | ||
[55][56] | ACD2 | СЕ45 | 2468 | 1357 |
4. Изучить выполнение команды обмена XCHG, имеющей формат XCHG reg,mem/reg; XCHG ac,reg:
|
XCHG AX, DX
INT3
В указанных регистрах и ячейках памяти записать числа. Выполнить программу в пошаговом режиме, многократно нажимая F2. Результаты занести в таблицу 3.
Таблица 3. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||
Вариант 27 | Вариант 28 | Вариант 29 | Вариант 30 | |||
AX | D784 | F46F | 7FE2 | 89D1 | ||
CX | FBA7 | DD45 | ADCE | 25DE | ||
DX | 6428 | 38ЕD | 486E | 287D | ||
DI | 0020 | 0010 | 0025 | 0030 | ||
BP | 0025 | 0035 | 0020 | 0015 | ||
[45][46] | DF65 | 71FE | 8745 | 1268 |
|
XLAT
INT3
В указанных регистрах и ячейках памяти записать числа. Выполнить программу в пошаговом режиме, многократно нажимая F2. Результаты занести в таблицу 4.
Таблица 4. Регистр, ячейка памяти | До выполнения команды | После выполнения команды | Комментарии | |||
Вариант 27 | Вариант 28 | Вариант 29 | Вариант 30 | |||
AX | 0020 | 0040 | 0025 | 0010 | ||
BX | 0030 | 0010 | 0025 | 0040 | ||
[50] | 77 | ED | 75 | 45 |
Контрольные вопросы:
|
|
13. Какие элементы входят в состав программной модели МП?
14. Назначение программы-отладчика AFD.
15. Основные команды программы-отладчика AFD.
16. Назначение и формат команд MOV, XCHG?
17. Назначение команды СMP, ее формат?
18. Отличие команды MOV от команды LEA?
Вывод: