第1部分 微机原理实验
实验1 数据传送
一、实验目的
1. 掌握8086指令系统的数据传送指令及8086的寻址方式。
2. 学会利用调试工具来调试8086汇编语言程序段。
二、实验设备
计算机。
三、实验要求
1. 复习8086指令系统的数据传送指令及8086的寻址方式。
2. 学习Turbo Debugger(TD.EXE)的使用方法。
四、实验内容
1. 通过下面的程序段输入和执行来熟悉TD.EXE的使用,通过显示屏观察程序的执行情冴。练习程序段如下:
MOV BL, 88H MOV CL, BL MOV AX, 9999H MOV [0002H], AX
2. 利用汇编集成环境软件(轻松汇编、emu8086等)把下面的程序建立成.asm文件,并保存在C:/BIN文件夹下,再编译、生成.EXE文件,然后把生成的.EXE文件拖到TD.EXE进行调试,单步执行。
练习程序段如下:
DATA SEGMENT ORG 0010h VAR1 DB 11H,22H,33H,44H,55H,66H,77H,88H,99H DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS,AX MOV BX, 0010H MOV SI, 0001H MOV AX,1200H ;从此处开始,根据指令的执行情冴,填好表1-1 MOV AX, BX MOV AX, DS:[0010H] MOV AX,[BX] MOV AX,0006H[BX] MOV AX, [BX][SI] MOV AX, 003H[BX][SI] MOV AH,4CH INT 21H CODE ENDS END START
说明从MOV AX,1200H处开始的7条含AX指令执行后AX寄存器的内容,并填好表1-1。
表1-1 程序单步执行时AX寄存器的内容
五、实验原理
利用数据传送指令可以把数据传入8086的寄存器中,也可传给内存。单个字节或字的存入内存可以用MOV指令完成,批量数据的存入可以用伪指令完成,如实验内容2,就是利用伪指令把数据11H,22H,33H,44H,55H,66H,77H,88H,99H从偏移地址0010处存入数据段。
六、实验步骤
(一)实验内容1
操作步骤:
1. 打开C:/BIN文件夹下的TD.EXE。
2. 在光标处直接输入练习程序段。键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段,每输入一条指令,回车一次,再输入下条指令,把上面4条语句输入完毕,按F8键单步执行,观察其寄存器区各寄存器的变化情冴。
3. 在执行最后一行指令前,观察内存区DS:[0002H]和DS:[0003H]存储的内容,然后鼠标左键选中内存区,再右键选中GOTO,在弹出对话框中输入DS:0002H,观察DS:[0002H] 和DS:[0003H]单元存储的内容是不是都变成了99H。
(二)实验内容2
操作步骤:
1. 打开桌面上的轻松汇编或EMU8086,输入实验内容2的程序,并编译,确认没有错误。2.把文件存在C/BIN文件夹下,存放时以英文给文件命名,后缀名为.asm。
3. 单击开始/程序/附件/命令提示符,在弹出的窗口中输入如下指令。
(1)CD.. 回车;
(2)CD.. 回车;
(3)CD BIN 回车;
(4)TASM 文件名.asm回车;
(5)TLINK 文件名.OBJ 回车。
4. 把生成的“文件名.EXE”拖到TD.EXE,按F8单步执行两次,观察内存区DS:0010H 处开始的内存区是不是按顺序存入了11H、22H…99H。
5. 单步执行其他指令,观察AX寄存器的变化情冴。
七、本次实验注意事项
做实验时注意一定要保留C:/BIN文件下的如图1-1所示的文件夹和文件,千下不能删除,否则会导致部分功能不能用。
图1-1 文件夹和文件
八、实验报告要求
写明实验内容2各条指令源操作数的寻址方式,上机验证后填好表1-1。
九、课后要求
根据本次所做的实验,同学们可自行验证书中的程序段的执行情冴和指令的执行情冴,看是不是和描述的一致。