实验三 数据传送

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

实验三数据传送

一、实验目的

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

2.利用Emulator仿真器来调试汇编语言程序。

二、实验预习要求

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

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

三、实验任务

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

MOV BL,08H

MOV CL,BL

MOV AX,03FFH

MOV BX,AX

MOV DS:[0020H],BX

单步运行结果如图

2.用以下程序段将一组数据压入(PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下:

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 前后寄存器字节位数不符合

(3) MOV AX,[SI][DI] 两个变址寄存器不能连用

(4) MOV BYTE PTR[BX],2000H BYTE的字节为8位,WORD为16位,改

为WORD

(5) MOV CS,AX CX 不能连用AX

(6) MOV DS,2000H 立即数不能直接传送给段寄存器

4.①编写程序设置各寄存器及存储单元为如下内容:

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

(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H

(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH

解:程序如下:

MOV BX,0010H

MOV SI,0001H

MOV AX,1000H

MOV DS,AX

MOV WORD PTR [BX],3412H

MOV WORD PTR 0002[BX],7856H

MOV WORD PTR 0110H[BX],0CDABH

MOV BYTE PTR 0112H[BX],0EFH

实验结果如图

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

(1) MOV AX,1200H 1200

(2) MOV AX,BX 0010

(3) MOV AX,[0120H] CDAB

(4) MOV AX,[BX] 3421

(5) MOV AX,0110H[BX] CDAB

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

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

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

解:程序如下

MOV [1000H],2233H

直接寻址

MOV AX,[1000H]

MOV [2000H],AX

寄存器间接寻址

MOV SI,1000H

MOV AX,[SI]

MOV [2000H ],AX

变址寻址

MOV SI,0100H MOV BX,0F00H MOV AX,[SI][BX]

MOV [2000H],AX

寄存器相对寻址MOV BX,0F00H MOV AX,0100H[BX]

MOV DS:[2000H],AX

6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:1000H 单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:1000H单元中的内容进行交换。试编写程序段,并上机验证结果。

解:程序如下

MOV AX,1111H

MOV BX,2222H

MOV [1000H],3333H

XCHG AX,BX

XCHG BX,[1000H]

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

图1.5 第7题图

解:程序如下

MOV AX,1000H

MOV DS,AX

MOV DS:[1000H],0EEFFH

MOV AX,DS:[1000H]

MOV AX,2000H

MOV ES,AX

MOV ES:[2000H],0CCDDH

MOV BX,ES:[2000H]

四、实验总结

DS :1000H ES :2000H

在本次实验中,我接触到了8086指令系统的数据传送指令如MOV指令,PUSH 指令等及8086的寻址方式,知道了直接寻址,间接寻址,寄存器间接寻址,变址寻址,寄存器相对寻址等等,通过这些对于仿真器的使用,让我能够更加熟练的使用汇编语言,也和课堂上学到的知识相互贯通。

相关文档
最新文档