发布时间 : 星期二 文章实验二 汇编语言指令仿真更新完毕开始阅读e1da670e763231126edb111f
实验二 汇编语言指令仿真
【实验目的】
1. 学会用实验的方式验证理论,用理论来指导实验,进一步熟悉汇编语
言开发环境。
2. 深刻理解寻址方式的意义以及80X86指令的各种寻址方式。 3. 深刻理解80X86各种指令的真正含义及功能。 4. 掌握与数据有关的不同寻址方式。
5. 继续熟悉实验操作软件的环境及使用方法。
【实验内容及要求】
一、在emu8086中仿真简单指令
1. 仿真简单指令,请按要求写出程序代码及实验步骤。(在仿真前请大家先用理论分析一下执行每一条指令后,目操作数、源操作数中的内容,然后上机验证你的推测。提示里有一个示例)
2. 将实验结果与理论结果进行比较,以便深入理解80X86指令的各种寻址方式。
3. 实验过程中碰到的问题及如何解决的? 4. 写出心得体会及还未理解的知识点。 【例题】
进入EMU8086之后,建立一个空白文档,将下面的程序段输入,按EMULATE按钮,进入EMULATE页面,按SINGLE STEP 按钮,观察每个寄存器以及存储单元的值。验证理论运算结果。
如,已知(DS)=2000H,(ES)=1000H,(SI)=0002H (BX)=100H,(20100H)=55H, (20101H)=42H, (20102H)=24H ,(20103H)=25H ,(20104H)=77H, (10100H)=22H (10101H)=33H, (10102H)=11H, (10103H)=44H, (10104H)=88H, (10105H)=99H,请写出下列指令执行后目操作数中的内容。 MOV AX, [BX] ADD AX, ES:[BX] MOV CX, [BX+SI] ADD AX, CX
MOV CX, ES:[BX+2*SI] ADD AX, CX
以下为仿真语句示例:
MOV AX,2000H
MOV DS,AX ;给数据段DS赋初值2000H MOV AX,1000H
MOV ES,AX ;给扩展段ES赋初值 1000H MOV SI,0002H ;给通用寄存器赋初值 MOV BX,100H
MOV [0100H],55H
1
MOV [0101H],42H
;给数据段偏移量为100H、101H的存储单元赋初值
MOV [0102H],24H MOV [0103H],25H
;给数据段偏移量为102H、103H的存储单元赋初值
MOV [0104H],77H
;给数据段偏移量为104H的存储单元赋初值
MOV ES:[0100H],22H MOV ES: [0101H],33H
;给附加段偏移量为100H、101H的存储单元赋初值
MOV ES: [0102H],11H MOV ES: [0103H],44H
;给附加段偏移量为102H、103H的存储单元赋初值
MOV ES: [0104H],88H MOV ES: [0105H],99H
;给附加段偏移量为104H、105H的存储单元赋初值
MOV AX,[BX] ;仿真指令 …… …… ……
请仿真以下简单指令,要求如下:
(提示:1.注意一定要先理论分析,然后仿真,才能达到实验效果;2.前后小题
之间没有关系,所以注意屏蔽已经执行的语句,以免影响后面仿真的结果)
设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,
CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=OFFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H, (21350H)=88H,(21351H)=51H。
下列各指令都在此环境下执行,在下列各小题的空格中填入相应个指令的执行结果。 (1)
MOV AX,1352H AX=______
(2) MOV AX, [1352H]
2
AX=______
(3)MOV AX, [1353H]
AX=______
(4)MOV 0150H [BX], CH
(11350H)=_____, (11351H)=______ (21350H)=_____, (21351H)=______ (5)MOV AX, 0150H [BP]
AX=________ (6) POP AX
AX=______, SP=______ (7)ADD [SI], CX
(11354H)=____ , (11355H)=____,
SF=____, ZF=____, PF=____, CF=____ OF=_____
(8) SUB BH, 0150H [BX][SI]
BH=____, SF=____,ZF=____, PF=____, CF=____, OF=____ (9) INC BYTE PTR 0152H [BX]
(11352H)=_____,(11353H)=_____,CF=_____
(10)INC WORD PTR 0152H [BX]
(11352H)=_____,(11353H)=_____,CF=____ (11)SAR BYTE PTR 0150H [BX], 1
(11350H)=_____,CF=_____,OF=_____ (12)SAL WORD PTR 0150H [BX], 1
(11350H)=_____,CF=_____,OF=____
【思考题】 指出下列指令中源操作数和目的操作数的寻址方式:
(一定要注意分开写寻址方式)
(1)MOV AX, 0AH (2)ADD [BX], DX
(3)PUSH CS (4)POP DS
3
(5)MUL BL (6)MOV DX,[1200H]
(7)MOVSB (8)SUB AX,5[BP+DI]
4
5