资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,精选课件ppt,*,程 序 的 调 试,1,精选课件ppt,汇编语言源程序编写好以后,必须经过以下几个步骤才能在机器上运行:,1 编辑源程序,2 汇编源程序,3 连接目标程序,4 调试可执行程序,5 运行程序、输出结果,2,精选课件ppt,1 编辑源程序,利用编辑程序将编写好的源程序通过输入设备送入计算机并以ASCII 码的形式存入内存缓冲区,修改好的源程序在磁盘上建立源程序文件。源程序文件名的格式为:,文件名.ASM,文件名是用户自己定义的一个标识符,汇编语言源文件名的扩展名必须为.ASM。,3,精选课件ppt,2 汇编源程序,汇编源程序是利用汇编程序对已编辑好的源程序文件进行汇编,将源程序文件中以ASCII 码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作。,最后可在盘上建立3个文件:,.OBJ 目标文件,.LST 列表文件,.CRF 交叉索引文件,4,精选课件ppt,汇编程序是通过对源程序进行两次扫描实现汇编的。,第1次扫描的主要工作是在逐条扫描源程序语句的过程中确定各标识符的位置,建立符号表。,第2次扫描的工作是根据指令码表、伪指令表、符号表产生机器指令码。,为了确定各标识符的位置,汇编程序中采用了一个位置计数器。初值为0,在逐条扫描源程序语句过程中,位置计数器将增量计数,增加的值等于语句所需的字节数。源程序中换段时,位置计数器清零。,5,精选课件ppt,DATA SEGMENT,BCD1 DB?,?,BCD2 DB?,?,BCD3 DB?,?,DATA ENDS,CODE SEGMETN,ASSUME CS:CODE,DS:DATA,START:MOV AX,DATA,MOV DS,AX,MOV AL,BCD1,ADD AL,BCD2,DAA,MOV BCD3,AL,MOV AL,BCD1+1,。,END START,位置计数器,0,0,2,4,6,0,0,0,3,5,8,12,13,16,19,语句长度,0,2,2,2,0,0,0,3,2,3,4,1,3,3,6,精选课件ppt,符号(标识符),偏移量,所在段,类型,DATA,00H,段,BCD1,00H,DATA,字节变量,BCD2,02H,DATA,字节变量,BCD3,04H,DATA,字节变量,CODE,00H,段,START,00H,CODE,近程标号,第一次扫描结束时的符号表,7,精选课件ppt,第次扫描通过查阅指令码表、伪指令表、符号表将每条指令汇编成机器指令,并将伪指令中定义的数据置于相应的位置,表达式求值也是在此时进行。,8,精选课件ppt,3 连接目标程序,汇编后的目标程序必须通过连接程序(LINK)连接成一个可执行程序后才能运行。,连接后输出两个文件:,.EXE 可执行文件,.MAP 内存分配文件,9,精选课件ppt,10,精选课件ppt,4 调试可执行程序,在DOS状态下启动DEGUG程序:,C:DEBUG 文件名.EXE,DEBUG提示符为,11,精选课件ppt,上机题:,1、用A汇编命令在CS:0100单元开始汇编以下程序:,MOV AX,1000H,MOV DS,AX,MOV AX,1010H,MOV ES,AX,2、用U反汇编命令查看CS:0100以上程序。,3、用T单步跟踪命令执行以上4条指令,建立DS、ES段基址。,12,精选课件ppt,4、用E命令建立SS、DS、ES各段的数据,其中,在SS:0000H-SS:000FH单元分别建立10H-1FH数据,在DS:0000H-DS:000FH单元分别建立20H-2FH数据,在ES:0000H-ES:000FH单元分别建立30H-3FH数据,5、用D命令查看各段所建立数据的正确性,13,精选课件ppt,6、用A汇编命令在CS:010AH单元开始继续汇编以下程序:,MOV BX,0004,MOV CX,5,MOV BP,3,MOV SI,2,MOV DI,0001H,MOV AX,CX ;*,MOV AX,500H,MOV AX,0004,MOV AX,ES:0004,MOV AX,BX,MOV AX,SS:BX+03H,MOV AX,BP,MOV AX,BP+04H,MOV AX,DS:BP,MOV AX,ES:BX+02H,MOV AX,BXSI,MOV AX,BPDI,MOV AX,BXDI+02H,14,精选课件ppt,7、写出以上*以下各MOV指令SRC的寻址方式,SRC的地址,以及指令执行后的DST AX的值。,8、用N命名命令、W写磁盘命令将以上程序写入磁盘保存(保存后也可用L命令重新装入)。,9、用T命令单步跟踪以上程序中各指令,当单步跟踪到*以下MOV指令时,每单步执行一条MOV指令,观察AX的变化,并与第7步计算的AX值比较,以检查第7步的计算是否正确,从而检验自己对寻址方式掌握的情况。,10、总结8086CPU关于数据的寻址方式,特别是存贮器寻址。,15,精选课件ppt,
展开阅读全文