x86指令系统习题解答.ppt_第1页
x86指令系统习题解答.ppt_第2页
x86指令系统习题解答.ppt_第3页
x86指令系统习题解答.ppt_第4页
x86指令系统习题解答.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章习题讲评,3.1 已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。 在以上给出的环境下,试问下列指令或指令段执行后的结果如何?,(1)MOV CL,BX+20HSI 解:EA= BX+20H+SI=56H PA=DS*16+EA=91D0H+56H=9226H CL=(09226H)=F6H (2)MOVBPDI,CX 解: EA= BP+DI=56H PA=SS*16+EA=1E4F6H (1E4F6H)= 5678H,(3)LEA BX,BX+20HSI MOV AX,BX+2 解:BX= BX+20H+ SI=0056H EA= BX+2=58H PA=DS*16+EA=91D0H+58H=9228H AX=(09228H)=1E40H (4) LDS SI,BXDI MOVSI,BX 解:EA= BX+DI=56H, PA=DS*16+EA=91D0H+56H =9226H SI=(09226H)=00F6H, DS=(09228H)=1E40H EA= SI=00F6H, PA=DS*16+EA=1E400H+00F6H=1E4F6H (1E4F6H)= BX=0024H,(5) XCHG CX,BX+32H XCHGBX+20HSI,AX 解:EA= BX+32H=56H, PA=DS*16+EA=91D0H+56H =9226H (09226H)= CX=5678H , CX=(09226H)=00F6H EA= BX+20H+SI=56H,PA=DS*16+EA=91D0H+56H =9226H AX=(09226H)=5678H ,(09226H) = AX=1234H,3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=OE7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H, (21351H)=51H 下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。 (1)MOV AX,1352H AX= 解:AX=1352H,(2)MOV AX,1352H ;AX= 解:PA=DS*16+EA=10000H+1352H=11352H (11352H)=0FFH,(11353H)=26H AX=26FFH (3)MOV 0150HBX,CH (11350H)= (11351H)= 解: EA=BX+0150H=1350H PA=DS*16+EA=10000H+1350H=11350H, CH=33H (11350H)=33H, (11351H)的值不变 ,(11351H)=3CH,(4) MOV AX,0150HBP AX=_ 解:EA= BP0150H1350H PA=SS*16+EA=20000H+1350H=21350H AX=5188H,(5)POP AX ; AX=_,SP=_ 解:EA= SP=1350H PA=SS*16+EA=20000H+1350H=21350H AX=5188H, SP=1350H+2H=1352H,(6)ADDSI,CX (11354H)=_,(11355H)=_,SF=_ ZF=_, PF=_, CF=_, OF=_ 解:EA=SI=1354H, PA=DS*16+EA=10000H+1354H=11354H CX=339AH, (11354H)=52H,(11355H)=OE7H 0E752H+339AH=11AECH-(11355H): (11354H) (11354H) =0ECH, (11355H)= 1AH,(11354H) =0ECH, (11355H)= 1AH CF=1,ZF=0, PF(低八位奇偶校验):0ECH= 11101100BPF=0 SF(最高位状态),1H=0001BSF=0 OF(溢出标志) 0E752H1110011101010010B 339AH=11001110011010B 1110011101010010 + 11001110011010 10001101011101100,(7)SUB BH,0150HBXSI BH=_,SF=_,ZF=_,PF=_,CF=_,0F=_ 解:EA=0150H+BX+SI=26A4H;PA=DS*16+EA=10000H+26A4H=126A4H; (126A4H)=9DH,BH=12H BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0,(8)INC BYTE PTR 0152HBX (11352H)=_,(11353H)=_,CF=_ 解:EA=0152H+ BX= 1352H,PA=DS*16+EA=11352, (11352H)=0FFH, (11352H)=00H, (11353H)= 26H, 不影响CF (9)INC WORD PTR 0152HBX (11352H)=_,(11353H)=_,CF=_ 解:EA=0152H+ BX= 1352H, PA=DS*16+EA=11532, (11352H)=0FFH, (11353H)= 26H (11352H)=00H, (11353H)= 27H, 不影响CF,(10)SAR BYTE PTR 0150HBX,1 (11350H) =_, CF=_, OF=_ 解:EA=BX+0150H=1350H PADS*16+EA=11350H, (11350H)=0A5H= 10100101B 11010010B=0D2H, CF=1,OF=0 (当移位数为1是,最高位不变则OF=0) (11)SAL BYTE PTR 0150HBX,1 (11350H)=_,CF=_,OF=_ 解:EA=BX+0150H=1350H,PA=DS*16+EA=11350, (11350H)=0A5H= 10100101B 01001010B=4AH, CF=1,OF=1,3、3 设下列各转移指令的第一字节在内存中的地址为CS=2000H和IP=016EH,且环境均为DS=6000H,BX=16C0H,(616C0H)=46H,(616C1H)=01H,(616C2H)=00H,(616C3H)=30H,(61732H)=70H,(61733H)=17H。写出下列各无条件转移指令执行后CS和IP值。个指令左首的16进制编码是该指令的机器码。指令中的目的地址用相应的标号表示。 (1)EBE7 JMP SHOURT AGAIN (2)E90016 JMP NEARPTR OTHER (3)E3 JMP BX (4)EA46010010 JMP FAR PROB (5)FF67 JMP WORD PTR 0072HBX (6)FFEB JMP DWORD PTR BX,解: (1)E7补码为-19,IP目标=IP源+2+EA(即-19) =016EH+2-19=0157H 因为段内寻址,所以cs=2000H不变 (2)IP目标=IP源+3 +EA=016EH+3+1600H=1771H 因为段内寻址 所以cs=2000H不变 (3) IP=16C0H, 因为段内寻址 所以cs=2000H不变 (4)段间寻址,有机器码可看出IP=0146H CS=3000H (5)段内寻址,所以CS=2000H不变 DS*16+0072H+BX=61732H (61732H)=70H,(61733H)=17H IP=1770H (6)PA=DS*16+BX=60000H+16C0H=616C0H (616C0H)=46H (616C1H)=01H IP=0146H (616C2H)=00H (616C3H)=30H CS=3000H,34 阅读下列各小题的指令序列,在后面空格中填入 该指令序列的执行结果。 (1) MOV BL,85H MOV AL,17H ADD AL,BL DAA AL=_, BL=_, CF=_ 解:17H+85H9CHAL DAA 压缩的BCD码加法十进制调整指令。 (AL的低4位9或AF=1,ALAL+06H,AF1; AF是辅助进位标志用以标志D3向D4的进位 AL的高4位9或CF=1,ALAL+60H,CF1;) AL=9CH+ 06H=0A2H AL=0A2H+60H=02H, BL=85H CF=1,(2) MOV AX,BX;NOT AX; ADD AX,BX; lNC AX AX=_,CF=_ 解:INC不影响标志位 AX=0000H, CF=0 (3)MOV AX,0FF60H ; STC ; MOV DX,96 XOR DH,0FFH ; SBB AX DX AX=_,CF=_ 解:XOR 命令 会使 CF0,OF0 96=60H,AX=0000H, CF=0 (4)MOV BX,0FFFEH ; MOV CL,2;SAR BX,CL BX=_,CF=_ 解:0FFFEH=1111111111111110B 1111111111111111B,CF=0 1111 1111 1111 1111B,CF=1,35 阅读分析下列指令序列 ADD AX,BX JNO Ll JNO L2 SUB AX,BX JNC L3 JNO L4 JMP L5,(1)AX=14C6H,BX=80DCH 解: ADD AX,BX OF=0,CF=0; L1 (2)AX=0B568H,BX=5487H 解: ADD AX,BX OF=0,CF=1; L1,(3)AX=42C8H,BX=608DH 解:ADD AX,BX CF=0 ,OF=1, AX=0AC55H SUB AX,BX;CF=0,OF=0;L3 (4) AX=0D023H,BX=9FDOH 解:ADD AX,BX OF=1,CF=1,AX=6FF3H SUB AX,BX ;CF=1,OF=1;L5 (5)AX=9FDOH,BX=0D023H 解:ADD AX,BX OF=1,CF=1,AX=6FF3H SUB AX,BX ;CF=1,OF=1;L5,3.6 AND AL,AL JZ BRCHl RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3 上述程序运行后,试回答:,(1)当AL =00H时, 程序转向BRCHl (2)当AL =01H时, 程序转向BRCH2 (3)当AL =0FFH时, 程序转向BRCH3,37完成下列操作,选用什么指令: (1)将AX的内容减去0520H,和上次运算的借位; SBB AX,0520H (2)将变量名TABL的段地址送AX。 MOV AX SEG TABL 3.8 D1 DB 20H DUP(?) D2 DW D1 请写出用一条指令实现取D1的偏移地址 SI中的三种方法。 (A) LEA SI,D1 (B) MOV SI,OFFSET D1 (C) MOV SI,D2,3.9 程序段1 程序段2 MOV AX , 147BH MOV AX , 99D8H MOV BX , 80DCH MOV BX , 9847H ADD AX , BX SUB AX , BX JNO L1 JNC L3 JNC L2 JNO L4 上述两个程序段执行后,分别转移到哪里? 解:1) L1 2) L3,3.10 MOV BX , 0FFH AND BX , 0FFFH OR BX , 0F0FH XOR BX , 00FFH 上述程序段运行后,BX= 0F00H,CF= 0 (注意:对于8086 的加法和减法操作,使用CF 来标识将两个操作数看成无符号数时计算是否发生了溢出,而OF 则标识将两个操作数看成有符号数时的情况。计算CF 位时,加法操作是直接将最高位的进位赋给CF,而对于减法操作而言,转换后的补码加法有进位表示实际进行的减法没有借位(即没有溢出),因此需要将最高位进位取反以后赋给CF;对于OF 位的计算则是相同的,通过将最高位的进位和次高位的进位进行异或运算,结果赋给OF(当然也可以使用双符号位来进行计算)。当然对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论