全球旧事资料 分类
第四章参考答案
1.设下列指令中的所有标识符均是类型属性为字的变量,请指出下列指令中哪些是非法的指令?错误的原因?⑴MOVBPAL⑵MOVWORD_OP1WORD_OP2⑶MOVSAVE_WODRDS⑷MOVSPSSDATA_WORDBXSI⑸MOVBXSI2解:(1)非法。源操作数与目的操作数类型不符。(2)合法。(3)合法。(4)合法。(5)非法。需说明操作数类型。2.设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ADDVAR1VAR2⑵SUBALVAR1⑶JMPLABSI⑷JNZVAR1⑸JMPNEARLAB解:(1)两个操作数均为符号地址。(2)两个操作数的类型不同。(3)(4)(5)
3.画图说明下列语句所分配的存储空间及初始化的数据值。⑴BYTE_VARDB‘BYTE’12,12H3DUP02DUP12⑵WORD_VARDW5DUP0125‘BY’’TE’256H解:(1)(2)41H59H54H45H0CHF4H00H?01H02H01H02H00H?01H02H01H02H
00H00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H??FBHFFH59H42H45H54H56H02H
f4.设程序中的数据定义如下:PARTNODWPNAMEDB16DUPCOUNTDDPLENTHEQUPARTNO问PLENTH的值为多少?它表示什么意义?解:PLENTH的值为22(16H)。表示当前位置与PARTNO之间有22个字节空间。5.设程序中的数据定义如下:LNAMEDB30DUPADDRESSDB30DUPCITYDB15DUPCODE_LISTDB17832⑴用一条MOV指令将LNAME的偏移地址放入AX;⑵用一条指令将CODE_LIST的头两个字节的内容放入SI:⑶写一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。解:(1)MOVAX,OFFSETLNAME(2)MOVSI,WORDCODE_LIST3CODE_LENGTHEQUCODE_LIST6.对于下面数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?FLDBDBTABLEADW20DUPTABLEBDB‘ABCD’⑴MOVAXTYPEFLDB⑵MOVAXTYPETABLEA⑶MOVCXLENGTHTABLEA⑷MOVDXSIZETABLEA⑸MOVCXLENGTHTABLEB解:(1)AX1(2)AX2(3)CX14H(4)DX28H(5)CX17.内存的一个区域中有100个字符是用小写字母表示的,试编写一个程序,把它们转换成大写字母,并送屏幕显示。解:参考程序如下:MOVCX,0064HAA:MOVDL,SIADDDL,20HMOVSI,DLMOVAH,02HINT20HINCSILOOPAAHLT
f8AX寄存器中有4位压缩方式的BCD码数字,试编写一个程序将4个数字分开,并分别存入BH、BL、CH和CL寄存器中。……MOVDXAXMOVCL04HROLAXCLANDDX0F0FHMOVBLDHMOVCLDLANDAX0F0FHMOVBHALMOVCHAH……9.编一段程序,使在用STRING开头的数据区中查找字符串WE,数据区以符作为结束符号。如查到,给出字符所在地址;如查不到,给出NOTFOUND提示。(假设最多有1个WEr
好听全球资料 返回顶部