C.SHL CL,1 D.MOV CL,2 SHL CL,1 SHL CL,CL 10.下面各传送指令中,正确的是( )
A.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()
A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符 D.在名字中不允许出现$ 12.要实现使BETA的值为56,应采用语句为( ) A.BETA DB 56 B.BETA DB 56H C.BETA EQU 56 D.BETA EQU 56H 13.REPZ CMPSW指令,重复执行的终止条件是( ) A.CX=0或ZF=0 B.CX=0且ZF=0 C.CX=0或ZF=1 D.CX=0且ZF=1 14.下面程序段执行后,AL中的内容是( ) MOV AX,8833H ADD AL,AH DAA
A.21 B.21H C.0C1H D.0DDH 15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( ) A.ZF=1 B.ZF=0 C.SF=1 D.SF=0 16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( )
A.JNC LOP1 B.JA LOP1 C.JC LOP1 D.JGE LOP1 17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是( )
A.STOSW B.LODSW C.SCASW D.CMPSW 18.设AL=0AH,下列指令执行后能使AL=05H的是( ) A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH 19.DA1 DW?AB?,?CD?,?EF?,?GH?( ) ┇
MOV AX,DA1+3 指令执行后AX中的内容是
A.?EF? B.?CD? C.?BC? D.?FC?
35
20.使用DOS系统功能调用时,使用的软中断指令是( ) A.INT 21 B.INT 10H C.INT 16H D.INT 21H 二、填空题(本大题共12空,每空0.5分,共6分)
21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。
22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为________。 23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。
24.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。
26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。 三、简答题(本大题共4小题,每小题2分,共8分)
27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。 (1)MOV AL,[BX] (2)MOV CS:[BX+DI],AH 28.0P1 DB 1,2 0P2 DW 3412H,5678H ┇
MOV AX,OP1+1;字单元(OP1+1) AX MOV BL,OP2+1;字节单元(OP2+1) BL
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。 29.下列语句在存储器中分别为变量分配多少字节? (1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?)
30.简述下面两条指令分别是什么语法错误? MOV [BX],[SI] MOV AX,DL
四、程序分析题(本大题共6小题,每小题6分,共36分)
36
31. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:…
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少? 32.DA1 DB?ABCDEFGHI? DA2 DB 9 DUP(0) ┇
LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD
LOP: LODSB SUB AL,10H STOSB LOOP LOP . . .
试问:①写出程序执行后DA2各字节中的数据。 ②保持程序功能情况下,程序中 可否改写为 33.已知:BX=4567H NEG BX INC BX NEG BX DEC BX
程序段执行后,BX=________,CF=________。 34. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN
37
问:(1)该程序段完成的功能是: (2)AX=________。 35.已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3
当程序段执行完后AX=________,CX=________。 36.DA1 DB 83H,72H,61H,94H,5AH ┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL
上述指令序列执行后,AL=_______,CL=_______。 五、程序填空题(本大题共2小题,每小题6分,共12分)
37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。 ┇
MOV AX,NUMW _____________ XOR DX,DX DIV BX
MOV QUI,AX _____________
38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串?COMPUTER?(不显示字符?$?!).试在空白处填上适当的一条指令。 STRING DB?COMPUTER?,?$? ┇
MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,02H INT 21H
____________________
38
____________________ JNE LOP
六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)
39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符?Y?(设DA_BY存储区已有ES指向)。
40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。 DATA SEGMENT DA1 DW XXXX DATA ENDS
2004年10月汇编语言试题
一、单项选择题(本大题共20小题,每小题1分,共20分) 1.假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,OFEH,则存放字数据OFE52H的字地址是( ) A.7462H B.7463H C.7464H D.7465H
2.下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是( )
A.BP、BX、SI、DI B.AX、BX、CX、DX C.SP、IP D.BX、SI、DI、DS
3.当堆栈为空时,如SS=0805H,SP=40H,栈底字单元的物理地址是( ) A.08090H B.08089H C.0808EH D.08450H
4.执行POP BP指令时,源操作数的物理地址表达式是( ) A.16*SS+SP B.16*SS+BP C.16*DS+BP D.16*CS+BP 5.设ADRT=100H,不符合语法规则的语句是( ) A.MOV AX,ADRT B.MOV AX,[ADRT+SI] C.MOV [ADRT],AX D.MOV ADRT[SI],AX 6.下面XCHG指令语句中,语法正确的是( ) A.XCHG AX,DS B.XCHG BL,[BX] C.XCHG AL,OFH D.XCHG[SI],[DI]
7.设(AL)=63H(BL)=29H执行下面指令后( ) SUB AL,BL DAS
39