《汇编语言考试复习题.doc》由会员分享,可在线阅读,更多相关《汇编语言考试复习题.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编总复习第一章 微型计算机基础一、 选择题18088是第一代个人计算机所采用的微处理器,其内部数据总路线是 A 。 A16位 B8位 C20位 D32位28086微处理器,其地址总线是 C 。 A16位 B8位 C20位 D32位3一个完整的计算机系统包括 B 。 A计算机及其外设 B硬件系统与软件系统 C主机、键盘、显示器 D系统软件、应用软件4计算机存储系统中,高速缓冲(CACHE)存储器可以 A 。 A提高整个系统的存储速度 B提高存储可靠性 C增加存储容量 D作暂存存储器用5对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该项存储器芯片的容量为 B 。 A512B B1KB
2、 C2KB D4KB6地址总线的宽度与CPU的 A 相关。 A内在寻址能力 B字长 C运算速度 D运算精度7数据总线是 B 的。 A单向 B双向 C某条单向,总体双向 D高阻二、真空1根据传送的信息不同,一般计算机中的总路线可分为 地址 总线、 数据 总路线和 控制 总线。2CACHE是在 CPU 与 内存 之间设置的一个小容量的高速缓冲存储器。三、综合题1设8086CPU内部寄存器CS=B987H,IP=1117H,试计算存储器的物理地址。 CS 24 + IP = B9870H + 1117H = 0BA987H2设某机字长8位(含一位符号位),分别写出下列各二进制数的原码、补码和反码。0
3、,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-11010原=00000000 -0.1000原=1.1000000 0.1000原=0.1000000 1101原=000011010补=00000000 -0.1000补=1.1000000 0.1000补=0.1000000 1101补=0反=00000000 -0.1000反=1.0111111 0.1000反=0.1000000 1101反=-0原=10000000 0.1111原=0.1111000 -0.1111原=1.1111000 -1101原=-0补=00000000 0.1111补=0.111
4、1000 -0.1111补=1. -1101补=-0反=11111111 0.1111反=0.1111000 -0.1111反=1. -1101反=3写出右边各数的原码、补码和反码。7/16,4/16,1/16,0,-1/16,-4/16,-7/167/16原=7/16补=7/16反=72-4=01112-4 =0.01114/16原=4/16补=4/16反=42-4=01002-4 =0.0100 1/16原=1/16补=1/16反=00012-4 =0.00010原=0补=0反=0000-1/16原=1.0111 -1/16补=1.1001 -1/16反=1.1000-4/16原=1.01
5、00 -4/16补=1.1100 -4/16反=1.1011-7/16原=1.0100 -7/16补=1.1100 -7/16反=1.1011第二章 汇编语言与汇编程序1. 在8086系统中,设(DS)=1000H,(ES)=2000H,(SS)=1200H,(BX)=0300H,(SI)=0200H,(B)0100H,VAR的编移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少?(1) MOV BX,12 (2) MOV AL,128 (3) MOV BX,DX (4) MOV ES:SI,AX(5) MOV VAR,8 (6) M
6、OV 1000H,DX (7) MOV 6BX,CX(8) MOV BXSI,AX (9) MOV 6BPSI,AL答案:题号目标操作数寻址方式物理地址寄存器寻址方式 寄存器寻址方式寄存器间接寻址方式DS:BX=10300H 寄存器间接寻址方式ES:SI=20200H直接寻址方式DS:VAR=10060H直接寻址方式DS:1000H=11000H寄存器相对寻址方式DS:BX+6=10306H基址变址寻址方式SS:BX+SI=10500H相对基址变址寻址方式SS:BP+SI=12306H2. 设(DS)=2000H,(SS)=3000H,(CS)=1200H,(BX)=0300H,(IP)=01
7、00H,指令标号LAB的偏移量为0060H,(20300H)=50H,(20301H)=01H,(20306H)=0BH,(20306H)=05H,试确定以下JMP指令转向的物理地址是多少?(1) JMP BX (2)JMP 6BX答:(1) (IP)=(BX)=0300H 所以转向的物理地址为12300H(2) (IP)=(DS:BX+6)=(20306H)=050BH 所以转向物理地址为1250BH3. 设(CS)=2000H,CS:0100H单元有一条JMP SHORT LAB指令,若其中的位移量为:(1)60H (2)80H (3)0E0H试写出转向目标的物理是多少?答:因为CS:01
8、00H处存放两字节指令,所以当执行该指令时(IP)=0102H(1)转向物理地址为:(CS)*10H(IP)+0060H=20162H(2)转向物理地址为:(CS)*10H(IP)+OFF80H=20082H(3)转向物理地址为:(CS)*10H+(IP)+OFFEOH=200E2H4. 试述以下指令的区别(1) MOV AX,3000H 与 MOV AX,3000HMOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H。而MOV AX,3000H指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:3000H)AX。(2) MOV AX,M
9、EM与MOV AX,OFFSET MEMMOV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:MEM)AX。而MOV AX,OFFSET MEM指令的执行结果是把MEM的偏移量送AX。(3) MOV AX,MEM与LEA AX,MEM MOV AX,MEM指令的执行结果是(DS:MEM)AX。而LEA AX,MEM的执行结果是把MEM的偏移量送AX。5. 指出下列指令的错误 题目答案 MOV AX,BX 寄存器间接寻址方式不能用AX寄存器 MOV AL,1280 源操作数超出目标范围 MOV BX,9目标操作数类型未知 MOV DS,1000H立即数不能直接送段寄存
10、器 MOV VAR,BX两个操作数不能同时为存储器操作数 MOV M1,M2两个操作数不能同时为存储器操作数 MOV 6,CX操作数不能是立即数 MOV AX,SIDI源操作数寻址方式错 MOV CS,AX操作数不能是代码段寄存器 MOV BX,OFFSET VARSI OFFSET后只能跟变量或标号名6. 写出把首址为BUF的字型数组的第4个字送到AX寄存器的指令,要求使用以下几种寻址方式 直接寻址方式 使用BX的寄存器间接寻址方式 使用BX的寄存器相对寻址方式答案: MOV AX,BUF+3*2 LEA BX,BUF+3*2 MOV AX,BX MOV BX,3*2 MOV AX,BUFB
11、X7. 设(AX) 0C5FFH,(BX) 9E00H,试实现以下要求: ADD AX,BX 指令执行后,根据结果设置标志位ZF、SF、CF、OF、AF、PF,并讨论结果的正确性。答案: 执行ADD AX,BX 指令后,(AX)=11111B,并且最高位向前有进位。因此, 设置标志位如下: ZF SF CF OF AF PF 0 0 1 1 0 1(NZ)(PL)(CY)(OV)(NA)(PE)讨论结果:对于无符号数而言,因为CF1,所以结果不正确。对于带符号数而言,因为OF1,所以结果不正确。8. 编程序使 使AL的各位变反。 BX寄存器低四位置1。 AX寄存器的低四位清0。 使CX寄存器的
12、低四位变反。 用TEST指令测试AL寄存器的位0和位6是否同时为0,若是则把0送DH寄存器,否则把1送DH寄存器。答案: NOT AL OR BX,000FH AND AX,0FFF0H XOR CX,000FH TEST AL,0100001B JZ A MOV DH,1 JMP SHORT BA: MOV DH,0B:9. 试分析下面的程序段完成什么功能?MOV CL,4SHL DX,CLMOV BL,AHSHL AL,CLSHR BL,CLOR DL,BL答案:把DX和AX一对寄存器所形成的32位内容左移四位。其中DX中为高16位,AX中为低16位。第二-三章 汇编语言与程序设计1下面的
13、数据项定义了多少个字节? DATA_1 DB 6DUP(4DUP(0FFH) 24个字节2对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?DTSEG SEGMENT|DTSEG SEGMENTORG 10H|ORG 10HDATA1 DB 72H|DATA1 DW 7204HDB 04H|DTSEG END SDTSEG ENDS|不一样,分别是72H,04H和04H,72H。存储字时低8位存在低字节,高8位存在高字节。3下面的两个数据项分别设置了多少个字节? (1)ASC_DATA DB1234 31 H32 H33 H34H 4个字节 ASC_DATA(2)HEX
14、_DATA DB 1234H34H12 H 2个字节 HEX_DATA4执行下列指令后,AX寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3 MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,BX AX寄存器内容为40H 10 H20H30 H40H50HTABLE TABLE+3 5指出下列指令的错误(1)MOV AH,BX 源、目的字长度不一致(2)MOV SI,BX 源、目的不能同时为存贮器寻址方式(3)MOV AX,SIDI 基址变址方式不能有SI和DI的组合(4)MOV AX,BXBP 基址变址方式不能有BX和
15、BP的组合(5)MOV BX,ES:AX 在8086寻址方式中,AX不能做为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式(6)MOV BYTE PTRBX,1000 1000超出一个字节的表述范围(7)MOV AX,OFFSET SI OFFSET只能用于简单变量,应去除(8)MOV CS,AX CS不能作为目的的寄存器(9)MOV DS,BP 段地址不能直接送入数据段寄存器6设(DS)=1BOOH,(ES)=2BOOH,有关存储器地址及其内容如右图所示,请用两条指令把X 装入AX 寄存器。答案:LES BX, 2000HMOV AX, ES: BX7试分析下面的程序段完成什么操作?M
16、OV CL , 04 SHL DX , CL MOV BL , AH SHL AX , CL SHR BL , CL OR DL , BL 答案: 将DX: AX中的双字左移4位(乘16)8假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2060H, (BX)=3000H,(CX)=5,(DX)=0,(SI)=206OH,(DI)=3000H,(43000H)=0A006H, (23000H)=OB116H,(33000H)=0F802H,(25060)=00B0H,(SP)=0FFFEH,(CF)=1,(DF)=1,请写出下列各条指令单独
17、执行完后,有关寄存器及存储单元的内容,若影响状态标志寄存器请给出状态标志SF、ZF、OF、CF的值。( 1 ) SBB AX,BX ( 2 ) CMP AX,WORD PTRSI+0FAOH( 3 ) MUL BYTE PTRBX( 4 ) AAM ( 5 ) DIV BH( 6 ) SAR AX,CL( 7 ) XOR AX,0FFE7H( 8 ) REP STOSB( 9 ) JMP WORD PYRBX( 10 ) XCHG AX,ESBX+SI答案:(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1(2) (SF)=1, (ZF)=0, (O
18、F)=1, (CF)=1(3) (AX)=0240H, (OF)=1, (CF)=1(4) (AX)=0906H, (SF)=0, (ZF)=0(5) (AX)=20ACH(6) (AX)=0103H, (CF)=0(7) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0(8) (23000H)(23004H)=60H, 不影响标志位(9) (IP)=0A006H, 不影响标志位(10) (AX)=00B0H, (25060)=2060H, 不影响标志位9设(CS)=1000H,(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=1
19、00H,(BX)=200H,(SI)=1,(20200H)=400H,(30200H)=1400H,(20202H)=0004,(20204H)=202H,(21400H)=1234H,(21405H)=5678H执行下列程序段(注意:不是单条指令),填空回答问题MOV BP,256 :源字段的寻址方式是 立即寻址方式 :指令执行后(BP)= 100 HPUSH ES:BX :源操作数物理地址= 3200 HMOV DI,3BXSI :(DI)= 202 HDEC SI :源字段的寻址方式是 寄存器寻址方式 :指令执行后(SI)= 0 HINC DI :目的操作数物理地址= 20202 HMO
20、V AX,DI :(AX)= 0005 HADD -2BP,AX :目的操作数物理地址= 400FE HPOPBXMOV AX,BX+SI :程序段执行完后,(AX)= 5678 H10. 已知下列程序段ADD AL,BLJO L1JC L2CMP AH,BHJG L3 ;若大于就跳转JB L4JMP L5若给定AX和BX的值如下,说明程序的转向。(1)(AX)=14C8H,(BX)=808DH(2)(AX)=D082H,(BX)=9F70H(3)(AX)=427BH,(BX)=60DCH(4)(AX)=3F23H,(BX)=50D0H(5)(AX)=0042H,(BX)=0FF3DH答案(1
21、)L1 (2)L3 (3)L2 (4)L4 (5)L3第五章 存储器及其接口一个8位微机系统,寻址空间64KB。给定该系统的存储空间分配如下图2 所示。图1是存储器片选信号()的译码电路。表1是译码器74LS139的真值表。1)将图1译码电路的跳线端子组A、B连上适当的连线,使、四个片选信号的逻辑符合存储空间分配的要求;2)写出四个片选信号、的逻辑表达式。74LS139GBAY0Y1Y2Y31XX11110000111001101101011010111110(表1)2)第七章 中断技术一、选择填空1、8086 微处理器的偏移地址是指 B A、芯片地址引线送出的20 位地址码;B、段内某单元相
22、对段首地址的差值;C、程序中对存储器地址的一种表示;D、芯片地址引线送出的16位地址码2、在下列有关中断向量表的描述中,不正确的有 B A、中断向量是指中断处理程序的段地址和偏移地址;B、中断向量是按软中断和硬中断的顺序存放的;C、中断向量表保存各类中断处理程序的入口地址;D、每个中断处理程序的入口地址在中断向量表中占4个字节.3、INT 1AH的中断向量在中断向量表中的地址为 D A、34H35H B、34H37H C、68H7lH D、68H6BH 4、8086微处理器的引线INTR 是 C A、内部复位命令输入线;B、读内部状态的命令输入线;C、可屏蔽中断请求输入线;D、非屏蔽中断请求输
23、入线5、8086微处理器所处理的硬件中断是由于 C 而产生的A、8086 片内功能部件出现故障;B、8086 片外功能部件请求服务;C、8086 片内标志寄存器某标志位置位;D、8086 被复位6、8086 微处理器的中断向量表存放在 B 内.A、8086 片内的一组寄存器;B、8086 片外RAM 的O3FFH存储区;C、8086 片外RAM 的FFC00HFFFFFH存储区;7、8086 微处理器具有处理 B 种中断过程的能力A、16; B、256; C、64; D、32.8、在下列有关中断的描述中,不正确的有 D .A、显示器中断是一种可屏蔽中断;B、产生硬中断的条件之一是相应外设的中断
24、屏蔽位为O;C、开中断时允许CPU 响应外设的中断请求;D、中断发生时CPU 清除IF,设置TF。9、在INTEL 8259A 中,当 A ,则对应IRn 的中断请求被屏蔽。A、IMRn位被置1时; B、IRn位被置1时;C、IMRn位被置1时; D、IRn位被置O时二、问答题1、什么是硬件中断和软件中断?在PC 机中两者的处理过程有什么不同?答:硬件中断是通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。硬件中断一般是由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需
25、外部提供信息。2、8259A 初始化编程过程完成那些功能?这些功能由哪些ICW 设定?答:初始化编程用来确定8259A的工作方式。ICW1确定8259A工作的环境:处理器类型、中断控制器是单片还是多片、请求信号的电特性。ICW2用来指定8个中断请求的类型码。ICW3在多片系统中确定主片与从片的连接关系。ICW4用来确定中断处理的控制方法:中断结束方式、嵌套方式、数据线缓冲等。3、8259A 在初始化编程时设置为非中断自动结束方式,中断服务程序编写时应注意什么?答:在中断服务程序中,在返回主程序之前按排一条一般中断结束命令指令,8259A 将ISR中最高优先级位置0,结束该级中断处理以便为较低级
26、别中断请求服务。4、8086 的中断向量表如何组成?作用是什么?答:1)把内存O段中O3FFH区域作为中断向量表的专用存储区:2)该区域存放256种中断的处理程序的入口地址;3)每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。5、若8086 系统采用单片8259A 中断控制器控制中断,中断类型码给定为20H ,中断源的请求线与8259A 的IR4 相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为4FE24H ,则对应该中断源的中断向量表内容是什么,如何定位?答:中断向量表入口地址为:0段的0090H地址。对应4FE24H中断服务程序入口,在向量表中定位
27、情况:(0090H )=24H、(0091H )=00H、(0092H) = EOH、(0093H)= 4FH。6、试按照如下要求对8259A 设定初始化命令字:8086 系统中只有一片8259A ,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H 一27H , 8259A 的端口地址为BOH 和B1H 。答:ICW1=1BH(送B0H端口), ICW2=20H(送B1H端口),ICW4=03H(送B1端口)三、判断下列论述是否正确,不正确的请加以改正。(1)INT 指令执行后,堆栈顶部三个栈单元(SP)、(SP) + 2 、(SP) + 4 依次保存FLAGS 、断点IP 值、断点CS 值。(2)中断类型号是中断向量表中存放相应中断向量的首地址。答:(1)不对,堆栈顶部三个栈单元,(SP)、(SP)2 、(SP)+4依次保存的应是断点IP值、断点CS值、FLAGS 。(2)不对,中断类型号*4才是相应中断向量的首地址。
限制150内