实验目的: 借助DEBUG 程序发现汇编语言程序的错误并加以改正 实验过程: 一,在 debug 环境下建立和汇编程序 (1)进入 debug C:\debug 回车 (2)输入程序并汇编 -A 100 回车 0AF0:0100 mov dl,38 回车 0AF0:0102 mov ah,2 回车 0AF0:0104 int 21h 回车 0AF0:0106 int 20h 回车 0AF0:0108 回车 (3)运行程序 -g=100 8 Program terminated normally 如果想分析该程序的指令,可使用反汇编命令 U (4)反汇编 -u 100,108 回车 0AF0:0100 B238 MOV DL,3 0AF0:0102 B402 MOV AH,0 0AF0:0104 CD21 INT 21 0AF0:0106 CD20 INT 20 0AF0:0108 56 PUSH SI (5)将机器指令程序送到起始地址为200h 的单元 -e 200 b2,38,b4,02,cd,21,cd,20,56 -g=200 8 Program terminated normally - 二,常用debug 命令 (1)显示,修改寄存器内容 显示所有寄存器内容 格式:-r 回车 功能:以十六进制形式显示cpu 内部个寄存器的值;以符号形式显示标志寄存器的各标志位(除tf 外)的值;并将CS:IP 所指的内存内容反汇编成一条指令,可视为将要执行的指令
如: -r 回车 AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AF0 ES=0AF0 SS=0AF0 CS=0AF0 IP=0200 NV UP EI PL NZ NA PO NC 0AF0:0200 B238 MOV DL,3