计算机组成原理与汇编语言程序设计--习题及解答(6)

2020-04-14 17:06

精彩网站 http:// www.iquwu.com

(11) CLC ; CF←0

13. 试分别指出下列各指令语句的语法是否有错误,若有错,指明是什么错误。 (1) MOV AL , 0F5H ;√ (2) (2)ADD [BX][BP] , BX ; √ (3) (3)CMP AL , 100H ; √ (4) (4)TEST [BP] , DL ; √

(5) (5)ADC 15H , CL ; × ADC是双操作数指令; 目的地址不能为立即数

(6) (6)SUB [DI] , DA_WORD ; × 源操作数和目的操作数不能同时为存储器操作数 (7) (7)OR CH , CL ; √

(8) (8)MOV AL , 1000H ; × 源操作数和目的操作数类型属性不一致 (9) (9)SAR 10H[DI] , 2 ; √移位次数大于1时, 应由CL指定移位次数

(10) NOT AL , BL ; × NOT 是单操作数指令

(11) (11)DEC CX , 1 ; × DEC是单操作数指令

(12) (12)LEA ES , TAB[BX] ; × LEA指令的目的地址必须是通用寄存器 14. 执行下面2条指令后,标志寄存器中CF,AF,ZF,SF和OF分别是多少? MOV AL , 91 ;91=01011011B ADD AL , 0BAH ; 0BAH=10111010B

15. 假设(DS) = 091DH , (SS) = 1E4AH , (AX) = 1234H , (BX) = 0024H , (CX) = 5678H ,

(BP) = 0024H , (SI) = 0012H , (DI) = 0032H , (09226H) = 00F6H , (09228H) = 1E40H , (1E4F6H) = 091DH . 试给出下列各指令或程序段执行的分别执行的结果.

(1) (1)MOV CL , 20H[BX][SI]

解 : 源操作数的物理地址: (DS)×10H + 20H+(BX)+(SI)

将09226H字节单元的内容送CL,结果(CL) = 00F6H (2) MOV [BP][DI] , CX

解 : 目的操作数的物理地址: (SS)×10H + (BP)+(DI)

21

精彩网站 http:// www.iquwu.com

将CX寄存器的内容传送到1E4F6H字单元 , 结果 (1E4F6H) = (CX) = 5678H (3) (3)LEA BX , 20H[BX][SI] MOV AX , 2[BX]

解 : 执行完第一句指令后,BX的内容为:

第二句指令中,源操作数的物理地址为 EA = (DS)×10H+2+(BX)

将09228H字单元的内容送AX寄存器 , 结果 (AX) = 1E40H (4)LDS SI , [BX][DI] MOV [SI] , BX

解 : 第一句指令中源操作数的逻辑地址为 DS:(BX)+(DI) 其偏移量为 (BX)+(DI) = 0024H+0032H = 0056H, 执行完第一句指令后, (SI) = 0056H 第二句指令中,源操作数的物理地址为

(DS)×10H+(SI) = 091D0H+0056H = 09226H 将BX寄存器的内容送09226单元 , 结果 (09226H) = (BX) = 0024H (5)(5)XCHG CX , 32H[BX]

XCHG 20H[BX][SI] , AX

解 : 第一句指令中源操作数的物理地址为 (DS) × 10H+32H+(BX)= 09226H

09226H字单元和CX寄存器的内容交换,结果 (CX) = 00F6H ,(09226H) = 5678H 第二句指令中目的操作数的物理地址为 (DS) × 10H++20H+(BX)+(SI) = 09226H

22

精彩网站 http:// www.iquwu.com

09226H字单元和寄存器AX的内容交换, 结果 (09226H) = 1234H , (AX) = 5678H 16. 假设(SS)=0915H , (DS) = 0930H , (SI) = 0A0H , (DI) = 1C0H , (BX) = 80H , (BP) = 470H . 现有一指令“MOV AX , OPRD”, 若源操作数的物理地址为095C0H , 试用4种不同寻址方式改写此指令,并要求至少使用上述条件一次. 解: 源操作数的物理地址与DS段基址的差为 095C0H – 09300H = 2C0H

① MOV AX , 100H[DI] ; 源操作数的物理地址为: (DS)×10H+100H+(DI) = 09300H + 100H + 1C0H =095C0H ② MOV AX , 220H[SI] ; 源操作数的物理地址为: (DS)×10H+220H+(SI) = 09300H + 220H + 0A0H =095C0H ③ MOV AX , 240H[BX] ; 源操作数的物理地址为: (DS)×10H+240H+(BX) = 09300H + 240H + 080H =095C0H ④ MOV AX , 1A0H[SI][BX] ;源操作数的物理地址为:

(DS)×10H+0A0H+(SI)+(BX) = 09300H + 1A0H + 0A0H +080H = 095C0H

18. 假设(AX)=0A5C6H , (CX) = 0F03H , 则下列4条指令执行后 , (AX) = 81C6H , CF= 1 .

STC ; CF = 1

RCL AX , CL ; AX= 0010 1110 0011 0110 , CF = 1 AND AH , CH ; AH = 0000 1110 , CF = 0

RCR AX , CL ; AX = 1000 0001 1100 0110, CF = 1

19. 假设(AX) = 0FC77H , (CX) = 504H , 则下列4条指令执行后 , (AX) = , CF = . CLC ; CF = 0

SAR AX , CL ; (AX) = 1111 1111 1100 0111 , CF = 0 XCHG CH , CL ; (CX) = 405H

SHL AX , CL ; (AX) = 1111 1000 1110 0000 ,CF = 1 20. 假设(AX) = 1234H , (BX) = 0FFFFH , 则下述3条指令执行后 , (AX) = 1236H , (BX) = 0001H . INC AX ; (AX) = 1235H

NEG BX ; (BX) = 0000 0000 0000 0001B = 0001H

23

精彩网站 http:// www.iquwu.com

ADD AX , BX ; (AX) = 1236H

21. 假设(AX) = 0FFFFH , 则下述程序段执行后 , (AX) = 0001H .

INC AX ; (AX) = 0000H

NEG AX ; (AX) = 0000 0000 0000 0001B = 0000H DEC AX ; (AX) = 0FFFFH NEG AX ; (AX) = 0001H 22. 假设(BX) = 12FFH , 则下述程序段执行后 ,

(BX) = 0012H , ZF = 0 , CF = 0 . MOV CL , 8 ;(CL)=8

ROL BX , CL ;(BX) = 1111 1111 0001 0010B = 0FF12H AND BX , 0FFH ; (BX) = 0012H

CMP BX , 0FFH ; (BX) = 0012H CF=0 ,ZF=0 解: ① 第一句指令执行后 , (CL)=8

② 第二句指令执行后 , (BX) = 1111 1111 0001 0010B = 0FF12H

③ 第三句指令执行后 , (BX) = 0012H

④ 第四句指令执行后 , (BX) = 0012H CF=0 ,ZF=0

23. 假设(AX) = 0B55BH , (DX) = 0F0FH , 则下述程序段执行后 , (AX) = 0FBABH.

AND AH , DL ; (AX) = 055BH XOR AL , DH ;(AX) = 0554H

NEG AH ;(BX) = 1111 1011 0101 0100B = 0FD54H NOT AL ; (AX) = 1111 1011 1010 1011H = 0FBABH 24. 假设(AX) = 0FF60H , 则下述程序段执行后 , (AX) = 0 , CF = 0 . STC ; CF = 1

MOV DX , 96 ; (DX) = 0060H

24

精彩网站 http:// www.iquwu.com

XOR DH , 0FFH ; (DX) = 1111 1111 0110 0000B = 0FF60H SBB AX , DX ; (AX) = 0

25. 假设(AL) = 08H , (BL) = 07H , 则下列程序段执行后 , (AH) = 01H , (AL) = 05H , CF = 1 . ADD AL , BL AAA

26. 假设DF=0 , (DS:0100H) = 01A5H , 则下述程序段执行后, (AL) = 0A5H , SI = 0102H .

MOV SI , 0100H LODSW

解: LODSW指令的功能: ① AX← (DS:(SI)) ② SI← (SI)±1或2 ③ 对标志位无影响

执行后 , (AX) = 01A5H , 即(AL) = 0A5H , (SI) = 0102H

28. 试按下列要求分别编制程序段: (1) (1)把标志寄存器符号位置“1”. 解: LAHF

OR 10000000B SAHF

(2) (2)寄存器AL中高低4位互换. 解: MOV CL , 4 ROL AL , CL 或 MOV CL , 4 ROR AL , CL

(3)假设有3个字存储单元A,B,C,Z在不使用ADD和ADC指令的情况下,实现

25


计算机组成原理与汇编语言程序设计--习题及解答(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:旅游专业建设与教学改革思路及措施

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

马上注册会员

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