Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 123 стр.

UptoLike

Составители: 

123
stk ends
code segment para public "code" ; Сегмент кода
Start:
mov ax,data ; Адрес сегмента данных в регистр AX
mov ds,ax ; Запись AX в DS
mov ax,0 ; Обнуление аккумулятора AX
inc ax ; Увеличение AX на 1
mov bx,ax ; Пересылка <AX> в BX
mov ch,data8 ; Пересылка переменной data8 в CH
mov bp,data16 ; Пересылка переменной data16 в BP
dec word ptr data16
call mes
mov ax,4C00h ; Функция завершения программы
int 21h ; Функция Dos
mes proc near ; Процедуры вывода сообщения на экран
lea dx,data8 ; Загрузка смещения data8 в DX
mov ah,9 ; Функция вывода строки на экран
int 21h ; Функция DOS
ret
mes endp
code ends
END Start
В приведенном примере определены переменныебайтовая и
словная, а также используются функции DOS – вывод сообщения на экран
и функция завершения программы.
Для использования турбо дебаггера при отладке программы следует
оттранслировать программу с включением отладочной информации. Для
этого компиляцию программы следует производить с ключом /zi (tasm
/zi example.asm), а затем скомпоновать программу с ключом
/v
(tlink /v example.obj). Следует отметить, что ключи должны
задаваться строчными символами.
Запуск программы под турбо дебаггером
Для запуска программы в турбо дебаггере следует набрать td.exe
example.exe. Окно запущенного турбо дебаггера с отлаживаемой
программой показано на рисунке 4.31.
Турбо дебаггер позиционирует курсор на начале отлаживаемой
программы (на первой выполняемой ее строке).
stk   ends

code segment  para public "code" ; Сегмент кода
Start:
     mov ax,data    ; Адрес сегмента данных в регистр AX
     mov ds,ax      ; Запись AX в DS
     mov ax,0       ; Обнуление аккумулятора AX
     inc ax         ; Увеличение AX на 1
     mov bx,ax      ; Пересылка  в BX
     mov ch,data8 ; Пересылка переменной data8 в CH
     mov bp,data16 ; Пересылка переменной data16 в BP
     dec word ptr data16
     call mes
     mov ax,4C00h ; Функция завершения программы
     int 21h        ; Функция Dos
mes proc       near ; Процедуры вывода сообщения на экран
     lea dx,data8 ; Загрузка смещения data8 в DX
     mov ah,9       ; Функция вывода строки на экран
     int 21h        ; Функция DOS
     ret
     mes endp
code ends
     END Start
      В приведенном примере определены переменные – байтовая и
словная, а также используются функции DOS – вывод сообщения на экран
и функция завершения программы.
      Для использования турбо дебаггера при отладке программы следует
оттранслировать программу с включением отладочной информации. Для
этого компиляцию программы следует производить с ключом /zi (tasm
/zi example.asm), а затем скомпоновать программу с ключом /v
(tlink   /v   example.obj). Следует отметить, что ключи должны
задаваться строчными символами.
      Запуск программы под турбо дебаггером
      Для запуска программы в турбо дебаггере следует набрать td.exe
example.exe. Окно запущенного турбо дебаггера с отлаживаемой
программой показано на рисунке 4.31.
      Турбо дебаггер позиционирует курсор на начале отлаживаемой
программы (на первой выполняемой ее строке).



                                       123