广东海洋大学汇编语言复习题目答案.docx
- 文档编号:6123404
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:43.93KB
广东海洋大学汇编语言复习题目答案.docx
《广东海洋大学汇编语言复习题目答案.docx》由会员分享,可在线阅读,更多相关《广东海洋大学汇编语言复习题目答案.docx(15页珍藏版)》请在冰豆网上搜索。
广东海洋大学汇编语言复习题目答案
汇编语言复习提纲
一、考试题型:
1、选择题(20分,每题1分)
2、填空题(10分,每空1分)
3、判断说明题(20分,每题2分)
4、程序分析题(20分,每题5分)
5、程序填空题(20分,每空2分)
6、编程题(10分)
二、考试范围与考试形式
教材第1~9章,笔试,闭卷
三、考试要点:
要求熟悉指令功能,能熟练阅读和编写汇编语言源程序。
1、汇编语言源程序的结构框架
2、汇编语言上机过程及产生的文件
3、8086CPU内部寄存器组及地址总线与数据总线宽度
4、debug的常用命令(R、D、A、E、U、T、G、P)
5、物理地址的形成与存储器分段结构
6、与数据有关的寻址方式
7、常用指令的格式与功能
常用汇编指令
数据传送类MOV PUSH POP IN OUT LEA
算术运算类:
ADDADC INC SUB SBB DECCMP MUL DIV逻辑指令:
AND OR XOR TEST SHL SHR ROL ROR
控制转移指令:
JMP JNE JBE JL CALL LOOP INT RET
常用伪指令:
成对出现的伪指令:
SEGMENT…ENDS PROC…ENDP
MACRO…ENDM
假设:
ASSUME 数据定义:
DB DW LABEL
地址计数器:
$ 重复:
DUP 结束:
END
属性操作符:
PTR
8、算术指令的执行影响标志寄存器中的条件标志位(CF、OF)
9、循环与分支程序结构
10、子程序结构
11、宏指令定义
12、中断源、中断向量表与中断向量的关系
13、用IN和OUT指令直接控制硬件
14、键盘、CMOS时钟、显示器的工作原理
15、常用DOS中断(INT21H的1、2、9、10号功能调用)
16、常用的BIOS中断(INT16H的0号功能,INT 10H的2、3、6、7、9号功能)
重点掌握的程序:
二、十、十六进制相互转换的程序
BCD码转换为十进制的程序
发声程序
大小写字母相互转换的程序
进行累加求和的程序
例题5.1 5.3 5.4 5.5 习题 5.21 5.26
例题6.3 6.4 6.9 习题 6.4 6.5 6.7
例题7.1 习题 7.1
例题8.1 8.5 习题 8.1 8.3 8.9 8.11
例题9.5 9.7 9.11 9.14 习题9.3 9.4 9.5 9.6 9.10
汇编语言复习题
一、选择题
1.下面关于汇编语言源程序的说法中正确的是( B )
A.必须要有堆栈段 B.一个程序可以有多个代码段
C.必须要有数据段 D.只能有一个数据段
2.在汇编语言程序开发中,一般要按顺序经过( B)过程。
a.用文字编辑程序编写源程序
b.用连接程序LINK连接程序 .ASM—>.OBJ-->.EXE
c.用MASM宏汇编程序,编译成目标程序
d.用DEBUG程序调试程序
A.abcd B.acbd C.adcb D.adbc
3.汇编语言编译程序MASM.EXE(编译器)编译的对象是(C )文件。
A. .EXE B. .OBJ C. .ASM D. .DOC
4.汇编语言源程序经过MASM汇编后产生(C )文件。
A. .EXE B. .ASM C. .OBJ D. .DOC
5. DEBUG调试程序时查看内存单元内容的命令是( A)
A.D B.R C.A D.E
6. DEBUG调试程序时查看寄存器内容的命令是( B)
A.D B.R C.U D.A
7.8086CPU地址总线宽度为( C)位。
A、8 B、16 C、20 D、32
8. 8086CPU数据总线宽度为(B )位。
A、8 B、16 C、20 D、32
9. 1个CPU的寻址能力为32KB,那么它的地址总线宽度为( B )。
A、13 B、15 C、18 D、32k
10.汇编语言源程序中定义段的伪指令是( D )
A.REPT…ENDM B.PROC…ENDP
C.MACRO…ENDM D.SEGMENT…ENDS
11.汇编语言源程序中定义宏的伪指令是( C )
A.REPT…ENDM B.PROC…ENDP
C.MACRO…ENDM D.SEGMENT…ENDS
12..对于下列程序段:
AGAIN:
MOV AL,[SI]
MOV ES:
[DI],AL
INC SI
INC DI
LOOP AGAIN 把[sI]中的内容传送给ES:
[DI]
也可用( A )指令完成同样的功能。
A. REP MOVSB 串传送 B. REP LODSB 从串取
C. REP STOSB 存入串 D. REPE SCASB 串扫描
13.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )
A.1998H B.1FFFH C. 1FFEH D.2002H
14.设SP初值为2000H,执行指令“POP BX”后,SP的值是( D )
A.1998H B.1FFFH C. 1FFEH D.2002H
15.执行下列指令序列后,正确的结果是(A )
MOV AL,81H al=81h
ADD AL,AL al=81h+81h=02h , cf=1
ADC AL,AL 02h+02h+cf=05h
A. AL=05H B. AL=204H C.AL=04H D. AL=205H
16.下列指令被编译时会出错的是( D )mul的操作数不能为立即数
A.MUL BX B.MUL CL C.MUL DAT1 D.MUL 56
17.与MOV BX,OFFSETVAR指令完全等效的指令是( B )。
A、MOV BX,VAR B、LEA BX,VAR
C、LDS BX,VAR D、MOV BX,SEG VAR
18. 指令指针寄存器是( C )
A. BP B. SP C. IP D. PSW
19.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B )
A.AX,BX,CX,DX B.BX,BP,SI,DI
C.SP,IP,BP,DX D.CS,DS,ES,SS
20. 下列数据段中:
BUF1 DB 3 DUP(0,2 DUP(1,2),3)
COUNT EQU $-BUF1
符号COUNT等价的值是( B )
A.6 B. 18 C. 16 D. 8
占用了18个字节,其中2 DUP(1,2)占用了2*2=4个字节,总共占用了
3*6=18个字节
21.设数据段中已有:
DA1 DB 12H,34H
DA2 DW 56H,78H
下面有语法错误的语句是( C )
A. MOV AL, DA1 B. MOV WORDPTR DA1,AX
C. MOV DA1+1,AX D. MOV BYTEPTR DA2+1,AL
22.指令MOV BYTE PTR [BX+SI],00H中目的操作数的寻址方式是( d)
A.立即寻址 B.寄存器寻址
C.寄存器间接寻址 D.基址变址寻址
23.指令MOV ES:
[BX],AL 中目的操作数的寻址方式是(c )
A.直接寻址 B.寄存器寻址
C.寄存器间接寻址 D.基址变址寻址
24.条件转移指令JB产生程序转移的条件是( A)
A. CF=1 B.CF=0
C.CF=1和ZF=1 D.CF=1和ZF=0
25、若执行SAL SI,CL后能将SI的内容乘以8,则(CL)=( B )
A、2 B、3 C、4 D、8
26.编辑汇编语言源程序时,对于注释语句必须用英文输入法中的( B )来标示。
A. :
B. ; C. , D. .
27.将AL高4位清0,应执行的指令是 ( B )
A. AND AL,0F0H B. AND AL,0FH
C. OR AL,0FH D. TEST AL,0FH
28.若程序中定义了26B的数据段data,那么程序载入内存,该data段实际占用的内存空间是( C )。
16的倍数
A、 16B B、26B C、 32B D、 64KB
29.在8086CPU系统中一个段的容量最小为( A )。
A、16B B、64KB C、512KB D、1KB
有数据时最小为16B,没数据时最小为0
30.下列地址信息与0020H:
03EFH确定的内存地址不同的是( B )。
A、5EFH B、203H:
00EFH
C、005EH:
000FH D、0002H:
05CFH
ACD对应的物理地址都是5EFH
二、填空题
1、完成下列数制转换:
11101010B= D= H
2.在存储器分段管理中,物理地址需要____2_______个16位寄存器来存储。
3.对于指令FEES DW 100DUP(0)
LENGTH= 100 ,SIZE= 200B 。
4.设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?
(1)JMP BX ; IP=______1256h_____________
(2)JMP TABLE[BX] ; IP________3280H_____________
5.设(DS)=2000H,有下列数据段,请用十六进制写出下列各字节单元的内容:
ORG 2100H 想知道org是什么?
XX一下
TABLE DB 10,3*5,10H 占三个字节
ADDRESS DD TABLE DD占四个字节,地址为2000h:
2100h
ARRAY DW 2 DUP(3827H,?
) 占4个字,8个字节
(1)(2100H)=____10_________
(2)(2103H)= _____00_________
(3)(2106H)=____20H__________ (4)(210CH)= _____38H_________
这里的DS=14F8H,(2106H)=14
题目DS=2000H,所以(2106H)=20
6.已知X=-38D,Y=-64D,则[X-Y]补=____1AH_______(结果用十六进制表示)
7、设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(SI)=0001H,(DI)=0002H,(21000H)=1234H,(21002H)=5678H,(31000H)=9ABCH,(31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH
计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。
(1) MOV AX, ES:
[1000H] ; 物理地址PA=
(2) MOV AX,[BP] ; 物理地址PA=
(3) MOV AX, [BX][SI]
物理地址PA= (AX)=
8.计算机中8位二进制有符号数(含一位符号位)的补码表示范围是—128~127
9.若机器进行有符号数运算,执行指令:
MOV AL,0F0H
ADD AL,78H
则ADD指令执行后:
(CF)= 1 ,(OF)= 0
想知道结果也可以调试一下看看
10.8086CPU允许有 256 个中断源,其中定时器中断的中断类型号为 08H ,在中断向量表中N类型对应中断向量的地址为 N×4 。
三、判断下列指令的正误
1、MUL AL,BL (N )只有一个操作数
2、MOV CS, BX (n )
3、PUSH AL (N) PUSH和POP操作都是以字为单位
4、SHL AX,CX (N) 以为次数要放在cl中
5、MOV AH,BYTEPTR[SI][DI] (N)[SI][DI]两个都为变址寄存器
6、OUT 03FCH,AX ( N )
03FCH超过了255,必须用间接寻址,这里间接寻址的寄存器要用DX,
Movdx,03fch
Outdx,ax
7、SUB AX,[BX] ( y )
8、AND AL, 0FH ( y )
9、MOV [SI],[DI] ( n )两个操作数不能同时为存储器
10、MOV [BX], 0FFH ( n )
11、MUL 0AH ( n )
12、CALL FAR PTR S ( y )
13、ADD DS, AX ( n )段寄存器不可以用在算术指令中
14、ADD AL,100H ( n )类型不一致
15、MOV [BX], BX ( y )
16、INT 1000H (n )
17、JMP SHORT PTR S ( n )
18、0R AL, 0FFFH ( n )
19、CALL BX ( y )
20、IN 03H,AX ( n )
四、程序分析题
1. 阅读下面程序段,回答问题。
A DB 0F8H
B DB 3 DUP(?
)
┇
LEA DI,B
MOV CX,3
MOV AL,A
LOP:
SAR AL,1
MOV [DI],AL
INC DI
LOOP LOP
┇
上述程序段运行后,从B单元开始依次存放的数据是多少?
FC FE FF
F8H=11111000
右移一位变为11111100=FC
再右移一位变为11111110=FE
再右移一位变为11111111=FF
调试结果:
2、分析下面程序段的功能
……
DATA SEGMENT
S9 DB 0,1,2,3,4,5,6,7,8,9
DATA ENDS
┇
LEA SI,S9
LEA DI,S9+1
MOV CX,5
LOP:
MOV AL,[SI]
XCHG AL,[DI]
MOV [SI],AL
ADD SI,2
ADD DI,2
LOOP LOP
……
上述程序段运行后,S9开始的10个字节存储单元内容是什么?
01 00 03 02 05 04 07 06 09 08
3、已知BUF开始的数据区中存放有10个大、小写字母,分析下面程序段完成的功能是什么?
……
MOV CX,10
LEA BX,BUF
K2:
MOV AL,[BX]
CMP AL,‘Z’
JBE K1
SUB AL,20H (20H=32,大小写字母相差32)
MOV [BX],AL
K1:
INC BX
LOOP K2
……
实现功能:
把小写字母变为大写字母
4.分析下面程序段完成的功能是什么?
…… ;(DX:
AX)联合存放了一个32位数据
MOV CL,4
SHL DX,CL DL=****0000
MOV BL,AH
SHL AX,CL AL=****0000
SHR BL,CL BL即AH的内容,AH=0000****,四个星号为原来AX的高四位
OR DL,BL
……
功能:
把ax的高四位写入到dx的低四位
5、分析下面程序段完成的功能是什么?
……
MOV CX,10
LOP1:
MOV AH,1
INT 21H
PUSH AX
LOOP LOP1
MOV CX,10
LOP2:
POP DX
MOV AH,2
INT 21H
LOOP LOP2
……
功能:
把输入的字符逆向输出
6、以下是二进制数(bx)到十六进制数转换并显示程序的源文件BINIHEX.ASM,阅读并完成该程序。
……
START:
MOV CH,4 bx为16位,bx要循环4次,用ch来计次数
ROTATE:
mov cl,4
ROL BX,CL
MOV AL,BL bx循环左移后,原来的高四位变为低四位,把bl的 值送给al,以免后面的操作影响bx的值
And al,0fh 与0fh相与,只保留低四位
ADD AL,30H 转换为ASII码
CMP AL,3AH ASII码大于3Ah则al的值大于9,若小于3Ah,直接输出
JL PRINTIT
Add al,07h ASII码大于3Ah,A的ASII码为41h,所以要加上7,可以输出相应的ABCD....
PRINTIT:
MOV DL,AL
Mov ah,02h
INT 21H
Dec ch
JNZ ROTATE ch为零时跳出循环
MOV AH,4CH
INT 21H
……
7、以下是子程序BCDIASC,请阅读程序并完成填空。
;功能:
将十进制的两位数的BCD码转换为ASCII码并在屏幕中间显示.
;参数:
(AL)=十进制的两位数的BCD码,无出口参数
BCDIASC:
MOV AH,AL
MOV CL,4
shr ah, cl ;将AH的高4位移至低4位
And al, 0fh ;保留AL的低4位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广东 海洋大学 汇编语言 复习 题目 答案