实验一 DEBUG的使用及程序调试方法.ppt
文本预览下载声明
实验二 调试程序DEBUG介绍 实验目的: 掌握DEBUG下的主要命令及在DEBUG下编写简单程序、调试程序的方法。 DEBUG的功能: DEBUG是专门为汇编语言设计的调试工具软件,它通过单步、设置断点等方式,为使用者提供了非常有效的调试手段。在DEBUG下所有输入的数据都是十六进制,所以不需要后面加H。并且不区分大、小写字母。 DEBUG的主要命令 R Q D E U T A G 一、 R(显示修改寄存器内容)-R ;显示所有寄存器内容。-R REG ;修改所有寄存器内容。 -RF ;显示并可修改标志寄存器 内容。二、Q(退出):退出DEBUG,该操作不保护文件。-Q 三、D(显示存储器的内容): 默认寄存器是DS,格式是: -D 段地址:偏移地址 ;显示80H(128)个字节的内容。 -D 显示从上一次结束处开始的80H个字节的内容。 五、U(反汇编):将机器指令进行反汇编,默认的寄存器是CS:IP,从指定地址开始反汇编32个字节,它的格式是:-U 段地址:偏移地址-U 段地址:偏移地址1 偏移地址2-U CS:100 ;反汇编开始于CS:100-U 100 150 ;反汇编从100H 到 150H的内容。 六、T命令:以单步方式执行程序-T ;执行一条指令。-T =段地址:偏移地址-T 10 ;执行下面10H(16) 条指令。-T=3 2 ;从指定IP=0003开始, 执行下面2条指令. 七、A命令(以汇编指令的形式在内存中写入机器指令):-A 段地址:偏移地址 ;从指定地址1开始汇编,结果写入内存。 -A ;不指定地址,则从上 次 A命令开始汇编。 -A 100 ;087D:0100 MOV AL, 4E087D:0102 ADD AL, 2D087D:0104 MOV AL, 4C 087D:0106 INT 21H 在A命令下不能使用字段名,A命令只识别指令和DB、DW伪指令 。 八、G (运行可执行程序):-G=段地址:偏移地址-G ;从程序当前位置执行到 程序结束-G =200 260 ;从指定200H地址开始执行, 遇到断点260H停止,显示寄存器和标志寄存器的内容。 标志位: “1” “0” OF:溢出标志 —— OV溢出, NV没溢出 DF:方向标志 —— DN减量, UP增量 IF:中断允许标志 —— EI允许, DI禁止 SF:符号标志 —— NG负数, PL正数 ZF:“0”标志 —— ZR为“0”, NZ不为“0” AF:半进位标志 —— AC有半进位,NA无半进位 PF:奇偶标志 —— PE偶数, PO奇数 CF:进位标志 —— CY有进位, NC无进位 实验内容: 1、下列程序段执行完后,BX寄存器的内容是什么? MOV CL, 3 MOV BX, 0B7H ROL BX,1 ROR BX, CL 2、下列程序段中的每条指令执行完后,AX寄存器及CF、SF、ZF和OF的内容是什么? MOV AX, 0 DEC AX ADD AX, 7FFFH ADD AX, 2 NOT AX SUB AX, 0FFFFH ADD AX, 8000H SUB AX, 1 AND AX, 58D1H SAL AX, 1 SAR AX, 1 NEG AX ROR AX, 1 思考题 编写程序段,把字符串STRING中的‘’字符用空格符代替。 STRING DB ‘The date is FEB03’ * * 四、E(修改内存单元内容): 默认寄存器是DS,格式是: -E 起始地址 数据 数据 数据…… -E 105 13 3A 21 ;从DS
显示全部