文档详情

顺序程序设计.doc

发布:2017-02-13约字共8页下载文档
文本预览下载声明
实验二 顺序程序设计 1.实验目的和要求 学习使用DEBUG的命令; 使用DEBUG命令在数据段中查看程序运行的结果; 利用DEBUG运行简单的程序段。 2.实验环境 实验的硬件环境是: IBM—PC机及其兼容机 实验的软件环境是: 操作系统:DOS 2.0以上;调试程序:DEBUG.COM;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。 3.实验内容及实验数据记录 1)输入程序观察寄存器变化 使用DEBUG,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。注意用T命令执行时,CS: IP寄存器的内容 MOV AX, 4E20 ADD AX, 1416 MOV BX, 2000 ADD AX, BX MOV BX, AX ADD AX, BX MOV AX, 001A MOV BX, 0026 ADD AL, BL ADD AH, BL ADD BH, AL MOV AH, 0 ADD AL, BL ADD AL, 9C 2)下列程序单步运行,注意AL,BX,CX寄存器的变化,并观察数据段字母的变化。 DSEG SEGMENT MSG1 DB ‘abc’ DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX LEA BX, MSG1 MOV CX, 3 S: MOV AL, [BX] AND AL, ;将AL中的ASCII码的第5位置0, ;变成大写字母。 MOV [BX], AL INC BX LOOP S MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 3)程序的跟踪执行操作 在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。那么如何查看程序的运行结果呢? 程序执行过程的跟踪操作步骤如下: (1)在DOS下输入:DEBUG 文件名.EXE (2)在DEBUG提示符下输入U命令 (3)可以用T命令单步执行指令,执行到 MOV AH, 4CH时结束,也可以用G命令执行整个程序,输入:G=B地址(如:G=0000) (4)用D命令查看程序执行后数据段的变化 输入:D K地址:0 (如:D1260:0) 在显示的数据中,对照源程序或LST文件查看结果所在的偏移地址的内容。 4)编写调试下面的程序,用DEBUG查看数据段中的结果 (1),X,Y,W为字节类型变量,结果存于Z单元,写出数据段和代码段。(无符号数) (2)X,Y为字节类型数,求,写出完整的数据段和代码段,不用乘除指令。(无符号数) 4.算法描述及实验步骤 1)用EDIT或记事本输入各段,并存储成源程序(保存在MASM目录下)。扩展名为.asm; 2)对源程序进行汇编、连接 操作如下: (1)在DOS状态下,进入MASM目录; (2)输入命令:MASM 文件名(连同扩展名); (3)在系统出现的提示中,输入文件名,生成list文件; (4)如果系统没有提示出错,编译完成。提示错误则应用EDIT打开源文件进行修改,然后再重复(2)、(3)步骤。 (5)输入:LINK 文件主名 (6)没有提示错误,汇编过程就结束了,产生了.exe可执行文件。 3)执行文件:在DOS提示符下直接输入文件主名即可。 进入debug,输入T命令,单步执行程序; 按G命令,显示项目正常; 按D命令,显示存储单元内容。 5.调试过程 实验1:利用T命令逐条执行指令 … … … 实验2: 用T命令逐步运行程序,直至出现 进入循环,直至完成‘abc’的输出,循环停止。直到出现INT 21,程序执行完毕,如图。 将代码改为大写字母ABC变成小写字母abc,只需将: (1)将MSG1 DB abc改为MSG1 DB ABC (2)将AND
显示全部
相似文档