新版汇编语言程序设计【课后习题答案】 钱晓捷 主编 电子工业出版社hbgj.docx
《新版汇编语言程序设计【课后习题答案】 钱晓捷 主编 电子工业出版社hbgj.docx》由会员分享,可在线阅读,更多相关《新版汇编语言程序设计【课后习题答案】 钱晓捷 主编 电子工业出版社hbgj.docx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、新版汇编编语言程程序设计计【课后后习题答答案】 钱晓捷捷 主编编 电子子工业出出版社 第2章章 80086的的指令系系统(全全)第2章 80886的指指令系统统习题22.1已知DDS220000H、BBX001000H、SSI000022H,存存储单元元2001000H2001033H依依次存放放12 34 56 78HH,2212000H2212003H依次存存放2AA 4CC B77 655H,说说明下列列每条指指令执行行完后AAX寄存存器的内内容。(1) movv axx,12200hh(2) movv axx,bxx(3) movv axx,112000h(4) movv axx,bb
2、x(5) movv axx,bbx+111000h(6) movv axx,bbx+ssi(7) movv axx,bbxsi+11000h解答(1)AAX112000H(2)AAX001000H(3)AAX44C2AAH ;偏偏移地址址=bxx=01100hh(4)AAX334122H ;偏移地地址=bbx=001000h(5)AAX44C2AAH ;偏偏移地址址=bxx+11100hh=12200hh(6)AAX778566H ;偏移地地址=bbx+ssi=001000h+000022h=001022h(7)AAX665B77H ;偏移地地址=bbx+ssi+111000h=001000h
3、+000022h+111000h=112022h习题题2.22指出出下列指指令的错错误(1) movv cxx,dll(2) movv ipp,axx(3) movv ess,12234hh(4) movv ess,dss(5) movv all,3000(6) movv ssp,ax(7) movv axx,bxx+dii(8) movv 200h,aah解答(1)两两操作数数类型不不匹配(2)IIP指令令指针禁禁止用户户访问(3)立立即数不不允许传传给段寄寄存器(4)段段寄存器器之间不不允许传传送(5)两两操作数数类型不不匹配(6)目目的操作作数应为为 SSI (7)源源操作数数应为 BX
4、X+DII (8)立立即数不不能作目目的操作作数习题22.3已知数数字0 99对应的的格雷码码依次为为:188H、334H、005H、006H、009H、00AH、00CH、111H、112H、114H,它它存在于于以taablee为首地地址(设设为2000H)的的连续区区域中。请请为如下下程序段段的每条条指令加加上注释释,说明明每条指指令的功功能和执执行结果果。 leea bbx,ttablle moov aal,88 xllat解答 leea bbx,ttablle ;获取ttablle的首首地址,BBX2200HH moov aal,88 ;传送送欲转换换的数字字,ALL8 xllat
5、;转转换为格格雷码,AAL112H P335习题22.4什么是是堆栈,它它的工作作原则是是什么,它它的基本本操作有有哪两个个,对应应哪两种种指令? 解答堆栈是一一种按“先先进后出出”原则则存取数数据的存存储区域域,位于于堆栈段段中,使使用SSS段寄存存器记录录其段地地址;它它的工作作原则是是先进后后出;堆堆栈的两两种基本本操作是是压栈和和出栈,对对应的指指令是PPUSHH和POOP。习题22.5已知SSS = 22200HH、SPP = 00BB0H,画画图说明明执行下下面指令令序列时时,堆栈栈区和SSP的内内容如何何变化? moov aax,880577h puush ax moov aax
6、,00f799h puush ax poop bbx poop bx解答 moov aax,880577h puush ax moov aax,00f799h puush ax poop bbx ;bx=0f779h poop bx ;DS:0ff79hh=880577h习题题2.66给出出下列各各条指令令执行后后AL值值,以及及CF、ZZF、SSF、OOF和PPF的状状态: moov aal,889h addd aal,aal addd aal,99dh cmmp aal,00bchh suub aal,aal deec aal innc aal解答mov al,89hh ; ALL=899
7、h CFF ZZF SF OFF PPFadd al,al ; ALL=122h 1 00 0 1 11; 10000 10001+10000 110011 100001 000100 add al,9dhh ; ALL=0aafh 0 00 1 0 11; 00001 00110+ 10001 11001 10010 11111 cmp al,0bcch ; ALL=0aafh 1 00 1 0 11; 10010 11111-10111 111000* 01100 00111sub al,al ; ALL=000h 0 11 0 0 11dec al ; AAL=00ffhh 00 0 1
8、 00 1; 00000 00000- 00000 00001*11111 11111inc al ; AL=00hh 0 1 00 0 1;11111 111111+00000 000011*11111 111111习题题2.77设XX、Y、ZZ均为双双字数据据,分别别存放在在地址为为X、XX+2;Y、YY+2;Z、ZZ+2的的存储单单元中,它它们的运运算结果果存入WW单元。阅阅读如下下程序段段,给出出运算公公式。 moov aax,XX moov ddx,XX+2 addd aax,YY addc ddx,YY+2 addd aax,224 addc ddx,00 suub aax,ZZ
9、sbbb ddx,ZZ+2 moov WW,axxmoov WW+2,dx 解答 WX+YY+244-Z习题22.8请分别别用一条条汇编语语言指令令完成如如下功能能: (1)把把BX寄寄存器和和DX寄寄存器的的内容相相加,结结果存入入DX寄寄存器。(2)用用寄存器器BX和和SI的的基址变变址寻址址方式把把存储器器的一个个字节与与AL寄寄存器的的内容相相加,并并把结果果送到AAL中。(3)用用BX和和位移量量0B22H的寄寄存器相相对寻址址方式把把存储器器中的一一个字和和CX寄寄存器的的内容相相加,并并把结果果送回存存储器中中。(4)用用位移量量为05520HH的直接接寻址方方式把存存储器中中的
10、一个个字与数数34112H相相加,并并把结果果送回该该存储单单元中。(5)把把数0AA0H与与AL寄寄存器的的内容相相加,并并把结果果送回AAL中。解答(1)AADD DX,BX(2)AADD AL,BXX+SII(3)AADD BXX+0BB2H,CXX(4)AADD WORRD PPTR 05520HH,334122H(5)AADD AL,0A00H习题22.9设X、YY、Z、VV均为116位带带符号数数,分别别装在XX、Y、ZZ、V存存储单元元中,阅阅读如下下程序段段,得出出它的运运算公式式,并说说明运算算结果存存于何处处。 moov aax,XX ;ax=X immul Y ;DX.A
11、X=X*YY moov ccx,aax ;cx=X*YY的低116位 moox bbx,ddx ;bx=X*YY的高116位 moov aax,ZZ ;axx=Z cwwd addd ccx,aax ;cx=Z的低低16位位+X*Y的低低16位位 addc bbx,ddx ;bx=Z的高高16位位+X*Y的高高16位位+低位位进位 suub ccx,5540 ;cx=Z的低低16位位+X*Y的低低16位位-5440 sbbb bbx,00 ;bbx=ZZ的高116位+X*YY的高116位+低位进进位-低低位借位位 moov aax,VV ;axx=V cwwd suub aax,ccx ;ax
12、x=V的的低166位-(ZZ的低116位+X*YY的低116位-5400) sbbb dxx,bxx ;dx=V的高高16位位-(ZZ的高116位+X*YY的高116位+低位进进位-低低位借位位)-低低位借位位 idiiv XX ;/X解答 V-(X*Y+ZZ-5440)/X AX存存商,DDX存余余数 习题22.100指出出下列指指令的错错误: (1) xchhg si,300h(2) popp css(3) subb ssi,dii(4) pussh aah(5) adcc axx,dss(6) addd ssi,80hh(7) in al,3fcch(8) outt dxx,ahh解答(
13、1)xxchgg的操作作数不能能是立即即数(2)不不应对CCS直接接赋值(3)两两个操作作数不能能都是存存储单元元(4)堆堆栈的操操作数不不能是字字节量(5)aadc的的操作数数不能是是段寄存存器(6)没没有确定定是字节节还是字字操作(7)iin不支支持超过过FFHH的直接接寻址(8)oout只只能以AAL/AAX为源源操作数数习题22.111给出出下列各各条指令令执行后后的结果果,以及及状态标标志CFF、OFF、SFF、ZFF、PFF的状态态。 moov aax,114700h annd aax,aax orr axx,axx xoor aax,aax noot aax teest ax,0
14、f00f0hh解答 moov aax,114700h ;AX14770H CF ZFF SSF OF PFF annd aax,aax ;AXX14470HH 0 00 0 0 00 ;00001 001000 01111 00000 orr axx,axx ;AAX114700H 00 0 0 00 0 xoor aax,aax ;AXX00000HH 0 11 0 0 11 noot aax ;AXFFFFFH 0 1 00 0 1 teest ax,0f00f0hh ;AXXFFFFFHH 0 00 1 0 11注意:MMOV和和NOTT指令不不影响标标志位;其他逻逻辑指令令使CFFOF
15、F0,根根据结果果影响其其他标志志位。习题22.122假设设例题22.322的程序序段中,AAX = 088H,BBX = 100H,请请说明每每条指令令执行后后的结果果和各个个标志位位的状态态。 解答 指令令 ; 执行行结果 CCF OOF SSF ZZF PPF moov ssi,aax ; SII=AXX=00008HH - - - - - shhl ssi,11 ; SII=2*AX=00110H0 00 0 0 00 addd ssi,aax ; SSI=33*AXX=00018HH 0 0 00 0 1 moov ddx,bbx; DX=BX=00110H 0 0 00 0 1 m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后习题答案 新版汇编语言程序设计【课后习题答案】 钱晓捷 主编 电子工业出版社hbgj 新版 汇编语言 程序设计 课后 习题 答案 电子 工业出版社 hbgj
限制150内