实验二 汇编语言指令仿真 联系客服

发布时间 : 星期二 文章实验二 汇编语言指令仿真更新完毕开始阅读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