汇编复习题.docx
- 文档编号:28197777
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:28
- 大小:30.12KB
汇编复习题.docx
《汇编复习题.docx》由会员分享,可在线阅读,更多相关《汇编复习题.docx(28页珍藏版)》请在冰豆网上搜索。
汇编复习题
一、选择题
1、汇编语言源程序经汇编后不能直接生成C。
A.OBJ文件B.LST文件C.EXE文件D.CRF文件
2、假设SP=1500H,那么执行完PUSH指令后,SP=B。
3、JMPWORDPTR[DI]是A。
4、与MOVSI,OFFSETX等价的指令是C。
A.MOVSI,XB.LESSI,XC.LEASI,XD.LDSSI,X
5、运算型指令的寻址和转移型指令的寻址,其不同点在于A。
A.前者取操作数,后者决定程序的转移地址B.后者取操作数,前者决定程序的转移地址
6、以下指令D是合法的访问I/O端口指令。
A.INAL,100HB.INAL,BXC.INAL,BLD.INAL,DX
7、逻辑移位指令SHR用于D;
2
而算术移位指令SAR用于B。
2
8、由汇编程序在汇编过程中执行的指令是B
B.伪指令
9、在汇编语言程序设计中,伪指令OFFSET的含义是回送变量或标号的B
A.段地址B.偏移地址C.物理地址
10、子程序返回伪指令是C。
A.ENDPB.IRETC.RETD.段内与段间不同
11、使用LINK连接命令,执行后可生成文件的扩展名为C。
A.B..OBJC..EXED..LST
12、AX的内容为1FFAH,执行XORAX,AX,AX内容为C。
A.00FAHB.1FFAHC.0000HD.1F00H
13、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是D。
A.CMPB.SUBC.ANDD..MOV
14、INC指令不影响B标志。
A.OFB.CFC.SFD.ZF
15、段内直接调用,程序的转移范围为B。
A.-128~127B.-32768~32767C.-65536~65535D.0~32767
16、中断向量D。
17、执行返回指令,退出中断效劳程序,这时返回地址来自C。
A.ROM区B.程序计数器
18、微机系统中有哪些总线?
D
A.状态总线、数据总线、控制总线B.地址总线、状态总线、控制总线
C.状态总线、数据总线、地址总线D.数据总线、地址总线、控制总线
19、以下不属于总线接口部件BIU部件的是A。
A.通用存放器B.地址产生器C.指针存放器
20、将累加器AX的内容清0的错误指令是B。
AX,0AX,AXAX,AXAX,AX
21、有如下程序段:
MOVCX,6
MOVAX,1
MOVBX,3
LOP:
ADDAX,BX
ADDBX,2
LOOPLOP
上述指令完成后,AX=B
A.6B.49C.50D.0
22、以下指令中合法的是D。
A.OUT289,ALB.ADCAL,BXC.POPBLD.SHLAX,CL
23、从键盘输入数据1,那么在存放器中存放的形式为A。
A.31HB.01HC.〞1”D.‘1’
24、以下有关段地址、偏移地址、物理地址的表达正确的选项是D。
A.假设物理地址,那么可以计算出唯一的段地址和偏移地址。
B.段的划分可以从任何一个存储单元开始。
C.8086规定段的大小必须为64K字节。
D.多个段可以共用某些存储单元。
25、中断发生过程和子程序调用过程的一个明显区别是中断发生时,CPU自动去除了A。
A.IF和TF位B.TF位C.IF和SF位D.TF和SF位
26、执行以下指令后:
MOVAX,1234H
MOVCL,4
ROLAX,CL
DECAX
MOVCX,4
MULCX
HLT
存放器AH的值是C。
存放器AL的值是B。
C.04HD.0A0H
27、在多模块程序设计中,用B伪指令来声明公用变量。
A.EXTRNB.PUBLICC.MODULEDMON
28、执行完以下指令后:
XDW‘BC’
YDB16DUP(?
)
ZEQU$-X
MOVCX,Z
MOVAX,X
存放器CX的值是C。
A.10HB.0EHC.12HD.0FH
存放器AX的值是A。
A.4342HB.00CBHC.4243HD.00BCH
29、8086/8088响应中断时,不自动压入堆栈的有B。
A.CS的内容B.通用存放器的内容
C.IP的内容D.标志存放器的内容
30、堆栈的工作方式是A。
A.先进后出B.后进后出C.先进先出
31、求下面变量定义的元素个数送CX的正确形式是D。
ARRAYDW1,9,9,9,12,1
A.MOVCX,LENGTHARRAYB.MOVCX,SIZEARRAY
C.COUNTEQU$-ARRAYD.COUNTEQU($-ARRAY)/2
MOVCX,COUNTMOVCX,COUNT
32、可屏蔽中断就是它的请求是否被CPU响应要受B位的控制。
A.TFB.IFC.OFD.SF
33、不影响堆栈指针SP的指令是B。
A.INT21HB.JMPDOC.RETD.PUSHAX
34、8088/8086存储器分段,每个段不超过A。
A.64K个字B.32K个字节C.1兆个字节D.64K个字节
35、汇编语言是A。
A.低级语言B.中级语言C.高级语言
36、用DEBUG.EXE调试程序时,显示存储单元内容的命令是D。
A.RB.TC.GD.D
37、汇编源程序中,END伪指令后的标号表示C。
38、有如下数据定义:
XDB36H,6FH
YDW2E5DH,4F6FH
那么以下指令正确的选项是C。
A.MOVAX,XB.MOVDL,OFFSETX
C.MOVAX,WORDPTRXD.MOVBL,Y
39、假设要求一个操作数中的假设干位维持不变,假设干位置1,可以使用B
A.NOTB.OR C.AND D.XOR
40、以下指令中,源操作数在代码段中的是A。
A.MOVAL,80HB.ADDAL,BLC.CMPAX,[1234]D.ANDAL,ES:
[1234]
41、对于有符号的数来说,以下哪个值最大D。
A.0FBH B.11010010BC.81D.124Q
42、交换存放器SI、DI的内容,正确的程序段是A。
A.PUSHSIB.PUSHSI
PUSHDIPUSHDI
POPSIPOPDI
POPDIPOPSI
C.MOVAX,SID.MOVAX,SI
MOVDI,SIMOVBX,DI
MOVDI,AXXCHGBX,AX
43、有语句:
ABCEQU210,以下四种表达中,正确的选项是B。
A.ABC是变量B.ABC是符号常数
C.ABC占用一个字节的存储单元D.ABC占用二个字节的存储单元
44、8086微机系统中,偏移〔或有效〕地址和物理地址是C位。
A.16和16B.20和20C.16和20D.20和16
45、假定〔SS〕=1000H,〔SP〕=100H,〔CX〕=23B7H,执行指令PUSHCX后,存放数据23H的物理地址是D。
HH00FEH00FFH
46、汇编指令是由C组成的符号指令。
A.变量和常量B.地址和数据C.指令助记符和符号地址D.字母和数字
47、指令SUBCX,1与指令DECCX的区别是D。
A.没有区别B.前者会将CF也加进来C.前者不影响CFD.后者不影响CF
48、假设程序中的数据定义如下,那么V4的值为B。
XDW?
YDB15DUP(?
)
ZDD?
A=$-X
A.20B.21C.22D.23
49、ADD指令中,两个操作数的物理位置不可以安排在A中。
A.两个存储单元B.一个存储单元和一个数据存放器
C.两个数据存放器D.一个堆栈单元和一个数据存放器
二、填空题
1、指出以下指令源操作数的寻址方式:
MOVAX,ARRAY[SI];存放器相对寻址方式
MOVAX,ES:
[BX];存放器间接寻址方式
MOVAX,[200H];直接寻址方式
MOVAX,[BX+DI];基址变址寻址方式
MOVAX,BX;存放器寻址方式
MOVAX,1200H;立即寻址方式
MOVAX,20[BX+SI];相对基址变址寻址方式
MOVAX,[DI+20];存放器相对寻址方式
2、计算机中的指令由操作码和操作数两局部组成。
3、对于乘法、除法指令,结果存放在AX或DX:
AX中,而其源操作数可以用除立即数以外的任一种寻址方式。
4、逻辑地址是由段地址和偏移地址组成,其中段地址是由段存放器存储的。
5、当指令“SUBAX,BX〞执行后,CF=1,说明最高有效位向有借位;对无符号数,说明操作结果溢出。
6、I/O设备的接口中一般包含数据、状态、控制三种端口。
7、10110101B=0B5H和181D。
8、指令“ANDAX,STR1ANDSTR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是第一个AND是逻辑与指令、第二个AND是逻辑与操作符。
9、带符号的机器数可以用原码、反码和补码三种不同码制来表示。
11、如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令MOVAX,TABLE后,〔AX〕=1234H;而执行指令LEAAX,TABLE后,那么〔AX〕=0032H。
12、计算机的硬件的根本组成有运算器、控制器、存储器和输入设备、输出设备五大部件。
13、过程的属性有 near 和 far。
近过程〔NEAR〕的RET指令把当前栈顶的一个字弹出到IP;远过程〔FAR〕的RET指令弹出一个字到IP后又弹出一个字到CS;IRET指令是中断返回指令,它从堆栈顺序弹出3个字分别送到IP、CS、标志存放器FLAGS中。
14、ENDP是过程定义结束伪指令,与PROC配套使用。
ENDS是段定义结束伪指令,与SEGMENT配套使用。
END是一个源模块汇编结束伪指令。
15、一个有16个字的数据区,它的起始地址为70A0:
DDF6,那么该数据区首字单元地址是7E7F6H,最后一个字单元的物理地址为7E814H。
〔16个字就是70A0H*10H+DDF6H+1EH,如果是32个字的话,那么是70A0H*10H+DDF6H+3EH=7E834H〕
16、执行以下指令序列后,完成的功能是将〔DX,AX〕的值左移4位。
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
17、JMP按转移地址范围的不同,分为短跳转和近跳转。
18、下面两个语句的区别在于X1只能赋值一次,X2可以屡次赋值。
X1EQU1000H
X2=1000
19、用1条逻辑指令将AX中与BX中的对应位不相同的位均置为1XORAX,BX。
21、在基址变址寻址方式中,可用于基址的存放器是BX 、BP ;其中BP默认是相对于堆栈段寻址的。
。
22、用指令的助记符、符号地址、标号和伪指令、宏指令等书写的程序的语言称为汇编语言,将汇编语言的源程序翻译成机器语言的程序为汇编程序。
23、8086CPU由BIU(总线接口单元)和EU(执行单元)两局部构成。
24、我们把与内存一一对应的用20位二进制数〔或5位16进制数〕表示的地址称为物理地址,它的计算公式为物理地址=16*段地址+偏移地址。
25、在段加偏移地址的寻址中,如果段存放器为CS,那么相应的偏移地址应由IP存放器来提供。
26、在DEBUG上机调试程序时,存储器的地址表示为2F00:
1400,那么该单元的段地址为2F00H,偏移地址为1400H,物理地址为30400H。
28、方向标志DF的作用是用来在串操作指令中控制自增和自减的方向,用于设置或消除该标志位的指令是STD和CLD,。
29、完成以下程序,从240H端口读取数据,测试其是否为20H,假设不是那么将241H端口清0,否那么那么转向Next。
Movdx,240H
INal,dx
CMPal,20h
JZNext
Movdx,240h
Moval,0
Outdx,al
……
Next:
……
30、:
(DS)=15F0H,(ES)=25F0H,(SS)=35F0H,(BX)=0670H,(SI)=1001H,(DI)=0B0H,(BP)=0150H,BUF的偏移地址是0900H。
计算以下指令源操作数的物理地址,指出寻址方式:
(1)MOVAX,BUF[BP+6];采用存放器相对寻址方式,物理地址为56956h。
(2)CMPAX,ES:
[SI];采用存放器间接寻址方式,物理地址为26F01H。
(3)MOVCX,BUF;采用直接寻址方式,物理地址为16800H。
(4)MOVAX,ES:
[BX+SI];采用基址变址寻址方式,物理地址为27571H。
(5)DECBUF[DI];采用存放器相对寻址方式,物理地址为168B0H。
(6)MOVAX,BUF[BX+DI];采用相对基址变址寻址方式,物理地址为16620H。
31、假设(DS)=0D012H,(BX)=80BH,(0D092CH)=23D0H,(0D092EH)=0AC78H,当执行指令“LESSI,[BX]〞后,(SI)=23D0H,(ES)=0AC78H。
32、指令中用来指出指令在程序中位置的符号地址是标号。
33、变量和标号的三个属性为段属性、偏移属性、类型属性。
34、以下程序段是比拟AX,BX,CX中带符号数的大小,将最大数放在AX中。
请将程序填完整。
CMPAX,BX
JGELAB1
XCHGAX,BX
LAB1:
CMPAX,CX
JGELAB2
XCHGAX,CX
LAB2:
……
35、在使用串操作指令时,源串必须在数据段中,目的串必须在附加段中,源串作数和目的操作数不允许使用段超越。
36、CPU是通过I/O指令来实现与外部设备进行数据传送的。
37、内中断有三类中断源,分别为INTn、CPU出错、为调试程序设置的断点。
38、中断过程可分为四个步骤:
中断请求、中断响应、中断处理、中断返回。
39、OF位可以用来表示有符号数溢出,CF位可以用来表示无符号数溢出。
40、80X86中断命令存放器的I/O端口地址为20H,中断屏蔽存放器的I/O端口地址为21H。
41、可用DOS功能调用INT21H的功能号(AH)=25H来设置中断向量,用功能号AH=35H来获取中断向量。
42、168D=10101000B=0A8H=250Q。
43、在数据段中有以下定义:
ARRAY1EQU16H
ARRAY2DW16H
请指出以下指令的寻址方式:
MOVAX,ARRAY1;立即寻址方式
MOVAX,ARRAY2;直接寻址方式
44、假设STR是字符串的首地址,将语句加上注解,并指出以下程序的功能。
LEABX,STR;将STR的有效地址送BX
MOVCX,20;使得CX等于20
LAB1:
CMP[BX],‘*’;比拟BX所指存储单元的内容是否是〞*〞
JNZLAB2;不是*那么转到LAB2
MOV[BX],‘$’;用$替换BX所指存储单元的内容
LAB2:
INCBX
LOOPLAB1;(CX)-1不等于0,那么转到LAB1
HLT
程序的功能;将首址为STR长度为20的字符串中的*用$替换。
45、假设物理地址为00038H的单元开始存放的双字为20001000H,00056H单元开始存放的双字为40003000H,那么类型为14〔十进制数〕的中断向量的起始地址为38H或56,中断效劳程序的入口地址〔物理地址〕为21000H。
46、PC机I/O设备的数据传送方式共有三种,分别是 查询 , 中断 ,DMA。
47、当键盘中断发生时,CPU能否响应由两个条件控制,一是 中断是否允许 二是当前中断级别是否比键盘中断级别高。
48、条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 -128~127个字节范围内。
49、假设某程序执行前〔CS〕=0B234H,〔IP〕=5678H,那么该程序的第一条指令的物理地址是0B79B8H,假设第一条指令对应的机器码占3个字节,那么第二条指令的物理地址是0B79BBH。
50、在用MASM5.0的DEBUG调试程序时,查看存放器内容的命令为R,让程序仅执行当前IP所指的一条指令的命令
是T。
51、物理地址是唯一代表存储空间中每个字节单元的地址。
五、简答题
1、试计算58H+3CH的运算结果,并写出标志位OF、PF、CF、SF的内容。
答:
58H+3CH=94H,OF=1,CF=0,PF=0,SF=1
2、8086具有哪些程序可见的存放器,它们在程序设计中分别起什么作用?
答:
段存放器
8086的段存放器有4个16位存放器,它们用于存放8086CPU当前可以访问的4个逻辑段的基址。
代码段存放器CS划定并控制着程序区;数据段存放器DS和附加段存放器ES控制着数据区;而堆栈段存放器SS对应着堆栈存储区。
通用存放器
通用存放器可分为两组:
数据存放器,地址指针和变址存放器。
数据存放器包括AX,BX,CX和DX4个16位存放器,它们中的每一个又可根据需要将高8位和低8位分成独立的两个存放器来使用。
其中AX、BX、CX、DX四个数据存放器,但它们又有各自的专门用途,其中AX可用作累加器,BX可用作基址存放器,CX可用作循环和串处理中的隐含计数器,DX在某些I/O操作中,可用来存放I/O的端口地址。
地址指针和变址存放器包括SP,BP,SI,和DI。
控制存放器
〔1〕指令指针IP
〔2〕标志存放器FLAG
8086CPU设立了一个16位标志存放器,共9个标志。
其中6个是状态标志,3个是控制标志。
状态标志
进位标志CF,辅助进位标志AF,奇偶标志PF,符号标志SF,零标志ZF,溢出标志OF。
置1条件分别是:
运算过程中最高位产生了进/借位,CF=1;结果低4位产生了进位,AF=1;结果低8位有偶数个1,PF=1;结果最高位为1,SF=1;结果为0,ZF=1;结果产生了溢出,OF=1。
控制标志
〔a〕DF方向标志
〔b〕IF中断允许标志
〔c〕TF陷阱标志或单步操作标志
3、AX=0E87DH,BX=38ABH,假设执行ADDBX,AX;那么存放器AX,BX,标志位CF、OF各为何值?
答:
AX=2128H,BX=38ABH,CF=1,OF=0
4、什么是中断类型码?
中断向量?
中断向量表?
在8086/8088微机系统中。
中断类型码和中断向量之间有什么关系?
答:
中断类型码:
其实就是中断号,对不同的中断效劳程序不同的名称记号,以调用该中断程序.
中断向量:
指向中断效劳程序的入口地址.一个向量代表的入口地址为4个字节.
中断向量表:
由于存在多个中断请求,相应有多个中断效劳程序,即有多个存放这些程序的入口地址(即中断向量).为此系统在内存的特定区域安排一张中断向量表,专门存放所有的中断向量.此表即中断向量表.
以上三者关系:
中断向量=[中断号X4],其中方括号的含义是内存单元的内容.(即中断向量表刚好存放在内存绝对地址0开始的位置)。
5、简述8086CPU响应中断的条件。
答:
取决于中断允许触发标志IF的状态。
假设IF=1,那么响应中断的请求,暂停现行后续指令的执行,转去执行中断效劳程序;假设IF=0,那么不会响应中断的请求。
6、在8086/8088微处理器在实模式下,存储器寻址为什么要分段?
举例说明存储单元的物理地址是如何形成的?
答:
在8086/8088中,存放器只有16位,而地址线却有20位,故其最大寻址空间是1M。
用存储器分段的方法,解决在16位字长的机器里提供20位地址的问题。
在实模式下编程时,将存储器划分成段,每个段内的大小可达64KB,这样段内地址可用16位表示,实际上,可以根据需要决定段的大小。
这样将每一段的起始地址作为段地址,而将在段内相对于段起始地址的偏移值作为偏移地址,于是将段地址左移4位,再加上偏移地址就形成了存储器实际的物理地址。
如某存储单元的段地址和偏移地址为3017:
000A,那么其物理地址=3017H*10H+000AH=3017AH。
7、逻辑右移指令SHR的格式、功能和使用说明?
8、设AX=1234H,BX=5678H,CX=8901H,SI=100H,SP的初始值=01A0H,问执行下述堆栈操作指令序列
PUSHCX
PUSHAX
PUSHBX
……
POPCX
POPSI
后,SP和SI的值等于多少?
答:
SP和SI的值分别等于19EH和1234H。
9、计算机对I/O端口编址时可以采用哪两种方法?
简述两种编址方式的优缺点?
答:
略
10、画图说明以下语句分配的存储空间及初始化数值。
〔1〕ADB9,0AH,‘AB’,2dup(3,?
)
〔2〕BDW2DUP(123H,8),?
-5,‘23’,789DH
〔3〕XDB‘BIT’,62,6AH,2DUP(0,?
2DUP(7,9))
〔4〕YDW2DUP(0,2),?
-5,‘CD’,345H
11、根据以下要求,分别写出相应的汇编语言指令或指令序列。
〔1〕把AX存放器和BX存放器的内容相减,结果存入AX中。
Subax,bx
〔2〕将AX的内容逻辑左移5位。
Movcl,5shlax,cl
〔3〕将A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 复习题