一、单项选择题
1.CPU要访问的某一存储单元的实际地址称( )
A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有
( ) A.2345H B.12345H C.12340H D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是( )
A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( )
A.CX≠0且ZF=1 B.CX≠0且ZF=0 C.CX≠0或ZF=1 D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是( )
A.DAA校正指令的功能已自动加在AH中
B.进位值在AF中,校正后根据AF内容再加在AH中 C.进位值在CF中,校正后根据CF内容再加在AH中
D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( ) A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C.指令AND AX,0FH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0
7.在执行下列指令时,需要使用段寄存器DS的指令是( )
A.STOSW B.ADD AL,CL C.NEG BX D.INC DA [BX]
8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )
A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是( ) A.ROL CL,1 B.MUL 4 ROL CL,1 C.SHL CL,1 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 56H13.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 DAA是一个把16进制转换作十进制来运算的汇编指令
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,18 . 下列指令执行后能使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‟ 20.使用DOS系统功能调用时,使用的软中断指令是
( ) A.INT 21 B.INT 10H C.INT 16H D.INT 21H
二、填空题
21.十六进制数0FFF8H表示的十进制正数为+65528,表示的十进制负数为-32760。 22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为 20A8H ,其物理地址为 11488H 。
23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为 控制 标志位,另一类称为 状态 标志位。
24.当标志位 CF =1时表示无符号数运算产生溢出,而当标志位 OF =1是表示带符号数运算产生溢出。
25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是 IP ,而后两个字节存放的是 CS 。
26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是 STOS 或 CMP 才有实际意义。
三、简答题(本大题共4小题,每小题2分,共8分)
27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。
(1)MOV AL,[BX] (2)MOV CS:[BX+DI],AH 解: (1)21357H;(2)43357H 28. 0P1 DB 1,2
0P2 DW 3412H,5678H
MOV AX,OP1+1 ;字单元(OP1+1) (OP1前加WORD PTR)
AX MOV BL,OP2+1 ;字节单元(OP2+1) BL (OP2前+BYTE PTR)
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。 29.下列语句在存储器中分别为变量分配多少字节?
(1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?) 解:(1) AD2 分配了22个字节 (2) AD3 分配了400个字节 30.简述下面两条指令分别是什么语法错误? MOV [BX],[SI]
MOV指令不能在两个存储器操作数之间进行 MOV AX,DL ; 操作数类型不匹配
四、程序分析题(本大题共6小题,每小题6分,共36分)
31. MOV DL,AL
AL ===> *1** NOT DL ; DL ===> *1** TEST DL,04H DL ===> *0** JE NEXT NEXT: „
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?
答:AL中第二位为1,执行后CF=0 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各字节中的数据。 123456789
②保持程序功能情况下,程序中 可否改写为 不能更改
33 . 已知: BX=4567H NEG BX INC BX NEG BX DEC BX 程序段执行后,BX= 4565H,CF= 1 。 34 . MOV BL,64H
MOV CL,03H XOR AX,AX AGAIN:
ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN
问:(1)该程序段完成的功能是: 将AX内容×3传送到BX中
(2)AX= 012CH 。
35 . 已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3
当程序段执行完后AX= 3412H ,CX= 0078H 。 36.DA1 DB 83H,72H,61H,94H,5AH
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3
SHL AL,CL
上述指令序列执行后,AL= 0A0H ,CL= 03H 。
五、程序填空题(本大题共2小题,每小题6分,共12分)
37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。 MOV AX, NUMW MOV BX,500 XOR DX, DX DIV BX MOV QUI, AX MOV REM,DX
38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串„COMPUTER‟(不显示字符„$‟!).
试在空白处填上适当的一条指令。 STRING DB„COMPUTER‟,„$‟ MOV BX,0FFSET STRING LOP:
MOV DL,[BX] MOV AH,02H INT 21H INC BX CMP [BX],24H JNE LOP
六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)
39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符„Y‟(设DA_BY存储区已有ES指向)。 解: LEA DI,DA_BY
MOV CX,32 MOV AL,‘Y’ CLD REP STOSB
40 . 试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。 解:
DATA SEGMENT DA1 DW XXXX DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN: MOV AL,[SI] HL AL,1 JC NEXT INC NEXT INC BL NEXT: INC SI LOOP AGAIN TEST BL,01H JNE L1 CLC JMP DONE L1:STC DONE: MOV AH,4CH INT 21H CODE ENDS
因篇幅问题不能全部显示,请点此查看更多更全内容