14151 汇编语言复习资料文档格式.docx
《14151 汇编语言复习资料文档格式.docx》由会员分享,可在线阅读,更多相关《14151 汇编语言复习资料文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
A.连接程序B.汇编程序C.编译程序D.目标程序
11.在汇编语言中,能够翻译成二进制代码的指令是____。
A.汇编指令B.伪指令C.机器指令D.宏指令
12.将高级语言程序翻译成机器语言代码的实用程序是______。
A.编译程序B.汇编程序C.解释程序D.目标程序
13.下列寄存器中,哪一个不能用来保存偏移地址()
A、AXB、SIC、DID、BX
14.下列哪个寄存器是用来保存堆栈栈顶元素的地址()
A、BPB、SPC、SID、DI
15.程序流程是由下列那对寄存器组来控制的()
A、DS:
SIB、SS:
SPC、CS:
IPD、ES:
DI
16.用来保存现场状态的寄存器是下列哪一个()
A、CSB、AXC、FLAGSD、IP
17.在标志寄存器中表示溢出的标志是_____。
A.AFB.CFC.OFD.SF
18.某存储单元的物理地址是56789H,可以作为它的段地址有( )
A.6789HB.56789HC.56780HD.5678H
19.在数据段偏移地址1000H~1003H的内容为:
12H34H56H78H,执行指令MOVAX,[1002H]后,AX寄存器的内容为()
A、3456HB、5634HC、5678HD、7856H
20.已知DS=12A0H,ES=22A0H,SS=33A0H,BP=0174H,指令MOV
AX,DS:
[BP]源操作数的物理地址是(
)。
A.12A074HB.22B74HC.33B74HD.12B74H
21.已知(DS)=2000H,(BX)=1002H,(21001H)=12H,(21002H)=34H,(21003H)=56H,则执行MOVAX,[BX]之后,AX的值是()
A.1002HB.5634HC.3456HD.1234H
22.两个操作数运算时,下列哪种结果会发生溢出____。
A.两个负数相加,结果为负B.两个正数相加,结果为负
C.一正一负相加,结果为负D.两个正数相加,结果为正
23.堆栈段的逻辑地址由______组成。
A.DS:
BXB.ES:
DIC.CS:
IPD.SS:
SP
24.物理地址的计算公式是。
A.段地址╳10+偏移地址
B.偏移地址╳10+段地址
C.段地址╳10H+偏移地址
D.偏移地址╳10H+段地址
25.在8086系统中,数据寄存器组为____。
A.SI、DI、SP、BPB.AX、BX、CX、DX
C.CS、DS、ES、SSD.CF、SF、ZF、OF
第三章寻址方式和指令系统
26.指令MOVAX,DS:
[1000H],源操作数的寻址方式是_____。
A.立即寻址B.直接寻址C.寄存器寻址D.基址变址寻址
27.指令MOVDX,[BP][DI]源操作数的寻址方式是_____。
28.若(AX)=2530H,(BX)=18E6H,MOV[BX],AL指令正确的执行结果为_____。
A.BX寄存器的值为2530HB.BL寄存器的值为30H
C.18E6H单元的值为30HD.18E6H单元的值为2530H
29.指令MOVAX,COUNT[BX]完成的操作是______。
A.从存储单元读出一个字送入AXB.从存储单元读出一个字节送入AX
C.将AX中的一个字写入存储单元D.将AX中的一个字节写入存储单元
30.指令MOVDX,DELTA[BX][Si]的源操作数保存在____。
A.代码段B.堆栈段C.数据段D.附加段
31.操作数地址由BX寄存器指出,则它的寻址方式是_____。
A.直接寻址B.寄存器寻址C.立即寻址D.寄存器间接寻址
32.一条指令中目的操作数不允许使用的寻址方式是_____。
A.寄存器寻址B.立即寻址C.变址寻址D.寄存器间接寻址
33.用直接寻址将AL的内容保存到16号单元,可用______指令。
A.MOVDS:
[0016H],ALB.MOVAL,DS:
[0016H]
C.MOVDS:
[0010H],ALD.MOVAL,DS:
[0010H]
34.指令MOVBX,-2+1执行后,BX中的内容(16进制)为()
A.0FFFEHB.0FFFFHC.0001HD.8001H
35.串操作指令中,目的串操作数的段地址一定在()寄存器中。
A.CSB.SSC.DSD.ES
36.重复前缀指令rep规定重复次数必定在(
)寄存器中。
A.DXB.DLC.CXD.CL
37.在LOOP、LOOPE、LOOPNE类指令里隐含的计数器是()
A、AXB、BXC、CXD、DX
38.若AX=3500H,CX=56B8H,当ANDAX,CX指令执行后,AX=()
A.1400HB.77F8HC.0000HD.0FFFFH
39.设AL=0AH,下列指令执行后能使AL=05H的是( )
A.XORAL,0FHB.ANDAL,0FHC.TESTAL,0FHD.ORAL,0FH
40.数据定义numdb2dup(3,4,5)/lenequ$-num,其中len为()。
A.6B.2C.3D.5
41.下列程序段执行后LEN的值是( )
ADDRDB3,4,5,‘6789’
EADDRDB1
LENEQUEADDR-ADDR
A.6HB.6HC.7HD.8H
42.DECBYTEPTR[SI]指令中的操作数的数据类型是()
A.字B.字节C.双字D.四字
43.下面各传送指令中,正确的是()
A.MOV[DI],[SI]B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100H D.MOVAL,BX
44.关于字节乘法指令错误的说法是______。
A.被乘数隐含在AL中B.乘数和被乘数都是字节型
C.被乘数隐含在AX中D.乘积是字型
45.关于字除法错误的说法是______。
A.16位被除数AX与8位源操作数相除
B.32位被除数DX、AX与16位源操作数相除
C.商在AX寄存器,余数在DX寄存器中
D.带符号除法的商和余数都是补码表示的数
第四章指令格式
46.经过汇编产生的二进制目标文件是______。
A..ASMB..OBJC..EXED..MAP
47.汇编语言源程序是指______。
A.系统提供的MASMB.用户编写的.asm
C.汇编生成的.LSTD.连接生成的.EXE
48.不能用MOV指令赋初值的段寄存器是______。
A.DSB.ESC.CSD.SS
49.在COUNTDB5这条存储单元定义伪指令中,COUNT称为______。
A.助记符B.变量C.符号D.标号
50.将10个字数据3456H存放在存储单元中的伪指令是______。
A.DW10HDUP(3456H)B.DW10DUP(3456H)
C.DW10HDUP(5634H)D.DW10DUP(5634H)
51.将字符串“INPUT”保存到存储单元MESS,正确的伪指令是______。
A.INPUTDBMESSB.MESSDBINPUT
C.INPUTDB“MESS”D.MESSDB“INPUT”
52._______可用来指出一条汇编指令所在存储单元的符号地址。
A.变量B.数组名C.标号D.偏移量
53.用指令MOVBX,SEGCOUNT指令,可以得到存储单元COUNT的______。
A.物理地址B.段地址C.偏移地址D.属性
54.SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值为______。
A.1202HB.1204HC.11FCHD.11FEH
55.获得BUFFER单元有效地址的汇编指令为______。
A.MOVBX,BUFFERB.LEABX,BUFFER
C.MOVBX,[BUFFER]D.LDSBX,BUFFER
56.有数据定义LIST
DB
21H,36H,18H,39H,执行MOV
AX,WORD
PTR
LIST+2,则AX=(
A.3600HB.0036HC.1839HD.3918H
57.8086的存储器是分段的,定义一个段的伪指令是(
A.PROC和ENDPB.NAME和END
C.SEGMENT和ENDSD.SEGMENT和ASSUME
第五章循环与分支指令
58.在分支指令中,利用符号进行判断的指令是______。
A.JCB.JSC.JZD.JO
59.在执行条件转移指令前,不能形成条件的指令有______。
A.CMPB.SUBC.ANDD.MOV
60.在条件转移指令中,结果不为0则转移的指令是______。
A.JNSB.JZC.JSD.JNZ
61.两个带符号数比较,不大于则转移的指令是______。
A.JLEB.JBEC.JLD.JAE
62.在条件判断时,采用操作数相与运算的判断指令是______。
A.TESTB.CMPC.ANDD.JCXZ
63.将AL的2、6位屏蔽为0,其余位保持不变,指令为______。
A.ANDAL,42HB.ANDAL,0BBH
C.ORAL,26HD.ADDAL,0FBH
64.用户程序中的数据段的段地址,用______指令给出。
A.MOVAX,CODEB.MOVCS,CODE
MOVCS,AXMOVDS.CS
C.MOVCS,DATAD.MOVAX,DATA
MOVDS,CSMOVDS,AX
65.下列描述错误的是___________。
A.LOOP指令以CX为循环计数器
B.LOOPE指令循环的条件是CX不等于0且ZF=0
C.LOOPE指令循环的条件是CX等于0且ZF=1
D.LOOPNE指令循环的条件是CX不等于0且ZF=0
66.串处理操作需要循环重复执行,______不能出现在串处理指令中。
A.REPB.REPZC.REPNZD.LOOP
67.在串传送指令中,串的转送方向由______标志位决定。
A.DFB.CFC.ZFD.OF
68.串传送指令中,源串和目的串的偏移地址由______寄存器指出。
A.BX和DXB.DS和DXC.SI和DID.SI和CX
69.串扫描SCAS指令要求目的串放在______中。
A.数据段B.代码段C.堆栈段D.附加段
70.串扫描SCASW指令隐含地将______寄存器作为查找的内容。
A.AXB.BXC.CXD.AL
71.LOOPNE指令的循环计数值放在______寄存器中。
A.CLB.BXC.CXD.IP
72.循环指令的控制条件除CX寄存器之外,还可把标志位______作为控制条件。
A.CFB.SFC.ZFD.OF
73.循环指令LOOPNZ终止循环的条件是______。
A.CX=0且ZF=0B.CX=0或ZF=1
C.CX产0且ZF=0D.CXv~0或ZF=0
74.串传送指令MOVSW,执行CLD指令后,每传送一次,串的______。
A.偏移地址+1B.偏移地址+2C偏移地址-1D.偏移地址-2
75.在串处理指令中,设置方向标志为1的指令是______。
A.STDB.CLDC.HLTD.CWD
第六章子程序结构
76.如果子程序的属性为FAR,下列说法错误的是______。
A.可以段内直接调用B.可以段间间接调用
C.可以段间直接调用D.只能段间调用
77.在子程序调用过程中,断点指的是______。
A.CALL指令本身B.CALL的下一条指令
C.CALL的下一条指令的地址D.子程序名
78.执行CALLSUBRl指令后,完成的操作是______。
A.将SUBRl的偏移地址入栈保存B.将断点的偏移地址入栈保存
C将断点的偏移地址→IPD.将SUBRl的段地址→CS,偏移地址→IP
79.子程序的属性是用______定义的。
A.CALL指令B.PROC过程定义伪指令
C.FARPTRD.RET指令
80.执行段间返回RET指令时,从堆栈中______。
A.先弹出断点的偏移地址,再弹出段地址
B.先弹出断点的段地址,再弹出偏移地址
C.弹出断点的偏移地址
D.弹出断点的段地址
81.子程序结构中,保存现场指的是______。
A.保存CALL指令B.保存断点的地址
C.保存主程序用到的寄存器D.保存子程序用到的寄存器
82.用CALL指令调用子程序时,从子程序返回到主程序______。
A.用JMP指令B.用INT21H指令
C.只能用RET指令D.既可以用RET又可以用JMP
83.如果在子程序中进行了现场保护,那么子程序中______。
A.恢复现场在RET指令之前B.恢复现场在RET指令之后
C.直接用RET指令返回D.直接用JMP指令返回
第七章宏汇编
84.有关宏的作用,下列说法不正确的是______。
A.宏可以被多次调用B.宏调用时不用保存断点
C.宏定义体中不可以有标号D.宏展开是汇编程序完成的
85.宏定义时,是通过______实现参数传递的。
A.哑元和实元B.堆栈C.寄存器D.存储单元
86.宏调用是通过______实现的。
A.汇编指令B.宏指令C.宏展开D.机器指令
87.宏定义的伪指令是______。
A.PROC..ENDPB.macRO..ENDM
C.SEGMENT..ENDSD.STRUC...ENDS
88.宏定义体中的标号通过______伪指令用来指定。
A.PUBLICB.MACROC.EXTRND.LOCAL
89.有关宏展开的说法正确的是______。
A.在宏展开时,所有的伪指令被加入
B.用宏定义体替换宏指令
C.哑元表中的哑元仍然保留
D.可以将宏指令变为机器代码
90.宏与子程序的区别是______。
A.宏可以被多次调用B.宏是一段程序
C.宏可以实现参数传递D.宏调用时不用返回
第八章输入输出程序设计
91.下面哪个指令的是将一个字符数据输出到端口25H的正确指令。
A.out25h,alB.outal,25h
C.mov25h,alD.moval,25h
92.下面哪个指令的是将一个字数据从端口1000H输入的正确指令。
Movdx,1000h
Inax,dx
A.in1000h,alB.inal,1000h
C.mov1000h,alD.moval,1000h
93.CPU对软件中断的处理,下列说法正确的是______。
A.中断允许标志IP必须为1
B.通过8259A中断控制器管理中断
C.不需要得知中断类型号
D.执行INTn指令时立即转入中断处理
94.在中断处理系统中,中断向量指的是______。
A.中断类型号B.中断子程序
C.中断子程序的入口地址D.中断源
95.有关中断向量表的说法正确的是______。
A.中断向量表就是中断向量
B.中断向量表中保存的是中断向量
C中断向量表中保存的是中断类型号
D.中断向量表中保存的是中断子程序
96.在8086指令系统中,取出中断向量的指令是______。
A.MOVAH,35HB.MOVAH,25H
INT21HINT21H
C.MOVAH,31HD.MOVAH,4CH
97.编写中断子程序时,下列说法错误的是______。
A.允许中断嵌套B.不允许开中断
C.应该保护和恢复现场D.必须用IRET指令返回
第九章BIOS和DOS中断
98.从键盘输入一串字符使用DOS功能调用的______。
A.1号功能B.2号功能C9号功能D.10号功能
99.DOS功能调用中,功能号应写入______寄存器中。
A.ALB.AHCDLD.DH
100.显示一个字符的DOS功能调用要求将字符放入______。
DXB.DS:
BXC.BLD.DL
第二部分概念及简答
1.请将左边的词汇和右边的说明联系起来,括号内填入所选的A,B,c…。
(1)CPU()A.保存当前栈顶地址的寄存器。
(2)存储器()B.指示下一条要执行的指令的地址。
(3)堆栈()C.存储程序、数据等信息的记忆装置,Pc机有RAM和ROM两种。
(4)IP()D.以后进先出方式工作的存储器空间。
(5)SP()E.把汇编语言程序翻译成机器语言程序的系统程序。
(6)状态标志()F.唯一代表存储器空间中的每个字节单元的地址。
(7)控制标志()G.能被计算机直接识别的语言。
(8)段寄存器()H.用指令的助记符、符号地址、标号等符号书写程序的语言。
(9)物理地址()I.把若干个模块连接起来成为可执行文件的系统程序。
(10)汇编语言()J.保存各逻辑段的起始地址的寄存器。
PC机有四个寄存器CS、DS、SS、ES。
(11)机器语言()K.控制操作的标志,如DF位
(12)汇编程序()L.记录指令操作结果的标志,共六位:
OF、SF、ZF、AF、PF、CF
(13)连接程序()M.分析、控制并执行指令的部件,由算逻单元(ALU)和寄存器组等组成。
(14)指令()N.由汇编程序在汇编过程中执行的指令。
(15)伪指令()O.告诉CPU要执行的操作(一般还要指出操作数地址),在程序运行时执行。
2.2.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?
其物理地址值是多少?
(1)MOVAX,0ABH
(2)MOVAX,BX
(3)MOVAX,[100](4)MOVAX,VAL
(5)MOVAX,[BX](6)MOVAX,ES:
[BX]
(7)MOVAX,[BP](8)MOVAX,[SI]
(9)MOVAX,[BX+10](10)MOVAX,VAL[BX]
(11)MOVAX,[BX][SI](12)MOVAX,VAL[BX][SI]
3.简述存储器的逻辑地址、物理地址和有效地址。
答:
用段地址和偏移地址表示存储单元的地址为逻辑地址,逻辑地址不是唯一的,同一地址可以有不同的表示,用20位的二进制表示存储单元的地址称为物理地址,每一个地址都是唯一的,由逻辑地址形成物理地址的过程是将段地址左移4位加偏移地址。
计算偏移地址是由相关项组成的,由这些相关项计算得到地址称为有效地址(EA)
4.堆栈操作的原则是什么?
堆栈操作的过程是怎样进行的?
堆栈的操作是采用后进先出的原则。
堆栈操作的过程是在压栈时先将SP—2→SP,然后将要压入的字压入到SS:
SP所指示的单元中;
在弹栈时,先将SS:
SP所指示的字单元中的内容弹出来送到目标地址中,然后将SP+2→SP。
5.简要说明标志寄存器。
标志寄存器(FlagRegister)又称程序状态字(ProgramStatusWord),是8086/088中唯一按位操作的寄存器,该寄存器为16位,有效的标志位共9位。
其中,CF,PF,AF,ZF,SF,OF为状态标志,用于反映最近一次影响标志位的算术或逻辑运算中运算过程、运算结果的一些性质;
TF,IF,DF为控制标志,用于控制CPU对某些特定事件的处理方式以及CPU的工作模式。
6.什么是伪操作?
伪操作又成为伪指令,它们不像机器指令那样是在程序运行期间由计算机来执行的,而是在汇编程序对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结果等功能。
7.什么是子程序?
子程序又称为过程,它相当于高级语言中的过程和函数。
在一个程序的不同部分,往往用到类似的程序段,这些程序的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它。
8.IO机构中一般有哪几种寄存器,请简要说明。
I/O接口