PUSH DX
每执行一条指令,查看SP的值,并记录。 (b) POP AX POP BX POP CX POP DX
每执行一条指令,查看SP的值,并记录,指令执行完后,查看AX BX CX DX的值,看看和前面有什么不同,想想为什么? 3、每执行下面的指令查看各标志位
先用r命令,查看CF、OF、SF、ZF的值,并记录。然后执行下面的指令,每执行1条指令,查看上述4个标志的值,并思考为什么? (1) MOV AX,FFFF ADD AX,2 (2) MOV AX,FFFF ADD AX,1 (3) MOV AX,7A00 ADD AX,7700
七、实验步骤 1、运行DEBUG。
2、记录当前标志的情况,查看当前SP的值。 3、执行栈操作指令后SP的变化。 4、指令算术指令后标志的变化。
八、实验注意事项
1、严格按要求操作,实验完毕请老师检查实验结果后方可离开。 2、实验报告上一定写出程序详单,以及程序运行情况。
九、实验报告要求
根据大纲和实验指导书书写实验报告。
5
1,2,3,9,15实验三 EXE文件调试和汇编实验
一、实验类型
验证性实验。
二、实验目的与任务
1、掌握MASM工具,掌握基本的汇编程序技巧。 2、利用DEBUG调试EXE程序。
三、预习要求
预习第5章、第6章和微机实验指导书。
四、实验基本原理
1. MASM的使用
MASM包含3个文件: EDIT MASM LINK
(1) EDIT 为编辑软件,编辑汇编语言程序. 也可以使用计事本编写汇编程序. 所有编写的汇编语言程序必须使用后缀 .asm
(2) MASM 将编写的汇编语言程序(*.asm)编译为二进制代码文件(*.OBJ)—目标文件 .命令格式: MASM 文件名;
(3) LINK 将*.OBJ(目标文件)连接成*.EXE文件(执行文件). 命令格式:LINK 文件名; 2. 举例
在屏幕上输出“Hello!!”字样
五、实验仪器与设备
1、PC微机,1台
2、MASM汇编及调试程序(MF开发环境),1套
六、实验内容
1、使用DEBUG调试执行文件
假定已编译连接好的执行文件名为: test1.exe
在DOS模式下输入: DEBUG TEST1.EXE, 进入DEBUG进行调试, 在DEBUG下,注意以下问题:
(1) 此时的代码段和数据段是分离的,即CS和DS的值不一样. (2)程序是在偏移为0开始的位置 (3)要显示数据,要使用逻辑地址.
如 D xxxx:0000 显示最开始的数据. 其中xxxx为DS(数据段的值). DS
6
的值查看程序的前2条指令得到. (4) 使用G命令执行程序.
2. 编写和调试汇编程序要注意的问题
(1) 如果汇编程序有错误,在使用MASM编译时就不会产生*.OBJ文件. 更不用说使用LINK连接成 *.EXE文件了.
(2) 汇编语言源程序的扩展名一定要为 *.asm .
3. 实验
任意定义10个字节的整数, 将它们全部增加1, 并使用DEBUG 查看结果.
七、实验步骤
1、编写汇编程序。
2、利用MASM和LINK编译连接汇编程序。 3、利用DEBUG调试该程序并执行。
八、实验注意事项
1、严格按要求操作,实验完毕请老师检查实验结果后方可离开。 2、实验报告上一定写出程序详单,以及程序运行情况。
九、实验报告要求
根据大纲和实验指导书书写实验报告。
7
实验四 汇编语言实验
一、实验类型
验证性实验。
二、实验目的与任务
掌握汇编程序设计的方法。
三、预习要求
预习第6章汇编程序设计和微机实验指导书。
四、实验基本原理
(1) 如果汇编程序有错误,在使用MASM编译时就不会产生*.OBJ文件. 更不用说使用LINK连接成 *.EXE文件了.
(2) 汇编语言源程序的扩展名一定要为 *.asm .
五、实验仪器与设备
1、PC微机,1台
2、MASM汇编及调试程序(MF开发环境),1套
六、实验内容
1、程序一开始循环显示 0、1?.9,按空格键后循环显示 A、B??. Z,再按空格显示数字,按其它结束。
2、比较任意输入的2串字符,如果相同则提示“OK”,否则“Error”
七、实验步骤
8
1、编写汇编程序。
2、利用MASM和LINK编译连接汇编程序。 3、运行程序,记录结果。
八、实验注意事项
1、严格按要求操作,实验完毕请老师检查实验结果后方可离开。 2、实验报告上一定写出程序详单,以及程序运行情况。
九、实验报告要求
根据大纲和实验指导书书写实验报告。
9