ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »