汇编语言复习题.docx
- 文档编号:23365534
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:32.33KB
汇编语言复习题.docx
《汇编语言复习题.docx》由会员分享,可在线阅读,更多相关《汇编语言复习题.docx(25页珍藏版)》请在冰豆网上搜索。
汇编语言复习题
1.HLA可以根据(数据类型)对输入的数据进行合法性检查。
2.最重要的是要根据(数据类型)为常量和变量分配相应的内存空间和确定它们的取值范围。
3.(常量)是编译源程序时,已经有确定的值的量,在程序运行中这个值不能改变。
4.在程序里可以使用(十六进制)整数。
HLA要求以$前缀开始,不能带符号。
5.在程序里可以用(二进制)整数。
HLA要求以%前缀开始,不能带符号。
6.HLA允许在数值中用(下划线)作为分隔符,便于人们阅读。
7.为了区分(浮点数)和整数或无符号常量,必须有小数点或"e"/"E"。
8.一个布尔常量是最简单的(布尔表达式)。
9.字符串常量是用(双引号)括住的零个或多个字符。
10.在字符串常量中插入(两个双引号)来代表一个双引号。
11.HLA的CONST段用来声明(符号常量)。
12.常数表达式中的运算符遵循标准的优先级规则;可以用(括号)改变运算符的优先级。
13.你不能在变量声明段里用(另一个变量)给变量赋值。
14.系统把(浮点类型数值)一律当做有符号的数值。
15.一个布尔型变量是最简单的布尔型表达式。
16.HLA比MASM32汇编语言容易学习和使用有两个原因。
第一HLA有一个(HLA标准函数库)。
第二HLA有类似高级语言的声明和控制结构的语法。
17.输出函数对通用类型以及寄存器实参用(十六进制数)显示。
18.输出函数对(整数类型)实参用十进制数显示。
19.输出函数对二进制和十六进制常数用无符号(十进制整数)显示。
20.输出函数对不指定小数位数的浮点类型实参用(科学计数法)显示。
21.stdin.readLn函数放弃(输入缓冲区)中的所有数据,立即要求用户(输入新一行)数据。
22.stdin.flushInput函数只是简单地放弃(输入缓冲区)中的所有数据。
23.正数的补码经过(求补)运算,结果是它相反数的补码。
24.负数的补码经过求补运算结果是(它的相反数)的补码。
25.在计算机元件级无法区分一个二进制数的最高位是(代表符号还是代表数值)。
26.对于无符号数的加法,运算中(最高位如产生进位),这就是溢出。
27.对于无符号数减法,运算中(最高位如产生了借位),这就是溢出。
28.对于有符号数的加法,溢出可能发生在(两个同号数)相加的情况下。
29.对于有符号数的减法,溢出可能发生在(两个异号数)相减的情况下。
30.段寄存器组包括CS、DS、SS、ES、FS、GS等6个(16位)寄存器。
31.通用寄存器不是独立的,修改一个寄存器时(至少同时修改了)另一个寄存器。
32.条件标志有(进位标志)、奇偶标志、辅助进位标志、零标志、负数标志、溢出标志。
33.条件标志有进位标志、奇偶标志、辅助进位标志、(零标志)、负数标志、溢出标志。
34.条件标志有进位标志、奇偶标志、辅助进位标志、零标志、负数标志、(溢出标志)。
35.条件标志有进位标志、奇偶标志、辅助进位标志、零标志、(负数标志)、溢出标志。
36.指令计数器IP,它存放着(下一条要执行的)机器指令的偏移地址。
37.寄存器ESP只用来作为(堆栈栈顶指针)。
38.EBP寄存器除了可用作数据寄存器外,还可用作(访问堆栈的)指针寄存器。
39.与高级程序设计语言最大区别之一是汇编语言程序可以利用(通用寄存器)资源。
40.操作系统保留了(最低的)内存地址空间。
41.堆段与堆栈段是不同性质的段,堆段与(动态分配内存)直接相关。
42.指令的线性地址是(代码段基址)与指令的偏移地址之和。
43.静态数据段在(装入程序)时分配内存,到程序结束时,与代码段同时撤出内存。
44.只读数据段保存(程序执行时)不能修改的常数、表、其他数据。
45.@NOSTORAGE属性表示让HLA在数据声明段给变量(赋予当前的地址),但不给对象分配内存空间。
46.在VAR段声明的变量,只当程序单元执行时(才分配内存),所以HLA不允许对VAR段的变量初始化。
47.如果一个数据或一条指令占多个字节,操作系统就按(低地址)作为数据或指令的地址。
48.操作系统遵循低字节数据(指令)装入(低地址)字节,高字节数据(指令)装入(高地址)字节的规则将数据或指令装入内存。
49.操作数寻址方式的一个含义是表示(操作数)在哪里。
另一个含义是表示操作数的值。
50.汇编语言指令的操作数可以在指令中、(CPU的寄存器)中、内存中、接口寄存器中。
51.汇编语言指令的操作数可以在指令中、CPU的寄存器中、(内存)中、接口寄存器中。
52.汇编语言指令的操作数可以在(指令)中、CPU的寄存器中、内存中、接口寄存器中。
53.指针是(32位)长,你可以简单地用dword类型单元存放指针。
54.HLA标准库的(malloc)和free函数分别处理内存分配和内存回收的事务。
55.HLA标准库的malloc和(free)函数分别处理内存分配和内存回收的事务。
56.为了访问用malloc分配的内存单元,你必须使用(寄存器间接)寻址方式。
57.使用malloc分配的内存区结束后,要调用(free)函数释放该内存区。
58.字符串有三个属性:
字符串的起始地址、(字串长度)和字符数据。
59.一个HLA字串由四部分组成。
第一部分用四个字节存放(最大字串长度)。
第二部分用四个字节存放当前的字串长度。
第三部分是字符序列。
最后部分是以零结尾的字节。
60.HLA标准库提供了专门为(字符串)分配空间的stralloc过程。
61.stralloc需要一个双字参数。
用它指定字符串的(最大字符个数)。
62.释放由stralloc分配的内存必须使用(strfree)函数。
63.在高级语言中,下标封装了(访问内存的)细节,可以用下标表达式表示要访问的元素。
64.在汇编语言中,要用下标(映射要访问的)元素的地址。
65.在程序里要用80X86的指令序列表示地址映射函数,其核心是为数组元素找到某种合适的(寻址方式)。
66.构建一个活动传递结构从(调用过程)开始。
67.调用程序先把实参值压入堆栈,接着执行CALL指令把(返回地址)压入堆栈。
68.过程先把EBP寄存器的内容压入堆栈,接着将(ESP的值复制)给EBP,EBP代表活动传递结构的基址。
69.最后在活动传递结构里为(局部变量)和保护寄存器分配空间。
70.在过程里用(负的偏移量)加上活动传递结构的基址(EBP)访问局部变量。
71.当过程结束时,为了取得正确的返回地址,必须清除(局部自动变量)。
72.建立活动传递结构是由调用程序和(过程)共同完成的,而清除活动传递结构是由(过程)完成的。
73.在过程里用(正的偏移量)加上活动传递结构的基址(EBP)访问形参变量。
74.只有MOVS和CMPS指令同时需要(源数据串地址)和目的串地址。
75.重复前缀REPE每执行一次串指令,判断串指令执行结果,如果(等于0)时,重复执行串指令;否则执行下条指令。
76.重复前缀REPNE每执行一次串指令,判断串指令执行结果,如果(不等于0)时,重复执行串指令;否则执行下条指令。
77.标志寄存器中的方向标志DF控制串指令修改(源和目的串地址)的方向。
无论是否使用重复前缀,要先(设置方向标志),才能正确修改源、目的串的地址。
78.重复前缀REP将其后的串指令(重复执行)N次,N放在ECX中。
一、填空题:
(每空1分,共25分)
1、将十进制数686化为十六进制是________,将十进制数101化为二进制是________
2、在指令MOVAX,100中,源操作数的寻址方式为________,目的操作数的寻址方式为________。
3、PC机中,既可作为八位又可作为十六位寄存器使用的寄存器为 、 、 、 。
4、在中断矢量表中,每项占_______个字节,中断矢量表存放在从地址___ _____开始的内存单元中。
对于INT16H,该中断向量的存放地址是____________。
5、FL称为______ __,其中OF是________,SF是________,ZF是________,CF是________,当ZF=0是,表示________。
6、IP称为_____ ____,它用来存放代码段中的___ ____。
7、SP称为______ __,它用来存放当前栈顶的___ ____。
8、堆栈是一端_______,一端_______,按___________原理工作的一块存储区。
9、若CS为3000H,则当前代码段可寻址存储空间是___ ____。
二、改错题:
(2*10)
1、SUBBL,AX
2、POPBL
3、SHRAX,8
4、INAL,100H
5、MOV[SI],[BX]
6、ADDAX,[SI+DI]
7、DIV100H
8、DEC[SI]
9、LEABL,BUF(变量)
10、CMPAX,ES:
SI
三、已知某数据段定义如下,试画出其内存结构示意图,并给出变量A1,A2A3,A4的偏移地址和变量、符号常量的值。
(15)DATASEGMENT
A1DW–5,58A7H
A2DB‘AB’,2DUP(‘2’,2),?
A3DWA2
A4DDA3
NEQU$-A1
DATAENDS
四、编写实现下列功能的程序段。
(4*5)
1、将BL、DL中的有符号数相除,商送BL,余数送CL中。
2、已知在AX、BX中放有一32位有符号二进制数,求其绝对值送入CX、DX中。
其中AX、CX放高位。
3、将AX、BX与SI、DI中的两个双精度数相减,差值送CX、DX。
4、把32位数3F65C932H逻辑左移2位,结果存在DX:
AX中。
5、将AL寄存器的高4位和低4位互换。
五、写程序:
(20)
已知在以BUF为首址的字节存储区中,存有一个以'$'作结束标志的
字符串。
试编写程序在显示器上显示该字符串,并将小写字母以大写字
母形式显示出来。
练习题
1.对于下列程序段:
AGAIN:
MOVAL,[SI]
MOVES:
[DI],AL
INCSI
INCDI
LOOPAGAIN
也可用()指令完成同样的功能。
(A)REPMOVSB(B)REPLODSB(C)REPSTOSB(D)REPESCASB
2.执行如下程序:
MOVAX,0
MOVBX,1
MOVCX,100
A:
ADDAX,BX
INCBX
LOOPA
HLT
执行后BX中的内容为()。
(A)99(B)100(C)101(D)102
3.BUF1DB3DUP(0,2DUP(1,2),3)
COUNTEQU$-BUF1符号COUNT等价的值是()(A)6(B)18(C)16(D)8
4.若计算机字长16位,则无符号整数表示为十六进制数的范围是()。
(A)8000H~FFFFH(B)0000H~8000H(C)0000H~FFFFH(D)0001H~FFFFH
5.若汇编语言源程序中段的定位类型设定为PARA,则该程序目标代码在内存中的段起始地址应满足什么条件?
()(A)可以从任意地址开始(B)必须是偶地址(C)必须能被16整除(D)必须能被256整除
6.指令MOVBYTEPTR〔BX+SI〕,0中目的操作数的寻址方式是()。
(A)立即寻址(B)寄存器寻址(C)寄存器间接寻址(D)基址变址寻址
7.已知SP=12EH,执行段间返回指令RET后,SP的值是()。
(A)12AH(B)12CH(C)130H(D)132H
8.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()(A)BX或CX(B)CX或SI(C)DX或SI(D)SI或DI
9.指令指针寄存器是()。
(A)IP(B)SP(C)BP(D)PSW
10.在汇编语言程序中,对END语句的叙述正确的是()。
(A)END语句是一可执行语句(B)END语句表示程序执行到此结束(C)END语句表示源程序到此结束(D)END语句在汇编后要产生机器码
11.已知CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是()。
PUSHCSPOPDSA)CS=0DS=2300H(B)CS=2400HDS=2300H(C)CS=2400HDS=2400H(D)CS=2300HDS=2300H
12.在下列语句中,BUFFER称为()
BUFFERDB01H,0(A)符号(B)变最(C)助记符(D)标号
13.以寄存器DI间接寻址的存储器字节单元内容加1的指令是()。
(A)INC〔DI〕(B)INCDI(C)INCBYTEPTR〔DI〕(D)ADD〔DI〕,1
15.有指令MOVAX,1234H,指令中的立即数1234H是存储在()(A)数据段(B)代码段(C)附加段(D)堆栈段
16.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
(A)无符号十进制数136(B)带符号十进制数-120(C)压缩型BCD码十进制数88
17.设数据段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有语法错误的语句是()。
(A)ADR1DWDA1(B)MOVDA1+1,AX(C)MOVBYTEPTRDA2+1,AL(D)MOVWORDPTRDA1+1,AX
最佳答案1.A2.C3.B4.C5.C6.D7.D8.D9.A10.C11.D12.D13.C15.B16.这三个选项都是对的
计算机三级pc技术汇编语言练习题汇总
第一章基础知识练习题
一、选择题
1.在微机系统中分析并控制指令执行的部件是():
A.寄存器 B.数据寄存器C.CPU D.EU
2.已知X=76,则[X]补= A.76H B.4CHB.0B4H D.0CCH
3.已知[X]补=80H,则X=:
A.80H B.0 C.0FFH D.-80H
4.已知[X]补=98H,则[X]补/2=:
A.0CCH B.4CH C.49H D.31H
5.已知X=78,Y=-83则[X+Y]补=:
A.0F5H B.0A1HC.0FBH D.65H
6.在计算机的CPU中执行算术逻辑运算的部件是:
A.ALU B.PCC.AL D.AR
7.将125转换成二进制数的结果:
A.7DH B.7CHC.7EH D.7BH
8.执行指令PUCHCX后堆栈指针SP自动():
A.+1 B.不操作 C.-2 D.-1
9.在标志寄存器中表示溢出的标志:
A.AF B.CF C.OF D.SF
10.将93H看成一个组合BCD码,其结果是:
A.10010101 B.10010011 C.10000011 D.10000001参考答案:
1、C 2、B 3、D 4、A 5、C6、A 7、A 8、C 9、C 10、B
第二章寻址方式和指令系统练习题
1.MOVAX,ES:
[1000H]源操作数的寻址方式是:
A.立即寻址 B.直接寻址 C.变址寻址 D.基址寻址
2.MOVAX,ES:
COUNT[DI]源操作数的寻址方式是:
A.基址寻址 B.立即寻址 C.变址寻址 D.基址变址寻址
3.MOVDX,COUNT[BP][DI]的源操作数的寻址方式是:
A.变址寻址 B.基址寻址 C.直接寻址 D.基址变址寻址
4.若AX=1020H,BX=1200H,CF=1,则SBBAX,BX的执行结果为:
A.0EF1FH B.0FEFFH C.0FE1FH D.0FE21H
5.若AX=2000H,CL=90H,则DIVCL执行后,AX=
A.8038H B.8039H C.9138H D.8138H
6.若BL=83H,CF=1,则ADCBL,90H执行后,BL=
A.15H B.16H C.17H D.14H
7.若DX=1010H,则ANDDX,DX的执行结果为
A.0000H B.1111H C.1010H D.FFFFH
8.指令MOVBX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为:
A.17500H B.16500H C.14500H D.13500H
9.指令MOVAX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为:
A.17400H B.17000H C.15400H D.14500H
10.指令MOVDX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为:
A.6F300H B.77800H C.59800H D.78700H
参考答案
1.B 2.C 3.D 4.C 5.A6.D 7.C 8.B 9.C 10.C
第三章宏汇编语言练习题
1.源程序结束语句为:
A、ENDP B、ENDS C、ENDMAIN D、END
2.SKY:
MOVAL,20H中操作数为:
A、MOV B、SKY C、AL或20H D、AL和20H
3.下列为不合法的标志符的是:
A、AXYZ B、5SKY C、@ATT D、?
ABC
4.下列地址表达式正确的是:
A、[BX-SI] B、[BP-DI] C、[BX+2] D、[BP+BX]
5.NEAR标号的类型值为:
A、2 B、-1C、4 D、-2
6.组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是:
A、NONE B、PUBLIC C、COMMON D、STACK
7.下面哪一个命令是显示内存单元的内容?
A、D命令 B、E命令 C、F命令 D、R命令
8.能被计算机直接识别和执行的指令是:
A、符号指令 B、机器指令 C、伪指令 D、宏指令
9.取变量偏移属性的分析运算符是:
A、OFFSET B、TYPE C、SIZE D、SEG
10.分析运算符LENGTH只有用()定义的变量才有意义。
A、表达式 B、字符串 C、DUP D、疑问号
11.在段定义中,()是默认的定位类型。
A、PAGE B、PARA C、WORD D、BYTE
12.汇编语言指令中唯一不可缺少的域是:
A、标号名字域 B、助记符域 C、操作数域 D、注释域
参考答案:
1、c 2、d 3、b 4、c 5、b 6、a 7、a 8、b9、a 10、c 11、b 12、b
第四章程序设计的基本方法练习题
1.段内直接转移指令采用的寻址方式是:
A、直接寻址 B、相对寻址C、绝对寻址 D、间接寻址
2.下列指令中不等价的是:
A、JA和JNBE B、JG和JNLEC、JL和JNG D、JBE和JNA
3.下列指令中等价的是:
A、JC和JO B、JNC和JNOC、JP和JPE D、JA和JG
4.在MOVB指令中,其目的串的物理地址为:
A、DS*2*2*2*2+SI B、DS*2*2*2*2+DI C、ES*2*2*2*2+SI D、ES*2*2*2*2+DI
5.条件转移指令的转移范围:
A、-128--+127 B、-32768--+32767C、0--+255 D、0--+65535
6.执行段间调用指令CALL时,首先保护断点的:
A、段地址和偏移地址 B、段地址 C、偏移地址
1. 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。
2. 间接转移指令都可以通过寄存器来寻址。
3. 段间间接转移指令中,低地址的字送IP,高地址的字送CS。
4. 所有串操作指令的源串的段地址均取自于段寄存器DS:
5. 串操作指令一般用CX存放长度:
6. 约定寄存器法适合于参数较多的情况:
7. 用赋值法编写子程序时,子程序内必须修改返回地址:
8. RETN指令中,N可为任意值:
选择题答案:
1.B 2.C 3.C 4.D 5.A 6.A判断题答案:
NNYYYNYN
第五章输入输出和中断调用练习题
选择题(每题只有一个正确的选项,一题十分,共50分)
1.中断服务程序入口地址占用()个字节A.4 B.6 C.2 D.1
2.INT1AH指令执行的结果高位字存在()中A.AX B.BX C.CX D.DX
3.DOS系统功能调用的屏幕显示字符是()号调用A.1 B.4 C.5 D.2
4.2BHDOS功能调用中,月份送给()寄存器A.DH B.DL C.AL D.AH
5.键盘中断调用(16H)的0号功能是将读入字符的ASCII码送入()A.AH B.ALC.BH D.BL
答案:
1.A 2.C 3.D 4.A 5.B
判断题(在正确的题目前打钩,错误的不必打钩,一题十分,共30分)YYN
1. INAL,DX是将一个字节由输入端口传送至AL
2. 所有中断过程均可用IRET指令退出
3. 8号类型的中断向量在中断向量表中的地址是2*8
第六章常用程序设计练习题
选择题1.十进制数运算调整指令AAS可以紧跟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 复习题