汇编复习资料.docx
- 文档编号:29897091
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:48
- 大小:35.60KB
汇编复习资料.docx
《汇编复习资料.docx》由会员分享,可在线阅读,更多相关《汇编复习资料.docx(48页珍藏版)》请在冰豆网上搜索。
汇编复习资料
汇编语言期中复习资料
(含有部分参考答案,仅仅作为参考)
1、表示段定义结束的命令是:
A、ENDSB、ENDPC、ENDMD、END
2.设BX=2000H,SI=3000H,指令MOVAX,[BX+SI+8]的源操作有效地址为()。
A.5000H B.5008H C.23008H D.32008H
3、标志位ZF是什么标志:
A、符号位标志B、进位标志C、溢出标志D、零标志
4、用户为了解决自己的问题,用汇编语言所编写的程序,称为()
A、目标程序 B、源程序 C、可执行程序 D、C程序
5、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()
A、AX,BX,CX,DX B、DS,ES,CS,SS C、SP,BP,IP,BX
D、SI,DI,BP,BX
6、用一条指令实现将BX有符号数除以2方法是()
A、ROR B、RCL C、SHR D、SAR
7、设SP初值为2000H,执行指令“POP AX”后,SP的值是()
A、1FFFH B、1998H C、2004H D、2002H
8、条件转移指令JB产生程序转移的条件是()
A、CF=1 B、CF=0 C、CF=1和ZF=1 D、CF=1和ZF=0
9、CBW指令的功能是()
A、把源操作数的符号位扩展到目的操作数中 B、把AL中的符号位扩展到AH中
C、把AH中的符号位扩展到AL中 D、把AX中的符号位扩展到DX中
10.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理
址为( )。
A.13000H B.23000H C.33000H D.3000H
11.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:
[SI],AL的目的操作数的物理地址为( )。
A.20200H B.30200H C.50200H D.200H
12.指令MOV MEM[BX],AX中的MEM是( )。
A.原码 B.反码 C.补码 D.移码
13.用来作为寄存器间接寻址的寄存器有( )个。
A.8 B.6 C.5 D.4
14.指令MOV [BX+SI],AL中的目的操作数使用( )段寄存器。
A.CS B.DS C.SS D.ES
15.指令MOV BX,[BP+5]中的源操作数使用( )段寄存器。
A.CS B.DS C.SS D.ES
16.段内间接寻址只改变( )中的内容。
A.CS B.IP C.CS和IP D.FR
17.段间间接寻址只改变( )中的内容。
A.CS B.IP C.CS和IP D.FR
18.下述指令中不改变标志寄存器FR的指令是( )。
A.MOV AX,BX B.AND AL,0FH
C.SHR BX,CL D.ADD AL,BL
19.下述指令中不影响CF的指令是( )。
A.SHL AL,1 B.INC CX
C.ADD [BX],AL D.SUB AX,BX
20.两个整数补码9CH和7AH相加运算后,会产生( )。
A.无溢出且无进位 B.无溢出但有进位
C.有溢出且有进位 D.有溢出但无进位
21.指令JMP WORD PTR[BX]属于( )寻址。
A.段内直接 B.段内间接 C.段间直接 D.段间间接
22.在数据定义语句中,下列描述不正确的是( )。
A.存放存储单元的地址可以用字节表示
B.存放存储单元的地址可以用字表示
C.存放存储单元的地址可以用双字表示
D.存放存储单元的地址可以用四字表示
23.指令( )不改变CF的内容。
A.DEC AL B.ADD AX,CX
C.SUB [BX],CL D.SBB AL,DL
24.十进制数字74所对应的压缩型BCD码的形式是( )。
A.74 B.74H C.4AH D.4A
25.十进制数字85所对应的非压缩型BCD码的形式是( )。
A.0085 B.0085H C.0805 D.0805H
26.设AL=67H,执行“CMP AL,76H”后,AL=( )。
A.76H B.0DFH C.67H D.00
27.设AL=65H,BL=29H,执行下列指令后,AL=( )。
ADD AL,BL
DAA
A.8EH B.94 C.94H D.8E
28.压栈操作是( )位数的操作。
A.8 B.16 C.32 D.任意
29.一个段可以放在内存的任何地方,但起始地址应该从一个能被( )整除的单元地址开始。
A.16 B.32 C.64 D.128
30.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=( )。
A.0376H B.01BBH C.01BB D.0376
31.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。
A.REPNE B.REP C.REPE D.REPNZ
32.如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一条指令的操
作码,那么该条指令的位移量是( )。
A.20H B.1EH C.0DEH D.0E0H
33.如果“JA P”指令的操作码放在0050H,该指令的位移量为34H,执行完此条指
令转移到取下一条指令的偏移地址为()
A.0082H B.0084H C.0086H D.0088H
34.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADDAX,[BX]”指令后,AX=( )。
A.8856H B.6678H C.8800H D.6600H
35.设AX、BX寄存器中存放的是有符号的二进制数据,若执行“CMP AX,BX”指
令后,( )L表示大于则转L。
A.JZ B.JA C.JGE D.JG
36.执行“DIV BX”指令后,( )寄存器中存放商。
A.AL B.AH C.AX D.DX
37.执行“( )AX,BX”指令不改变AX寄存器中的内容。
A.CMP B.ADD C.XOR D.OR
38.若AX=1000H,执行“NEG AX”指令后,AX=( )。
A.1000H B.0E000H C.0F000H D.1001H
39.下列选项中不能作为名字项的是( )。
A.FH B.A3 C.3B D.FADC
40.下列指令不正确的是( )。
A.MOV AL,123 B.MOV AL,123Q
C.MOV AL,123D D.MOV AL,123H
41.下列指令不正确的是( )。
A.MOV BL,OFFSET A B.LEA BX,A
C.MOV BX,OFFSET A D.MOV BX,A
42.若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=( )。
A.0 B.1 C.2 D.3
43.若定义“A EQU 100”,执行“MOV AX,A”后,AX=( )。
A.A的偏移地址 B.A单元中的内容
C.100 D.A的段地址
44.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配( )字节单元。
A.10 B.20 C.22 D.24
45.若定义“C DD 2,4”,则该伪指令分配( )个字节单元。
A.2 B.4 C.6 D.8
46.过程定义语句以“过程名PROC”开始,以过程名( )结束。
A.ENDS B.ENDP C.ENDM D.END
47.代码段中的语句( )表示该段结束。
A.ASSUME B.CODE ENDS
C.START:
MOV AX,DATA D.END START
48.LINK命令执行后可以生成一个以( )为扩展名的文件。
A.ASM B.EXE C.OBJ D.COM
49.一个段最大可定义( )字节。
A.1M B.64K C.32K D.16K
50.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选( )。
A.BYTE B.WORD C.PARA D.PAGE
51.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的()。
A.相同 B.长 C.短 D.不定
52.宏指令与子程序相比,子程序调用的执行速度比宏指令的( )。
A.相同 B.快 C.慢 D.不定
53.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响( )的设定。
A.源程序 B.目标程序C.汇编程序 D.连接程序
54.设A和B为字变量,C为标号,下列指令中不正确的是( )。
A.MOV AX,A B.MOV AX,B
C.JNE A D.JMP C
55、完成下列程序段操作后,各标志位的状态是()。
MOVAL,1AH
MOVBL,97H
ADDAL,BL
A.ZF=0,SF=1,CF=0,AF=0,PF=1,OF=0
B.ZF=0,SF=1,CF=0,AF=1,PF=0,OF=0
C.ZF=0,SF=0,CF=1,AF=0,PF=1,OF=1
D.ZF=0,SF=0,CF=1,AF=1,PF=0,OF=1
56.用一条条件转移指令一次可实现( )个分支。
A.2 B.3 C.4 D.多
57.下列指令会影响标志位的指令是( )。
A.JMP L B.JC L
C.MOV AL,L D.SHL AL,1
58.当两个无符号数进行相加时,执行“JC L”指令表示( )转移。
A.有进位 B.结果为0 C.结果为奇 D.结果为负
59.当两个无符号数进行比较时,执行“JA L”指令表示( )转移。
A.CF=0且ZF=0 B.CF=0且ZF=1
C.CF=1且ZF=0 D.CF=1且ZF=1
60.当“CMP AX,BX”比较时,执行“JG L”指令后转移列L,则表明( )。
A.AX>BX B.AX=BX C.AX<BX D.AX≥BX
61.如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量13H,那么转移后的指令的偏移地址为( )。
A、0102H B、0113H C、0115H D、00FEH
62.下列叙述不正确的是( )。
A.有符号数比较后的条件转移指令可采用JG、JL、JGE和JLE指令。
B.无符号数比较后的条件转移指令可采用JA、JB、JNE和JBE指令。
C.有符号数比较后判断溢出用JO和JNO指令。
D.无符号数比较后判断溢出用JS和JNS指令。
63.循环指令中作为循环次数的寄存器是( )。
A.AX B.BX C.CX D.DX
64.循环指令的转移范围是( )。
A.-128~127 B.0~255 C.-32768~32767 D.0~65535
65.循环指令“LOOP”的操作是( )。
A.CX先减1,然后再判断CX,若CX=0则转,否则继续执行
B.CX先减1,然后再判断CX,若CX≠0则转,否则继续执行
C.先判断CX,若CX≠0则CX-1后转,否则继续执行
D.先判断CX,若CX≠0则转,否则CX-1后继续执行
66.在子程序中,如果利用堆栈保护现场,在恢复现场时,先压入堆栈的内容( )。
A.先弹出堆栈 B.后弹出堆栈 C.不分先后弹出堆栈D.任意弹出堆栈
67.下列定义子程序的是( )。
A.PNAMEPROC B. PNAMEPROC
… …
PNAME ENDS ENDM
C.PNAME PROC D.PNAME PROC
… …
PNAME ENDP PNAME END
68.下列叙述正确的是( )。
A.执行一条段内返回指令,先从堆栈弹出两个字节的内容,然后SP指针减2。
B.执行一条段内返回指令,先SP指针减2,然后从堆栈弹出两个字节的内容。
C.执行一条段内返回指令,先SP指针加2,然后从堆栈弹出两个字节的内容。
D.执行一条段内返回指令,先从堆栈弹出两个字节的内容,然后SP指针加2。
69.下列叙述正确的是( )。
A.执行一条段间调用指令,先将CS、IP的内容压栈,然后将目的地址送CS和IP。
B.执行一条段间调用指令,先将目的地址送CS和IP,然后将CS、IP的内容压栈。
C.执行一条段间调用指令,先将CS、IP的内容压栈,然后SP指针加2。
D.执行一条段间调用指令,先将CS、IP的内容压栈,然后SP指针减2。
70.下列叙述不正确的是( )。
A.在汇编语言程序中,每一个过程允许有多条RET指令。
B.在汇编语言程序中,每一个过程只允许出现一条RET指令。
C.在汇编语言程序中,每一个过程结束之前一定有一条RET指令。
D.在汇编语言程序中,以过程形式表示的代码段一定有一条RET指令存在。
71.下列叙述中属于子程序直接递归调用的是( )。
A.子程序1调用子程序2
B.子程序2调用子程序3
C.子程序3调用子程序4
D.子程序4调用子程序4
72.在进行DOS功能调用前,其功能号应先送( )。
A.AH寄存器 B.BH寄存器 C.CH寄存器 D.DH寄存器
73.执行“INT 10H”指令时,中断向量地址是( )。
A.10H B.20H C.30H D.40H
74.执行“INT 10H”指令时,其中断处理程序的入口地址存放在( )。
A.10H~13H B.20H~23HC.30H~33H D.40H~43H
75.执行“INT 10H”指令时,压入堆栈的内容有( )。
A.FR、CS、IP B.CS、IP C.FR、IP D.PSW、CS
76.在进行字符串显示的DOS功能调用时,要求字符串的最后一个字符是( )。
A.0 B.‘0’ C.‘$’ D.0DH
1、8086、8088CPU共有14个寄存器,分别是
AXBXCXDXSIDISPBPCSDSESSSIPFR。
2.在一条指令中,立即数只能作 源 操作数。
3.8086/8088CPU形成的内存物理地址有 20 位。
4.指令“MOV AX,[BX+SI]”的源操作数在内存的 DS 段。
5.指令“MOV AX,ES:
[SI]”的源操作数在内存的 ES 段。
6.入栈指令使用的是 SS 段。
7.汇编语言源程序经 masm 产生目标文件,它 不能 直接在机器上运行,还必须经过 link 后形成可执行文件。
8.在数据段中使用字符串时,该字符必须用 括号 括起来。
当定义含有多个字符的字符串时,只能使用 DB 伪指令。
9.用汇编语言编写的程序称为 汇编语言源程序 ,其扩展名为 ASM 。
10.可作为寄存器间接寻址的寄存器有 4 个。
11.堆栈是从 高 地址向 低 方向生长的。
其操作遵循 后进先出 的操作原则。
12.在进行弹栈操作时应该先将弹出的数据送 目标地址 ,然后 SP=SP+2 。
13.在进行多精度加法运算时,一般使用 ADC 指令。
14.通用的数据传送指令不影响 标志寄存器 。
15.“INC AL”指令不影响标志位的 CF 位。
16.若AL=11H,执行“NEG AL”后,AL= 0EFH 。
17.JMP指令的执行 不影响 FR寄存器中的各位。
18.两个无符号数进行比较时,可以根据 CF 标志位来判断大小。
在编写程序时可使用
JA 指令来实现。
19.若执行“DIV BX”,其被除数的高16位必须放在 DX ,低16位必须放在 AX 。
20.DAA指令只对 AL 寄存器中的内容进行调整。
21.若AL=84H,在执行CBW后,AX= 0FF84H 。
22.十进制数1234的压缩型BCD码为 1234H 。
23.执行AND AL,0FH
JNZ L
指令,是检测AL中的 低4 位,当它为非零则转移。
24.若移位指令的移位位数大于1时,其移位位数必须放在 CL 中。
25.如果AL=85H,CL=4,执行“SAR AL,CL”时,AL= 0F8H,CF= 0 。
26.在串操作指令中,SI指向 源 串,DI指向 目的 串。
27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用
REPNZ 重复前缀。
28.转移指令“JNZ L”的转移范围(十进制)是 -128~127 。
该指令的第二个字节为位移量,用 补码 形式表示。
29.段内调用指令改变 IP 中的内容。
30.段间调用指令改变 CS:
IP 中的内容。
31.指令“MOV BX,[BP+DI]”的源操作数在内存的 SS 段。
32.汇编语言的语句有指令语句和 伪指令 。
32.标号的三个属性是段地址、 偏移地址 和类型。
33.变量的三个属性是段地址、 偏移地址 和类型。
34.标号的类型有 NEAR 和 FAR 。
35.变量的类型有 byte 、 word 、 dword 、四字(八字节)和十字节。
36.等价语句不能重复定义、等号语句 可以 重复定义。
37.等价语句和等号语句 不分配 内存单元。
38.语句“MOV BX,OFFSET A”可用 LEABX,A 一条指令代替。
39.若定义“A DW 1234H”,指令“MOV AL,BYTE PTR A”执行后,AL= 34H 。
40.若定义“B DW 1,2,30DUP(5)”,则B分配的内存单元数是 64 字节。
41.若定义C DW ‘AB’,则“MOV AL,BYTE PTR C”执行后,AL= 42H 。
42.在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先 定义 ,否则汇编程序进行汇编时就会 报错 。
43.使用伪指令 segment 和 ends 定义一个段。
44.使用伪指令 proc 和 endp 定义一个过程。
45.伪指令 end 表示整个程序结束。
46.在执行条件转移指令前,必须要执行产生条件码的指令,然后才能进行条件判断转移,而一般的数据传送指令__不_影响条件码(标志位)。
47.当两个数进行比较后,执行 JZ L 指令表示结果为零转L。
48.调用子程序通常用 指令,返回调用程序通常用 指令。
CALL(调用),RET(返回)
49.在子程序的设计中,通常用堆栈来保护现场和恢复现场。
而堆栈的操作原则是 。
后进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 复习资料