汇编实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一数据传送
一、实验目的
1.1.熟悉8086指令系统的数据传送指令及8086的寻址方式。
2.2.利用Turbo Debugger调试工具来调试汇编语言程序。
二、实验预习要求
1.复习8086指令系统中的数据传送类指令和8086的寻址方式。
2.预习Turbo Debugger的使用方法(见附录二):
a)a)如何启动Turbo Debugger;
b)b)如何在各窗口之间切换;
c)c)如何查看或修改寄存器、状态标志和存储单元的内容;
d)d)如何输入程序段;
e)e)如何单步运行程序段和用设置断点的方法运行程序段。
3.3.按照题目要求预先编写好实验中的程序段。
三、实验任务
1.通过下述程序段的输入和执行来熟悉Turbo Debugger的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下:
MOV BL,08H BL=08
MOV CL,BL CL=08
MOV AX,03FFH AX=03FF
MOV BX,AX BX=03FF
MOV DS:[0020H],BX DS:[0020H]=03FF
2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下:
MOV AX,0102H AX=0102
MOV BX,0304H BX=0304
MOV CX,0506H CX=0506
MOV DX,0708H DX=0708
PUSH AX SP=FFEC FFEC=02,FFED=01
PUSH BX SP=FFEA FFEA=04,FFEB=03
PUSH CX SP=FFE8FFE8=06,FFE9=05
PUSH DX SP=FFE6 FFE5=08,FFE6=07
出栈程序段请自行编写(用不同的出栈顺序)。
3.指出下列指令的错误并加以改正,上机验证之。
(1) MOV [BX],[SI] 操作数不能都是存储单元,改为BX,[SI]
(2) MOV AH,BX 数据类型不一致,改为:AX,BX
(3) MOV AX,[SI][DI] [SI][DI]不能同是变址,改为[BX][DI]
(4) MOV BYTE PTR[BX],2000H BYTE PTR为8位类型,2000H为16位
(5) MOV CS,AX CS不能直接修改,因为它是程序段
(6) MOV DS,2000H DS是数据段
4. 设置各寄存器及存储单元的内容如下:
(BX)=0010H,(SI)=0001H
(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H
(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH
说明下列各条指令执行完后AX寄存器中的内容,并上机验证。
(1) MOV AX,1200H AX=1200
(2) MOV AX,BX AX=0010
(3) MOV AX,[0120H] AX=CDAB
(4) MOV AX,[BX] AX=3412
(5) MOV AX,0110H[BX] AX=CDAB
(6) MOV AX,[BX][SI] AX=5634
(7) MOV AX,0110H[BX][SI] AX=EFCD
部分显示寄存器的内容:
5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。
直接寻址方式:
Mov ax, [1000]
Mov [2020],ax
Mov ax,1000
寄存器间接寻址方式:
Mov bx,[ax]
Mov [2000],bx
6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:0010H 单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。
1.采用Schg交换指令
xchg ax,bx
Xchg bx,[0010]
2.加多一个CX寄储器做中界
Mov cx,ax
Mov ax,bx
Mov bx,cx
Mov cx,[0010]
Mov [0010],bx
Mov bx,cx
7. 设(DS)=1000H ,(ES)=2000H ,有关存储器的内容如图1.5所示。要求将DS 段的内容传送到AX 寄存器,ES 段的内容传送到BX 寄存器,试编写程序段。
图1.5 第7题图
截图如下:
DS :1000H ES :2000H