汇编语言模拟试卷和答案..

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京语言大学网络教育学院
《汇编语言》模拟试卷一
注意:
1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。

请监考老师负责监督。

2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。

3.本试卷满分100分,答题时间为90分钟。

4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。

一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。

1.在微机汉字系统中,一个汉字的机内码占()字节。

[A] 1 [B] 2 [C] 3 [D] 4
2.十进制33.25转换成十六进制数为()。

[A] B1.4H [B] 1B.19H [C] 21.4H [D] 33.4H
3.下列指令中操作数在代码段中的是()。

[A] MOV AX,25H [B] INC DS:[25H] [C] CMP AL,BL [D] ADD AH,BL 4.表示源程序结束的伪操作的格式是()。

[A] ENDS[LABEL] [B] END[LABEL][C] ENDS [D] END
5.下列指令正确的是()。

[A] MOV CX, AL [B] MOV DS, 200h
[C] MOV DS, CS [D] MOV DS, AX
6.JMP FAR PTR XXXX(XXXX是符号地址)是()。

[A] 寄存器寻址[B] 寄存器间接寻址
[C] 段间直接转移寻址[D] 段内间接转移寻址
7.对数值7DA3H做“非”运算的结果为()。

[A] 824CH [B] 825BH [C] 825CH [D] 825DH
8.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。

[A] AX,BX,CX,DX [B] BX,BP,SI,DI
[C] SP,IP,BP,DX [D] CS,DS,ES,SS
9.执行除法指令后,影响的标志位是()。

[A] CF,OF [B] SF,ZF
[C] CF,OF,SF [D] AF,CF,OF,PF,SF,ZF都不确定10.在DEBUG下,a命令的作用是()。

[A] 反汇编[B] 汇编[C] 查看数据[D] 写入数据11.没有语法错误的输出指令是()。

[A] OUT AX,30H [B] OUT DX,AL
[C] OUT AL,DX [D] OUT 30H,AH
12.设CL=05H,要获得CL=0AH,可选用的指令是()。

[A] XOR CL,0FH [B] NOT CL
[C] OR CL,0AH [D] AND CL,0FH
13.下列指令执行后能使BX中数据必为奇数的是()。

[A] XOR BX,01H [B] OR BX,01H
[C] AND BX,01H [D] TEST BX,01H
14.下面有语法错误的指令是()。

[A] MOV AX,[BX][SI] [B] MOV AX,-2[BX][DI]
[C] MOV AX,[BX][BP] [D] MOV AX,-1[BX][SI]
15.使用DOS功能调用时,子程序的编号应放在寄存器()中。

[A] AH [B] AL [C] AX [D] 任意指定16.将字符串‘HOW ARE YOU!’存入变量AYB()。

[A] DB “HOW ARE YOU!”[B] AYB=“HOW ARE YOU!”
[C] AYB DB“HOW ARE YOU!”[D] AYB DB HOW ARE YOU!
17.8位无符号整数的表示范围为0--255,写成16进制形式为()。

[A] 0-80H [B] 0-0FFH [C] 0-FF [D] 0-255H 18.下列操作中允许段超越的是()。

[A] 取指令[B] 存目的串
[C] 以BP为基址存取操作数[D] 堆栈操作
19.DF=1,执行MOVSB指令后()。

[A] SI减1,DI减1 [B] SI加1,DI加1,CX减1
[C] SI减1,DI减1,CX减1 [D] SI加1,DI加1,CX加1
20.执行CALL DWORD PTR [BX]指令的含义是()。

[A] 调用一个位于数据段的子程序,该地址由BX间接寻址得到
[B] 调用子程序的首地址保存于数据段内,该地址由BX间接寻址得到
[C] 调用一个堆栈段的子程序,该地址由BX间接寻址得到
[D] 调用一个代码段的子程序,该地址由BX间接寻址得到
二、判断题(本大题共5小题,每小题2分,共10分),正确的填T,错误的填F,请将答案填在答题卷相应题号处。

21.MOV [BX][BP],AX ()
22.TEST [BP],BL ()
23.INC CX,1 ()
24.AND DH,DL ()
25.PUSH 45[DI] ()
三、【填空题】(本大题共15空,每空1分,共15分;请将答案填写在答题卷相应题号处)
26.加1指令是(),其指令格式是()。

27.借位减法指令是(),若在执行此指令前,CF为0,则执行此指令与不带进位的减法指令是否相同()(填写“同”或“不同”)。

28.逻辑运算指令中()指令只有一个操作数;欲把某操作数指定的一位或多位置0,需用指令();置1需用指令();变反需用指令()。

29.SAL是()指令;SHR是()指令;
30. ADC是()指令,其格式();ADD是()指令。

31. PUSH是()指令。

32.十六进制数A2B转换为二进制数为()。

四、【简答题】(本大题共3小题,每题5分,共15分;请将答案填写在答题卷相应题号处)
33.试述子程序的一般结构组成?
34.标号有哪三个属性,其含义是什么?
35.试述CMP AX,BX和SUB AX,BX两条语句的异同点?
五、【编程题】(本大题共1小题,每题20分,共20分;请将答案填写在答题卷相应题号处)
36.编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据。

假定N个数据存放在字节变量VARB中。

转换后的字符数据存放在HV ARB中。

提示0--9的字符码为30H--39H,A--F的字符码为41H--46H。

《汇编语言》模拟试卷一答案
分)
二、【判断题】(本大题共5小题,每小题2分,共10分)
1分,共15分)
26. INC、INC DEST
27. SBB、同
28. NOT、AND、OR、XOR
29. 算术左移、逻辑右移
30. 带进位加法、ADX DEST,SRC、加法
31. 入栈
32. 101000101011
四、【简答题】(本大题共3小题,每题5分,共15分)
33.由保存现场,取入口参数,加工处理,存出口参数,恢复现场和返回程序。

知识点:子程序的调用过程,需要理解并掌握。

34.段属性指定义该标号的段地址偏移属性:指该标号的偏移地址类型属性:指标号是
在定义它的段内引用还是在其它段引用。

知识点:段属性和偏移属性的定义,掌握汇编指令各种寻址方式的不同和使用方法。

35.相同点:都执行AX-BX操作,影响所有标志位且对标志位的影响相同不同点:CMP执
行后AX,BX 内容不改变,而SUB执行后,AX内为AX-BX之差,即内容变化了。

知识点:跳转指令CMP与SUB指令操作对AX和BX寄存器的影响。

五、【编程题】(本大题共1小题,每题20分,共20分)
36.
DATA SEGMENT
VARB DB 45,36,377Q, (11011011)
N EQU $-VARB
HVARB DB 2 NDRP( )
DATA ENDS
STACK SEGMENT PARA STACK "STACK"
DB 256 DUP( )
STACK ENDS
CODE SEGMENT
ASSUME CS:COOE,DS:DATA,SS:STACK
MAIN: PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,N
LEA DI,HVARB
LEA SI,VARB;置初值
GOCN:MOV AH,[SI]
MOV AL,AH
AND AH,0F0H
MOV CL,4
SHR AH,CL
CMP AH,9
JNA NEXT1
ADD AH,7
NEXT1:ADD AH,30H
AND AL,DFH
CMP AL,9
JNA NEXT2
ADD AL,7
NEXT2:ADD AL,30H
MOV [DI],AH
MOV [DI],AL
ADD DI,2
INC SI
DEC DX
JNZ GOON
RET
MAIN ENDP
CODE ENDS
END MAIN
知识点:独立编写汇编程序的能力,循环指令的使用。

北京语言大学网络教育学院
《汇编语言》模拟试卷二
注意:
1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。

请监考老师负责监督。

2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。

3.本试卷满分100分,答题时间为90分钟。

4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。

一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。

1.执行指令 MOV AL,[BP] 时,所读取的数据应在()。

[A] CS段中[B] DS段中[C] SS段中[D] ES段中
2.计算机存储数据的最小单位是()。

[A] 位(比特)[B] 字节[C] 字长[D] 千字节
3.某微机有16条地址线,能够覆盖的地址范围是()。

[A] 0001H-FFFFH [B] 00001H-FFFFFH
[C] 0000H-FFFFH [D] 00000H-FFFFFH
4.定义字节的伪指令是()。

[A] DD [B] DB [C] DW [D] DQ
5.CPU执行算术运算指令不会影响的标志位是()。

[A] 溢出标志[B] 符号标志
[C] 零标志[D] 方向标志
6.下列指令正确的是()。

[A] CMP [SI], 100 [B] CMP WORD PTR [SI], 100
[C] CMP [SI], 100h [D] CMP 100h, [SI]
7.条件转移指令JNE的测试条件为()。

[A] ZF=0 [B] CF=0 [C] ZF=1 [D] CF=1
8.JMP BX指令的寻址方式是()。

[A] 寄存器寻址[B] 寄存器间接寻址
[C] 段内直接转移寻址[D] 段内间接转移寻址
9.设DL=0AAH,执行指令后能使DL=55H的指令是()。

[A] TEST DL,55H [B] OR AL ,55H
[C] NEG DL [D] XOR DL,0FFH
10.在DEBUG下,u命令的作用是()。

[A]反汇编[B] 汇编[C] 查看数据[D] 写入数据
11.Intel 8086 I/O寻址空间为()。

[A] 1MB [B] 1KB
[C] 64KB [D] 32KB
12.与NOT AX;NEG AX指令等效的指令是()。

[A] DEC AX [B] INC AX
[C] SUB AX,AX [D] ADD AX,AX
13.内中断的分类为()。

[A] 执行中断指令INT n,CPU出错引起的中断,为调试程序设置的中断
[B] 除法出错的中断、溢出中断、单步中断、软件中断
[C] 可屏蔽中断、不可屏蔽中断、中断指令INT n
[D] 可屏蔽中断、不可屏蔽中断、断点中断
14.执行乘法指令后,影响的标志位是()。

[A] CF,OF
[B] SF,ZF
[C] CF,OF,SF
[D] AF,CF,OF,PF,SF,ZF都不确定
15.对寄存器AX的内容乘以4的正确指令序列是()。

[A] SHR AX,1 /SHR AX,1 [B] SHL AX,1/ SHL,AX,1
[C] ROL AX,1 /ROL AX,1 [D] RCR AX,1/ RCR AX,1
16.执行下面指令序列后,MOV AL,82H / CBW,结果是()。

[A] AX=0FF82H [B] AX=8082H
[C] AX=0082H [D] AX=0F82H
17.与MOV BX,OFFSET VAR指令完全等效的指令是()。

[A] MOV BX,VAR [B] LDS BX,VAR
[C] LES BX,VA R [D] LEA BX,VAR
18.栈顶内容弹出送字变量AYW()。

[A] POP [B] PUSH [C] PUSH AYW [D] POP AYW 19.地址表达式AYY[4]的偏移地址送字变量ADDR()。

[A] MOV ADDR,OFFSET AYY[4] [B] MOV ADDR, AYY[4]
[C] OFFSET AYY[4] [D] LEA OFFSET AYY[4]
20.把汇编语言翻译成机器语言的过程称为()。

[A] 编译[B] 汇编[C] 编辑[D] 链接
二、判断题(本大题共5小题,每小题2分,共10分),正确的填T,错误的填F,请将答案填在答题卷相应题号处。

21.MOV [BX][BP],BX ()
22. AND [BP],AL ()
23. SUB [SI],DA_BYTE ()
24. TEST DH,DL ()
25.SHL AX,2 ()
三、【填空题】(本大题共15空,每空1分,共15分;请将答案填写在答题卷相应题号处)
26.CPU的四个段寄存器是()、()、()、()。

27.存储单元的逻辑地址是2B0C:2C3H,则其物理地址是()。

28.执行10101011+01010101运算后,CF=(),OF=(),SF=(),ZF=()。

29.出下列指令中源操作数的寻址方式:MOV DS,AX();
ADC AX,0ABH[BX] ();AND BL,[0FFH] ()。

30.进行堆栈操作时,隐含使用的是堆栈指针()(写出堆栈指针的名字)31.SEG运算符的功能是取得变量或标号的();OFFSET运算符是取得变量或标号的()。

32. 二进制数110111100101.1011转换为十六进制数为()。

四、【简答题】(本大题共3小题,每题5分,共15分;请将答案填写在答题卷相应题号处)
33.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。

例如:
PUSH AX\
PUSH BX \ 保护现场
PUSH CX /
PUSH DX/
:
}恢复现场
试写出恢复现场时的指令序列。

34.完成下列操作,选用什么指令:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
35.D1 DB 20H DUP(?)
D2 DW D1
请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。

五、【编程题】(本大题共1小题,每题20分,共20分;请将答案填写在答题卷相应题号处)
36.1+2+3+...N累加加到1000,统计被累加的自然个数送CN,累加和送SUM。

《汇编语言》模拟试卷二答案
四、【判断题】(本大题共5小题,每小题2分,共10分)
1分,共15分)
26. 代码段(或CS)、数据段(或DS)、堆栈段(或SS)、附加段(或ES)
27.2B383H
28.1、0、0、1
29.寄存器寻址、相对寻址、直接寻址
30.SP
31.段基址、偏移量
32.0DE5.BH
四、【简答题】(本大题共3小题,每题5分,共15分)
33. POP DX)
POP CX
POP BX
POP AX
知识点:push pop 入栈和出栈语句的使用方法,需要重点掌握
34.(1)SBB AX,0520H
(2)MOV AX,SEG TABL
知识点:汇编语言的指令系统一章重点需要掌握MOV指令各种使用方法,SBB等加减运算指令和移动指令的使用方法。

35.三种方法,对1个得2分,对2个得4分,全对5分。

(A) LEA SI,D1
(B) MOV SI,OFFSET D1
(C) MOV SI,D2
上述三种方法无先后顺序。

知识点:汇编指令系统,编程能力考察。

需要重点掌握。

五、【编程题】(本大题共1小题,每题20分,共20分)
36.Code Segment
Assume CS:Code,DS:Code
CN DW ?
SUM Dw ?
Start: push cs
pop ds ;使数据段与代码段在同一个段
xor ax,ax ;初始化累加和
mov cx,1 ;自然数初值
Adding: add ax,cx ;相加
cmp ax,1000 ;累加和与1000相比较
jae Save_Value ;若大于或等于1000,结束累加,保存相关数据
inc cx ;计数
jmp Adding
Save_Value: mov cn,cx ;保存被累加的自然数个数
mov SUM,ax ;保存累加和
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
知识点:以上两题考察会变语言的指令系统,重点掌握MOV等指令的方法和条件判断指令的使用方法。

还需要重点掌握CLD 和加减法运算指令SUB、ADD等指令。

北京语言大学网络教育学院
《汇编语言》模拟试卷三
注意:
1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。

请监考老师负责监督。

2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。

3.本试卷满分100分,答题时间为90分钟。

4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。

一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。

1.十进制153转化为二进制数是()
[A] 10110110 [B] 10100001 [C] 10000110 [D] 10011001 2.指令TEST AL,02H 的含义为()
[A] 测试AL是否等于02H [B] 测试AL第2位状态
[C] 测试AL第1位状态[D] 将AL与02单元的各位进行测试3.下列对PSW寄存器中标志位产生影响的指令是()
[A] JMP DON [B] LOOP DON [C] CALL DON [D] AAA
4.假设V1和V2是用DW定义的变量,下列指令正确的是()
[A]MOV V1,20H [B] MOV V1,V2 [C] MOV 2000H,V2 [D] MOV AL,V1 5.带借位减法指令是()
[A] SBB [B] SUB [C] DEC [D] NEG
6.在汇编语言中,一般使用()
[A] 逻辑地址[B] 物理地址[C] 偏移地址[D] 段地址
7.在CPU中跟踪下一条指令地址的寄存器是()
[A] 主存地址寄存器[B] 指令寄存器
[C] 指令计数器[D] 状态寄存器
8.8086中可做基址寻址的寄存器是()
[A] CX、DX [B] BX、BP [C] AX、BX [D] CX、BP
9.对于下列程序段:
AGAIN: MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP AGAIN
也可以使用()指令完成同样的功能。

[A] REP MOVSB [B] REP LODSB [C] REP STOSB [D] REPE SCASB 10.下列子程序完成除法操作,选择合适的代码将程序补齐
dee_div PROC
MOV DL,0
LOP : SUB AX,CX
( )
INC DL
JMP SHORTLOP
NEXT : ADD AX,CX
RET
dee_div ENDP
[A] JMP NEXT [B] JC NEXT [C] JNC NEXT [D] JE NEXT 11.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是():212CH [A] 111AH [B] 11190H [C] 1EA2H [D] 1119AH 12.DF=0,执行MOVSB指令后()
[A] SI减1,DI减1 [B] SI加1,DI加1,CX减1
[C] SI减1,DI减1,CX减1 [D] SI加1,DI加1,CX加1
13.宏指令定义必须由伪指令MACRO开始,伪指令ENDM结束,两者之间的语句称为()
[A] 哑元[B] 宏定义体[C] 实元[D] 宏展开
14.设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,则指令MOV AX,[DI+100H]的源操作数有效地址为()
[A] 2140H [B] 0306H [C] 21706H [D] 25FFH
15.在下列指令的表示中,不正确的是()
[A] MOV AL,[BX+SI] [B] JMP SHORT DONI
[C]DEC [BX] [D] MUL CL
16.假设ES段中有一个字符串‘12FG3LM5C’,其名为ARRAY,下面的程序段CLD
LEA DI,ES:ARRAY
MOV AL,‘G’
MOV CX,9
REPNE SCASB
执行后CX的值是()
[A]9 [B] 5 [C] 4 [D] 0
17.指令MOV [BX][DI],DX的段内地址为()
[A] BX值加DI值[B] BX值减DI值
[C] BX值左移4位加DI值[D] BX值加DI值后再左移4位
18.十进制负数-61的八位二进制补码是()
[A] 01000010 [B] 11000011 [C] 01010000 [D] 11010000
19.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()
[A] ZF=1 [B] ZF=0 [C] SF=1 [D] SF=0
20.分配给中断类型号INT 12H在中断向量表中的物理地址是()
[A] 32H [B] 20A [C] 48H [D] 10H
二、判断题(本大题共5小题,每小题2分,共10分),正确的填T,错误的填F,请将答案填在答题卷相应题号处。

21.ADD [SI],DA_BYTE ()
22.CMP CL,1234H ()
23.SHR [BX][DI],3 ()
24.NOT CX,AX ()
25.LEA DS,35[SI] ()
三、【填空题】(本大题共15空,每空1分,共15分;请将答案填写在答题卷相应题号处)
26.把标志寄存器的低8位传送给AH的指令是();把AH的低8位送入标志寄存器的低8位的指令是();标志进栈指令是();标志出栈指令是()。

27.XCHG是()指令。

28.现有一个二进制数10110110,若将该数分别看作是无符号数、补码表示的带符号数,它对应的十进制数的真值是()和()。

29.在汇编的伪指令中,标识符最多可有()个字符组成。

30.TYPE运算符的功能是取得变量或标号的();LENGTH运算符是取得变量或标号的()。

31.执行11011010+11101101运算后,CF=(),OF=(),SF=(),ZF=()。

32.POP是()指令。

四、【简答题】(本大题共3小题,每题5分,共15分;请将答案填写在答题卷相应题号处)
33.假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。

(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL
34.写出完成下述功能的程序段:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
35.写一程序段,求双字长数DX∶bX的相反数。

五、【编程题】(本大题共1小题,每题20分,共20分;请将答案填写在答题卷相应题号处)
36.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。

《汇编语言》模拟试卷三答案
2分,共10分)
1分,共15分)
26. LAHF、SAHF、PUSHF、POPF
27.交换
28. 182、-74
29. 31
30.类型、长度
31. 1、0、1、0
32.出栈
四、【简答题】(本大题共3小题,每题5分,共15分)
33.答:(1) 005CH (2) 00DCH (3) 05CCH
知识点:需要重点掌握循环操作指令SHR、RCR、RCl等指令的使用
34. 答:(1)MOV AL, 25H
(2)SHL AL, 1
(3)MOV BL, 15H
(4)MUL BL
最后,(AX)=612H =1554
35.答: NEG DX
NEG AX
SBB DX, 0
知识点:重点掌握汇编指令系统的编程技巧,上两题考察MOV、乘法指令MUL和NEG 等指令的使用。

具体可参考汇编指令系统一章。

五、【编程题】(本大题共1小题,每题20分,共20分)
36.DATA SEGMENT
PATTERN DB 23H,24H,25H,26H
DISPLAY DB 80 DUP(‘’),‘$’
DATE ENDS
CODE SEGMENT

CLD
LEA SI,PATTERN
LEA DI,DISPLAY
MOV CX,80
REP MOVSB
MOV AH,09H
LEA DX,DISPLAY
INT 21H
RET
CODE ENDS
知识点:独立编写汇编程序的能力,循环指令的使用。

相关文档
最新文档