第四章 汇编程序的书写格式
一、单项选择题 (共60分,每题4分) 1.源程序结束语句为(C)
A.ENDP B.ENDS C.END MAIN D.END
2.SKY:MOV AL,20H中操作数为(D) A.MOV B.SKY C.AL或20H D.AL和20H 3.下列为不合法的标志符的是(B) A.AXYZ B.5SKY C.@ATT D.?ABC 4.下列地址表达式正确的是(C) A.[BX-SI] B.[BP-DI] C.[BX+2] D.[BP+BX] 5.NEAR标号的类型值为(B) A.2 B.-1 C.4 D.-2
6.组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是(A) A.NONE B.PUBLIC C.COMMON D.STACK
7.下面哪一个命令是显示内存单元的内容?(A) A.D命令 B.E命令 C.F命令 D.R命令
8.能被计算机直接识别和执行的指令是(B) A.符号指令 B.机器指令 C.伪指令 D.宏指令
9.取变量偏移属性的分析运算符是(A) A.OFFSET B.TYPE C.SIZE D.SEG
10.分析运算符LENGTH只有用(C)定义的变量才有意义。 A.表达式 B.字符串 C.DUP D.疑问号 11.在段定义中,(B)是默认的定位类型 A.PAGE B.PARA C.WORD D.BYTE
12.汇编语言指令中唯一不可缺少的域是(B) A.标号名字域 B.助记符域 C.操作数域 D.注释域
13.定义缓冲区BUF,保留100个字节存储空间的语句是(D)。 A.BUF DB 100 B.BUF DW 100
C.BUF DW 100 DUP(?) D.BUF DB 100 DUP(?)
14.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。
6
A.名字项 B.操作项 C.操作数项 D.注释项
15.使计算机执行某种操作的命令是(B) A.伪指令 B.指令 C.标号 D.助记符
二、判断题(正确的画,错误的画)(共40分,每题5分) 1.指令MOV AL,2000H是合法的。(×) 2.指令MOV CX,AL是合法的。(×) 3.指令MOV IP,BX是合法的。(×)
4.串操作指令中用DI作为目的变址寄存器时使用段寄存器ES。(√) 5.OFFSET的优先级低于AND。(×) 6.语句LENGTH=SIZE*TYPE是合法的。(×) 7.语句SKY DD ‘ABCD’是合法的。(×) 8.语句QEW DB ‘ASDF’是合法的。(√)
第五章 指令及分类
一、单项选择题 (共30分,每题5分)
1.MOV BUF[BX],AX该指令中目的操作数寻址方式是(C)。 A.寄存器 B.寄存器间接 C.基址变址 D.寄存器相对
2.若AX=1020H,BX=1200H,CF=1,则SBB AX,BX的执行结果为(C) A.0EF1FH B.0FEFFH C.0FE1FH D.0FE21H
3.若AX=2000H,CL=90H,则DIV CL执行后,AX=(A) A.8038H B.8039H C.9138H D.8138H
4.若BL=83H,CF=1,则ADC BL,90H执行后,BL=(D) A.15H B.16H C.17H D.14H
5.若DX=1010H,则AND DX,DX的执行结果为(C) A.0000H B.1111H C.1010H D.FFFFH 6.换码指令的助记符是(C) A.XCHG B.LEAS C.XLAT D.MOV
二、判断题(正确的画,错误的画)(共70分,每题5分) 1.8086/8088的指令都是多字节指令。 (×) 2.8086/8088的指令最大长度是十个字节。 (×) 3.CLC是单字节指令。(√)
4.8086/8088的指令从功能上可以分成六组。(√)
7
5.同一条汇编指令助记符汇编后的指令操作码都相同。(×)
6.当一条汇编指令翻译成代码指令时,由操作码决定代码指令的格式。(×) 7.NEG属于减法指令。(√) 8.TEST属于逻辑运算指令。(√)
9.MUL指令和IMUL指令功能完全相同。(×) 10.汇编语言中的字符串分为字节串和字串两种。(×) 11.所有的字符串操作指令均可以使用重复前缀指令。(√) 12.汇编语言中对无符号数和有符号数的判别指令是不同的。(√) 13.一条指令可能有多个助记符。(√) 14.LOOPE和LOOPZ的功能完全相同。(√)
第六章 数据传送指令
一、程序分析题(阅读程序段后给出其运行结果)(15分) 设(SP)=80H,(BX)=0FFH;(AX)=1 PUSH BX ADD BX,AX XOR BX,AX PUSH BX POP CX
上述程序段运行后,(SP)=7EH,(CX)=0101H
二、单项选择题(共35分,每题5分) 1.堆栈指针SP的内容是(B)
A.栈顶单元内容 B.栈顶单元地址 C.栈底单元内容 D.栈底单元地址
2.VAR是数据段中定义的变量,指令MOV AX,VAR 源操作数的寻址方式是(B) A.立即寻址 B.直接寻址 C.相对寻址 D.寄存器寻址 3.已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H, 指令MOV AX,DS:[BP]源操作数的物理地址是(B)。 A.25040H B.30040H C.25100H D.55040H
4.下列传送指令中,有语法错误的指令是(A)。 A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX
5.与MOV BX,OFFSET VAR指令完全等效的指令是(D)。 A.MOV BX,VAR B.LDS BX,VAR C.LES BX,VAR D.LEA BX,VAR 6.MOV SP,3210H
PUSH AX执行上述指令序理后,SP寄存器的值是(B)。 A.3211H B.320EH C.320FH D.3212H
8
7.执行指令PUCH CX后堆栈指针SP自动(C) A.+1 B.不操作 C.-2 D.-1
三、简答题 (30分) 已知数据段定义如下: DATA SEGMENT VA DB 10H VB DW 3*20
MSG DB ‘HELLO!’ COUNT EQU 15
BUF DW COUNT DUP(5,3 DUP(1,2),0) DATA ENDS 问题:
(1)执行MOV BX,0FFSET VA后,(BX)= (2)执行MOV CX,TYPE BUF后,(CX)= (3)用一条指令将字母‘O’取到AL中. (4)经汇编后,BUF占有的存储空间是字节 答: (1)0 (2)2
(3)MOV AL, MSG+4 (4)240
四、执行下列指令语句,把执行结果填在空格中(20分)
已知(SS)=3000H (SP)=200H (AX)=785AH (BX)=1234H, 先执行PUSH AX,再执行PUSH BX,此时 (SS)= ( ) (SP)= ( )
数12H存放的物理地址是( ) 答:
(SS)= (3000H) (SP)= (1FCH)
数12H存放的物理地址是(1FDH)
第七章 算术运算程序
一、单项选择题(共24分,每题2分)
1.十进制数运算调整指令AAS可以紧跟在(A)之后: A.SBB B.DEC C.CMP D.NEG
2.除法调整指令AAD是对(C)调整:
A.AX中组合的十进制被除数 B.AL中组合的十进制的商数
9
C.AX中未组合的十进制被除数 D.AL中未组合的十进制的商数 3.在多字节加减运算时,特别要注意标志(B)对运算的影响: A.AF B.CF C.SF D.OF
4.设(DS)=8260H (DI)=3500H,指令DEC WORD PTR[DI]操作数的物理地址是(B) A.11760H B.85B00H C.86100H D.以上都不时
5.指令ADD ES:[DI],AX和存放在(B) A.寄存器 B.附加段 C.堆栈段 D.代码段
6.设VAR是数据段中定义的字节变量,指令MUL VAR乘积存放在(A) A.AX B.BX C.CX D.DX
7.设(DH)=20H,执行NEG DH指令后,正确的结果是(C) A.(DH)=20H CF=1 B.(DH)=20H CF=0
C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1
8.设DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作数的物理地址是(A) A.85B92H B.86192H C.BB690H D.12169H
9.执行INC指令除对于SF.ZF有影响外,还要影响的标志位是(A) A.OF,AF,PF B.OF,AF,CF C.OF,PF,CF D.AF,PF,CF
10.设DH=10H,执行NEG DH指令后,正确的结果是(D) A.DH=10H CF=1 B.DH=10H CF=0 C.DH=10H CF=0 D.DH=0F0H
11.执行除法指令后,影响的标志位是(D) A.CF,OF B.SF,ZF
C.CF,OF,SF D.AF,CF,OF,PF,SF,ZF都不确定 12.执行下面指令序列后,结果是(A) MOV AL,82H CBW
A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H
二、判断题(正确的画,错误的画)(共6分,每题2分) 1.指令AAA必须紧跟在加法指令之后使用。(√) 2.INC指令之后可以使用加法调整指令。(×) 3.AAD指令放在除法指令之后。(×)
三、程序分析题(10分) MOV AX,0 MOV BX,1
10