16.设VAR1和VAR2是已定义的变量名,非法的表达式是( ) A.VAR1—VAR2 B.VAR2—VAR1[BX] C.VAR1+VAR2 D.VAR1[BX] 17.为在一连续的存储单元中依次存放数据41H,42H,…48H,下面的数据定义语句中有语法错误的是( ) A.DB 41H,42H,43H,44H,45H,46H,47H,48H B.DW 4142H,4344H,4546H,4748H C.DB ‘ABCDEFGH’ D.DW ‘BA’,‘DC’,‘FE’,‘HG’ 18.设NUM=11011011B,指令“MOV AX,NUM SHL 3”执行后AX中的值是( ) A.11011011000B B.11011000B C.00011011B D.00011011011B 19. XOR AX,AX MOV CX,5 NEXT:ADD AL,6 AAA LOOP NEXT 上述程序段执行的结果是( ) A.AX=0030H B.AX=0300H C.AX=30 D.AX=001EH 20.如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是( ) A.LOOP B.LOOPE/LOOPZ C.LOOPNE/LOOPNZ D.JCXZ 二、填空题(本大共5小题,每空1分,共5分) 1.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是________。 2.“SHL OPR,CNT”指令中OPR不允许使用立即数和______操作数。 3.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元。 4.指令“MOV AX,20H[SI]”中源操作数的物理地址表达式是______。 5.乘法指令语句“MUL CL”,16位的乘积存放在______中。 三、简答题(本大题共3小题,每小题2分,共6分) 1.设DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H 字单元中有数据3C50H。请用一条指令将数据3C50H装入AX寄存器。(不得使用立即数) 2.设BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各条指令分别执行后BX中的内容各为多少? ①ROL BX,CL ;BX=______ ②MOV BX,[DI] ;BX=______ 3.DAT1 DB 1,2,3,4 DAT2 DW 3412H,5678H ┇ MOV AX,DAT1+1 ;将DAT1+1字单元内容送入AX中 MOV BL,DAT2+1 ;将DAT2+1字节单元内容送入BL中 已知上述两条MOV语句有语法错误,请根据注释字段的要求将其改正(分别用一条语句改正)。 四、程序分析题(本大题共7小题,每小题5分,共35分) 1.DA1 DW 1F28H DA2 DB ? ┇ XOR BL,BL MOV AX, DA1 LOP:AND AX,AX JZ KK SHL AX,1 JNC LOP ADD BL,1 JMP LOP KK: MOV DA2,BL 试问:①程序段执行后,DA2字节单元内容是什么? ②在程序段功能不变情况下,是否可用SHR指令代替SHL指令? 2.DA1 DB 87H DA2 DB ┇ MOV AH,0 MOV AL,DA1 MOV CL,4 SHR AL,CL MOV DL,10 MUL DL MOV BL,DA1 AND BL,OFH ADD AL,BL MOV DA2,AL 试回答:①程序段执行后,(DA2)=______; ②在程序段功能不变的情况下,是否可以用指令SAR替代指令SHR? |