ВУЗ:
Составители:
12
4 ; Простая программа сложения 32-разрядных чисел
5 00000000 data segment para public "data"
6 00000000 00000000 sum dd 0
7 00000004 data ends
8
9 00000000 stk segment para stack "stack"
10 00000000 0100*(??) db 256 dup (?)
11 00000100 stk ends
12
13 0000 code segment para public "code" use16
14 0000 begin:
15 0000 B8 0000s mov ax,data
16 0003 8E D8 mov ds,ax
17 ; Основной фрагмент программы
18 0005 66| B8 12345678 mov eax,12345678h
19 000B 66| 05 87654321 add eax,87654321h
20 0011 66| 67| A3 00000000r mov dword ptr sum,eax
21 ; Завершение программы
22 0018 B8 4C00 mov ax,4C00h
23 001B CD 21 int 21h
24 001D code ends
25 END begin
В строках 15 и 16 листинга используется команда засылки операнда
в аккумулятор (B8h). Однако в строке 18 наличие перед кодом этой
команды префикса замены размера операнда (код 66h) определяет, что
длина операнда равна 32 бита, и, следовательно, используется регистр
ЕАХ. Префикс замены размера операнда включается в объектный модуль
транслятором автоматически, если в программе указано мнемоническое
обозначение 32-разрядного регистра, например, ЕАХ.
При отладке этой программы используется отладчик фирмы Borland
(турбо дебаггер), использование которого для отладки программ подробно
описывается в главе 4.
Для индикации содержимого 32-разрядных регистров требуется
провести дополнительную настройку отладчика. Запустив отладчик, надо
выбрать Основное меню
→
View
→
Registers. При этом откроется окно
индикации содержимого регистров процессора. Затем необходимо вызвать
локальное меню этого окна, нажав ALT-F10, выбрать в открывшемся меню
4 ; Простая программа сложения 32-разрядных чисел
5 00000000 data segment para public "data"
6 00000000 00000000 sum dd 0
7 00000004 data ends
8
9 00000000 stk segment para stack "stack"
10 00000000 0100*(??) db 256 dup (?)
11 00000100 stk ends
12
13 0000 code segment para public "code" use16
14 0000 begin:
15 0000 B8 0000s mov ax,data
16 0003 8E D8 mov ds,ax
17 ; Основной фрагмент программы
18 0005 66| B8 12345678 mov eax,12345678h
19 000B 66| 05 87654321 add eax,87654321h
20 0011 66| 67| A3 00000000r mov dword ptr sum,eax
21 ; Завершение программы
22 0018 B8 4C00 mov ax,4C00h
23 001B CD 21 int 21h
24 001D code ends
25 END begin
В строках 15 и 16 листинга используется команда засылки операнда
в аккумулятор (B8h). Однако в строке 18 наличие перед кодом этой
команды префикса замены размера операнда (код 66h) определяет, что
длина операнда равна 32 бита, и, следовательно, используется регистр
ЕАХ. Префикс замены размера операнда включается в объектный модуль
транслятором автоматически, если в программе указано мнемоническое
обозначение 32-разрядного регистра, например, ЕАХ.
При отладке этой программы используется отладчик фирмы Borland
(турбо дебаггер), использование которого для отладки программ подробно
описывается в главе 4.
Для индикации содержимого 32-разрядных регистров требуется
провести дополнительную настройку отладчика. Запустив отладчик, надо
выбрать Основное меню→View→Registers. При этом откроется окно
индикации содержимого регистров процессора. Затем необходимо вызвать
локальное меню этого окна, нажав ALT-F10, выбрать в открывшемся меню
12
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »
