第三章 参考答案1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令: 将一个立即数送入寄存器 BX ; 将一个立即数送入段寄存器 DS ; 将变址寄存器DI 的内容送入一个存储单元中; 从存储单元中取一个数送到段寄存器 ES 中; 将立即数0ABH 与AL 相加,结果送回 AL 中; 把BX 与CX 寄存器内容相加,结果送入 BX ;用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。
MOVBX, 1234HMOV AX, 1234H MOV DS, AX MOV [BX], DI MOV ES,[BX] ADD AL,0ABH ADD BX,CX MOVAX,[BX] ADD AX,1234H MOV [BX],AX ⑴ ⑵ ⑶⑷ ⑸ ⑹⑺解:(1) (2⑶ ⑷ ⑸ ⑹ ⑺2.执行下面程序,完成指令后的填空:MOVMOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV PUSHAX,2000H DS,AXSS,AX BX,2030H SI,BX DI,3040H SI,DI SP, 50FFH DX,S P CL,25 BL,CL AH,0F0H CH,AHBYTE P TR[DI],64 WORD P TR[SI],256 DL,[SI+1] DH,1+[SI] AL,1[SI]WORD P TR[BX][SI],34 [BX+SI+4],BL BP, 2[BX+DI] [BP ],AL AX,[B P][DI] BL,AL ES,BX BX DI CX;AH= 20H ;AL= 00H .DS= 2000H;SS= 2000H AX= ;BH= 20H _BL=;SI= 2030H ;DI= 3040H ;SI= 3040H :SP= 50FFH ;DH= 50H DL=:CL= 19H :CL= 19H BL= 19H :AH=F0H:CH= ___ F0H _____ :(DI)= 40H :(SI)= 00H (SI+1)= 01H:DL= 01H :DH= 00H :AL=01H:(BX+SI)=22H(BX+SI+1)= 00H:(BX+SI+4)= 19H:BP= _______ 00H :(B P)= ____ QUd —2000H 30HFFH(SP,SP +1)= 2000H (SP,SP +1)= F019H CX= _3040H ________POP DX ;SP= 50FFH DX= 2000H XCHG AX,B P ;AX= 0000H BP= 0100HXCHG DH,BL;DH= 00H BL=20H LAHF;FLAG= 0002H AH= 02H SAHF;FLAG= 0002H AH=02HPU SHF;SP= 50FDH (SP,SP +1)= 0002H POPF;SP=50FFHFLAG= 0002HSS= 1500H , SI = 00A0H 。
BX = 0100H , BP = 0010H , 0050H ,指出下列源操作数字段的寻址方式是什么?⑴MOV AX , 0ABH ⑵MOV AX , BX ⑶MOV AX , :100H : ⑷MOV AX , VAL ⑸MOV AX , :BX : ⑹MOV AX , ES : : BX : ⑺MOV AX , :BP : ⑻MOV AX , :SI: ⑼MOVAX , :BX+10:⑽MOV AX , VAL : BX : (11) MOV AX , :BX : : SI:(12) MOV AX , VAL : BX : : SI:解:(1) (2) (3) (4) (5) (6) (7)(8)(9)立即寻址方式 寄存器寻址方式直接寻址方式;其物理地址为:直接寻址方式;其物理地址为:寄存器间接寻址方式; 寄存器间接寻址方式; 寄存器间接寻址方式; 寄存器间接寻址方式; 寄存器相对寻址方式; 其物理地址为: 20100H 其物理地址为: 21100H 其物理地址为: 15010H 其物理地址为: 200A0H其物理地址为: 20110H(10) 寄存器相对寻址方式;其物理地址为:(11) 基址变址寻址方式;其物理地址为: (12) 相对基址变址寻址方式;其物理地址为: 201F0H 4.如果TABEL 为数据段中0032H 单元的符号名,其中存放的内容为 指令有什么区别?指令执行后,AX 寄存器的内容各是什么?。
MOV AX , TABEL LEA AX , TABEL解:指令 MOV AX,TABEL 是取出地址为 TABEL 的内存单元内容, 指令LEA AX , TABEL 是取出符号地址的数值,执行结束后1234H ,试问以下两条执行结束后 AX=1234H AX=0032H.SP 的内容是OOBOH ,先执行 POP 指令。
试画出堆栈区和3 .设 DS= 2000H , ES = 2100H , 数据段中变量名 VAL 的偏移地址值是 其物理地址值是多少?20100H 20050H 20150H 201A0H FFAACHFFAAEH5.已知堆栈段寄存器 SS 的内容是0FFA0H ,堆栈指针寄存器 两条把8057H 和0F79H 分别进栈的PUSH 指令,再执行一条 SP 的内容变化过程示意图(标出存储单元的物理地址) 解:&假设 BX = 0E3H ,变量 VALUE 中存放的内容为 79H ,确定下列各条指令单独执行后的 结果。
⑴XOR BX , VALUE⑵AND BX, VALUE ⑶OR BX , VALUE⑷XORBX , 0FFH⑸ANDBX , 0⑹TEST BX , 01H解:(1) BX=9AH(2) BX=61H(3) BX=FBH(4) BX=1CH(5) BX=00H(6) BX=E3H9.试写出执行下列指令序列后BX 寄存器的内容。
执行前 BX = 6D16H 。
MOV CL, 7SHR BX , CL 解:执行后BX=00DAH 10.试分析以下程序段所完成的功能。
MOV CL ,04 SHL DX , CL⑴1234H⑵5D90H ⑶9090H解:(1) 结果: C754H ; SF=1; ZF=0 ; CF=1 ; OF=0。
(2) 结果: 12B0H ; SF=0; ZF=0 ; CF=0 ; OF=0。
(3) 结果: 45B0H ; SF=0; ZF=0 ; CF=0 ; OF=0。
(4) 结果: 9F24H ; SF=1 ; ZF=0 ; CF=0 ; OF=0。
⑷ EA04H7.求出以下各十六进制数与十六进制数 CF 和OF 的值。
6.求出以下各十六进制数与十六进制数 62A0H 之和,并根据结果设置标志位 和OF 的值。
⑴1234H解:(1) (2)(3) (4)⑵4321H⑶ CFA0H⑷9D60HSF 、ZF 、CF结果 结果 结果 结果 74DEH : A5C1EH 3240H : 0000H : SF=0 ; ZF=0 ; CF=0 ;OF=0。
:SF=1 ; ZF=0 ; CF=1 ; OF=1。
SF=0; ZF=0;SF=0; ZF=1; CF=1 ; OF=0。
CF=1 ; OF=0。
SF 、ZF 、 4AE0H 的差值,并根据结果设置标志位1MOVSHL SHR OR BL , AH AX , CL BL , CLDL , BL 解:程序段完成由 DX 和AX 共同组成的32位数向左移动4位。
11.写一程序段: 字符串,则执行 解:参考程序: 比较两个5字节的字符串 OLDS 和NEWS ,如果OLDS 字符串不同于 NEWS NEW —LESS;否则顺序执行程序。
MOVAX , DS MOVES, AXMOV CX , 0005H LEA SI , OLDS LEA DI , NEAS CLDREPZ SCASB JNZ NEW_LESS12.假定AX 和BX 中内容为带符号数,CX 和DX 中的内容为无符号数,请用比较指令和条 件转移指令实现以下判断: ⑴若 ⑵若 ⑶若 ⑷若 ⑸若 ⑹若 DX BX CX BX BX DX 解:( 1) 的内容超过CX 的内容,则转去执行 EXCEED ; 的内容大于AX 的内容,则转去执行 EXCEED ; 的内容等于0,则转去执行ZERO; 与AX 的内容相比较是否产生溢出?若溢出则转OVERFLOW ; 的内容小于等于AX 的内容,则转 的内容低于等于 CX 的内容,则转 CMP DX,CX JA EXCEED ⑵ CMP BX, AX JG EXCEED ⑶ CMP CX, 0 JZ ZERO ⑷ CMP BX, AXJO OVERFLOW ⑸ CMP BX, AX JLE EQ_SMA (6) CMP DX, CX JBE EQ_SMA EQ_SMA ; EQ_SMA 。
X 和X+ 2单元的内容为双精度数 13•假设 为低位字),试说明下列程序段做什么工作? X + 2 X XX + 2 Y + 2P ,丫和丫 + 2单元的内容为双精度数 q (X 和丫L1 :MOV DX , MOV AX , ADD AX , ADC DX , CMPDX , JL 1 L2JG L1 CMP AX ,JBEL2 MOV AX ,愿陛下亲之、信之,则汉室之隆,可计日而待也OJMP L2:MOV EXIT : INT 解:当2p>q 时,AX 的内容置成1;当2p<=q 时,AX 的内容置成2。
ROUTINE 」;女口1则转移到ROUTINE_3 ;如果此3位全为0则转移到ROUTINE_4。
试画出流程图,并编制相应程序段。
解:流程图如下:宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其 刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚 以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰 愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也; 亲小人,远贤臣,此后汉所以倾颓也。
先帝在时, 每与臣论此事,未尝不叹息痛恨于桓、 灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。