作业(4)

2018-12-17 15:39

3-2 分别指出下列指令中源操作数和目的操作数的寻址方式。若是存储器寻址,试用表达式表示出EA=? PA=? 例:MOV [DI],AX 源操作数:寄存器寻址

目的操作数:寄存器间接寻址,其EA=(DI)

PA=((DS)*16)+(DI) (1)MOV SI,2100H (2)MOV CX,DISP[BX] (3)MOV [SI],AX (4)ADC AX,[BX][SI] (5)AND AX,DX (6)MOV AX,[BX+10H] (7)MOV AX,ES:[BX] (8)MOV AX,[BX+SI+20H] (9)MOV [BP],CX (10)PUSH DS,

3-3已知8086种的一些寄存器的内容和一些存储单元的内容如下图所示,试指出下列各条指令执行后,AX中的内容(即(AX)=?)。

M

CPU

12H 30100H

BX 0100H 30101H 34H

0002H 30102H 56H SI

3000H 30103H DS 78H

31200H 2AH 5)MOV AX,1100H[BX]

4CH 31201H

6)MOV AX,[BX][SI]

B7H 31202H

7)MOV AX,1100H[BX+SI] 31203H 65H

8)LEA AX,[SI]

答:5)∵ EA=1100H+0100H=1200H 而 PA=( 段首址*16)+偏移地址 =(3000H*16)+1200H =31200H

∴(AX) = 4C2AH

6 ) ∵ EA=0100H+0002H=0102H

而 PA=( 段首址*16)+偏移地址 =(3000H*16)+0102H =30102H

∴(AX) =7856H

7) ∵ EA=1100H++0100H+0002H=1202H 而 PA=( 段首址*16)+偏移地址 =(3000H*16)+1202H =31202H

∴(AX) =65B7H

8) ∵ (AX)←SI的值作为EA ∴ (AX) =0002H

3-4 已知(AX)=2046H,(DX)=380H,端口(PORT)=(80H)=1FH,(PORT+1)=45H,执行下列指令后,指出结果等于?

(1)OUT DX,AL (2) OUT DX, AX (3) IN AL, PORT (4) IN AX, 80H (5) OUT PORT1, AL (6) OUT PORT1, AX

3-5已知:(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213H,试画出下列指令执行到位置1和位置2时堆栈区和SP指针内容的变化图。图中应标出存储单元的实际地址PA。

PUSH AX

PUSH CX ;位置1

A2FBCH 位置1 13H POPF ;位置2

F2H A2FBDH 答:当指令执行到位置1和位置2时

位置2 A2FBEH 31H 堆栈区和SP指针内容的变化如右图所示。

A2FBFH A2FC0H

8BH

3-6 识别下列指令的正确性,对错误指令,说明出错的原因 (1)MOV DS,100 (2) MOV [1000H],23H (3)MOV [1000H],[2000H] (4) MOV DATA,1133H

(5)MOV 1020H DX (6) MOV AX,[0100H+BX+BP] (7)MOV CS,AX (8) PUSH AL

(9)PUSH WORD PTR [SI] (10) IN AL,[80H] (11)OUT CX,AL (12) IN AX,380H

(13)MOV CL,3300H (14) MOV AX,2100H[BP] (15)MOV DS,ES (16) MOV IP,2000H (17)PUSH CS (18) POP CS

(19)LDS CS, [BX] (20) MOV GAMMA,CS

3-7已知存储器数据段中的数据如右图所示。 阅读下列程序段后回答:

每个程序段的运行结果是什么? 1) LEA SI,NUM1 MOV AX,[SI] ADD AX,4[SI] MOV 8[SI],AX ADD SI,2 MOV AX,[SI] ADC AX,4[SI] MOV 8[SI],AX 2)MOV AX,NUM1 ADD AX,NUM2 MOV SUM,AX MOV AX,NUM1+2 ADC AX,NUM2+2 MOV SUM+2,AX

答:上述2个程序段的运行结果相同,

1)的运行结果为:

LEA SI,NUM1

MOV AX,[SI]; (AX)=4148H ADD AX,4[SI];(AX)=63A0H MOV 8[SI],AX ADD SI,2 MOV AX,[SI];(AX)=2816H ADC AX,4[SI];(AX)=0AC68H MOV 8[SI],AX

M

NUM1

48H 41H 16H

28H NUM2

58H 22H 52H

84H SUM

A0H 63H 68H 0ACH

2)的运行结果如右图所示:

3-8 已知数据如图所示,数据是低位在前,按下列要求编写程序段 1 完成NUM1和NUM2的两个字数据相加,和存放在NUM1里

2完成NUM1单元开始的连续4个字节数据相加,和不超过一字节,放在SUM单元。

3完成NUM1单元开始的连续8个字节数据相加,和为16位数,放在SUM和SUM+1两单元中(用循环)

4完成NUM1和NUM2的双倍精度字数据相加,和放在NUM2开始的字单元中。

3-9 已知的BCD数如图所示,低位在前,按下列要求编写计算BCD数据(为组合型BCD)的程序段。

1 完成从NUM1单元开始的连续8个组合型BCD数相加,和(超过一字节)放在SUM和SUM+1两单元中

2 完成NUM1单元和NUM2单元的两个BCD数相减,其差存入SUM单元,差=?(CF)=?


作业(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:职业健康管理12制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: