资源描述:
《课后习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课后习题参考答案第三章(01)2.1(1)AX=1200h(2)AX=0100h(3)AX=4C2Ah(4)AX=3412h(5)AX=4C2Ah(6)AX=7856h(7)AX=65B7h2.2(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[BP](7)源操作数应为[BX+DI](8)立即数不能作目的操作数2.3leabx,table;获取table的首地址,BX=200Hmoval,8;传送欲转换的数字,AL=8xlat;转换为格雷码,AL
2、=12H2.4堆栈是一种按“先进后出”原则存取数据的存储区域。堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。2.5movax,8057hpushaxmovax,0f79hpushaxpopbx;bx=0f79hpop[bx];DS:[0f79h]=8057h2.6AL=89hCFZFSFOFPFAL=12h10011AL=0afh00101AL=0afh10101AL=00h01001AL=0ffh00101AL=00h010012.7W=X+Y+24-Z2.8(1)ADDDX,BX(2)ADDAL,[BX+SI](3)ADD[BX+0
3、B2H],CX(4)ADDWORDPTR[0520H],3412H(5)ADDAL,0A0H2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V字操作数改为A,B,C,Dmovax,X;ax=AimulY;dx,ax=A*B(将操作数看作符号数,以下同)movcx,axmovbx,dx;bx,ax<--dx,ax=A*Bmovax,Z;ax=Ccwd;dx,ax=C(扩展符号后为双字)addcx,axadcbx,dx;bx,cx<--bx,cx+dx,ax=A*B+Csubcx,540sbbbx,0;bx,cx<--A*B+C-540movax,V;
4、ax=Dcwd;dx,ax=D(扩展符号后为双字)subax,cxsbbdx,bx;dx,ax=dx,ax-bx,cx=D-(A*B+C-540)idivX;运算结果:[D-(A*B+C-540h)]/A;ax存商,dx存余数2.10;(1)xchg的操作数不能是立即数(2不能对CS直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in不支持超过FFH的直接寻址(8)out只能以AL/AX为源操作数第二章(02)2.11;指令AX的值CFOFSFZFPFMovax
5、,1407h1470h-----Andax,ax1470h00000Orax,ax1470h00000Xorax,ax000011Notax0ffffh-----Testax,0f0f0h0ffffh00101注意:1.mov,not指令不影响标志位2.其他逻辑指令使CF=OF=0,根据结果影响其他标志位。第2章(03)2.12;指令注释执行结果CFOFSFZFPFmovsi,axsi=axsi=0008h-----shlsi,1si=2*axsi=0010h00000addsi,axsi=3*axsi=0018h00001movdx,bxdx=bxd
6、x=0010h-----movcl,03hcl=03h-----shldx,cldx=8*bxdx=0080h0u000subdx,bxdx=7*bxdx=0070h00000adddx,sidx=7*bx+3*axdx=0088h00001注意:1.左移N次相当于乘于2的N次方,右左移N次相当于除乘于2的N次方。2.移位指令根据是否移入“1”到CF,设置CF,根据移位后的结果影响SF,ZF,PF。根据最高符号位是否改变设置OF,如改变OF=1.3.‘u’表示无定义,‘-’表示无影响。2.13;(1);不考虑进位movbl,almovcl,3shlal
7、,claddal,bl;shlbl,1addal,bl;考虑进位xorah,ahmovbx,axmovcl,3shlax,claddax,bx;shlbx,1addax,bx(2)数字0~9的ASCII码是:30h~39h非压缩BCD码的0~9是:00h~09h方法一:andal,0fh;实现ASCII到非压缩BCD码的转换oral,30h;实现非压缩BCD码到ASCII的转换方法二:xoral,30h;求反D5D4位,其他不变;即高4位为3,则变为0;高4位为0,则变为3(3)movcl,4again:shrdx,1;实现逻辑右移;采用“sardx,
8、1”,则实现算术右移rcrax,1deccljnzagain2.14;(1)用sar编写2.1