汇编第一次实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据传送

一、实验目的

1.1.熟悉8086指令系统的数据传送指令及8086的寻址方式。

2.2.利用Turbo Debugger调试工具来调试汇编语言程序。

二、实验预习要求

1.复习8086指令系统中的数据传送类指令和8086的寻址方式。

2.预习Turbo Debugger的使用方法(见附录二):

a)如何启动Turbo Debugger;

b)如何在各窗口之间切换;

c)如何查看或修改寄存器、状态标志和存储单元的内容;

d)如何输入程序段;

e)如何单步运行程序段和用设置断点的方法运行程序段。

3.按照题目要求预先编写好实验中的程序段。

三、实验任务

1.通过下述程序段的输入和执行来熟悉Turbo Debugger的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下:

MOV BL,08H

MOV CL,BL

MOV AX,03FFH

MOV BX,AX

MOV DS:[0020H],BX

序出栈,观察出栈后数据的变化情况。压栈程序段如下:

MOV AX,0102H

MOV BX,0304H

MOV CX,0506H

MOV DX,0708H

PUSH AX

PUSH BX

PUSH CX

PUSH DX

出栈程序段请自行编写(用不同的出栈顺序)。

3.指出下列指令的错误并加以改正,上机验证之。

(1) MOV [BX],[SI]

两个参数不能同时为存储单元

(2) MOV AH,BX

两个寄存器位数不同,其中AH为8位寄存器,BX为16位寄存器(3) MOV AX,[SI][DI]

不能用两个变址寄存器来实现寻址操作

(4) MOV BYTE PTR[BX],2000H

两个参数位数不同

(5) MOV CS,AX

两个寄存器位数不同,其中CS为16位寄存器,AX为8位寄存器(6) MOV DS,2000H

DS作为目的操作数时,源操作数只能为AX

4. 设置各寄存器及存储单元的内容如下:

(BX)=0010H,(SI)=0001H

(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H (10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH

说明下列各条指令执行完后AX寄存器中的内容,并上机验证。

(1) MOV AX,1200H = 1200

(2) MOV AX,BX =0010

(3) MOV AX,[0120H] =CDAB

(4) MOV AX,[BX]

(5) MOV AX,0110H[BX]

(6) MOV AX,[BX][SI]

(7) MOV AX,0110H[BX][SI]

5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。

直接寻址:

间接寻址:

6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:0010H 单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然

后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。

7.设(DS)=1000H,(ES)=2000H,有关存储器的内容如图1.5所示。要求将DS段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。

DS:1000H ES:2000H

四、实验报告要求

1.写明本次实验内容和实验步骤。

2.整理出运行正确的各题源程序段和运行结果。3.写出第3题中改正后的正确指令。

4.小结Turbo Debugger的使用方法。

相关文档
最新文档