文档详情

第四章 汇编语言程序的上机过程4.ppt

发布:2017-06-19约2.77千字共11页下载文档
文本预览下载声明
第四节 汇编语言程序的上机过程 一、建立汇编语言的工作环境 1、编辑程序:EDIT.EXE或记事本或任何文本编辑器 2、汇编程序:MASM.EXE 3、连接程序:LINK.EXE 4、调试程序:DEBUG.COM或DEBUG.EXE 二、建立源程序(后缀为ASM) 例4.30 EX_MOVS.ASM P146 三、用MASM.EXE产生OBJ文件 C MASM EX_MOVS 四、用LINK.EXE产生EXE文件 C LINK EX_MOVS 五、程序的执行 C EX_MOVS 第五节 调试程序DEBUG的使用方法 DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 DEBUG的作用:动态地调试可执行程序(EXE文件)或静态地对磁盘文件和扇区内容进行观察、修改。 启动: C DEBUG 可执行程序名 如果需要把该单元的内容修改为78,则用户可以直接键入78,再按空格键可接着显示下一个单元的内容,如下: 18E4:0100 89.78 1B.- 这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该命令为止。 ·填写命令F(FILL),其格式为: -F range list 例如:-F 4BA:0100 5 F3XYZ8D 使04BA:0100~0104单元包含指定的五个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。 6)汇编命令A(Assemble),其格式为: -A[address] 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。 7)反汇编命令U(Unassemble)有两种格式。 ·从指定地址开始,反汇编32个字节,其格式为: -U[address] 例如: -u100 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 18E4:0106 C70606020002 MOV WORD PTR[0206],0200 18E4:010C C70606020202 MOV WORD PTR[0208],0202 18E4:0112 BBO4O2 MOV BX,0204 18E4:0115 E80200 CALL 011A 18E4:0118 CD20 INT 20 18E4:011A 50 PUSH AX 18E4:011B 51 PUSH CX 18E4:011C 56 PUSH SI 18E4:011D 57 PUSH DI 18E4:011E 8B37 MOV SI,[BX] * 二、DEBUG的主要命令 1、显示存储单元的命令D(DUMP),格式为: _D[address]或_D[range] 例如,按指定范围显示存储单元内容的方法为: -d100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G... 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW. 7 18E4:0120 8B 其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。 2、修改存储单元内容的命令有两种。 ·输入命令E(ENTER),有两种格式如下:第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为: -E address [list] 例如,-E DS:100 F3XYZ8D 其中F3,X,Y,Z和各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。 第二种格式则是采用逐个单元相继修改的方法。命令格式为: -E address 例如,-E DS:100 则可能显示为: 18E4:0100 89.- 3)检查和修改寄存器内容的命令R(register),它有三种格式如下: ·显示CPU内所有寄存器内容和标志位状态,其格式为: -R 例如,-r AX=0000 BX=0000 CX=010A DX=000
显示全部
相似文档