当前位置:文档之家› 最新汇编语言考试复习题

最新汇编语言考试复习题

汇编总复习第一章微型计算机基础一、选择题1.8088是第一代个人计算机所采用的微处理器,其内部数据总路线是A。

A.16位B.8位C.20位D.32位2.8086微处理器,其地址总线是C。

A.16位B.8位C.20位D.32位3.一个完整的计算机系统包括B。

A.计算机及其外设B.硬件系统与软件系统C.主机、键盘、显示器D.系统软件、应用软件4.计算机存储系统中,高速缓冲(CACHE)存储器可以A。

A.提高整个系统的存储速度B.提高存储可靠性C.增加存储容量D.作暂存存储器用5.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该项存储器芯片的容量为B。

A.512B B.1KB C.2KB D.4KB6.地址总线的宽度与CPU的A相关。

A.内在寻址能力B.字长C.运算速度D.运算精度7.数据总线是B的。

A.单向B.双向C.某条单向,总体双向D.高阻二、真空1.根据传送的信息不同,一般计算机中的总路线可分为地址总线、数据总路线和控制总线。

2.CACHE是在CPU与内存之间设置的一个小容量的高速缓冲存储器。

三、综合题1.设8086CPU内部寄存器CS=B987H,IP=1117H,试计算存储器的物理地址。

CS ×24+ IP = B9870H + 1117H = 0BA987H2.设某机字长8位(含一位符号位),分别写出下列各二进制数的原码、补码和反码。

0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101[0]原=00000000 [-0.1000]原=1.1000000 [0.1000]原=0.1000000 [1101]原=00001101[0]补=00000000 [-0.1000]补=1.1000000 [0.1000]补=0.1000000 [1101]补=00001101[0]反=00000000 [-0.1000]反=1.0111111 [0.1000]反=0.1000000 [1101]反=00001101[-0]原=10000000 [0.1111]原=0.1111000 [-0.1111]原=1.1111000 [-1101]原=10001101 [-0]补=00000000 [0.1111]补=0.1111000 [-0.1111]补=1.0001000 [-1101]补=11110011 [-0]反=11111111 [0.1111]反=0.1111000 [-0.1111]反=1.0000111 [-1101]反=111100103.写出右边各数的原码、补码和反码。

7/16,4/16,1/16,0,-1/16,-4/16,-7/16 [7/16]原=[7/16]补=[7/16]反=7×2-4=0111×2-4 =0.0111[4/16]原=[4/16]补=[4/16]反=4×2-4=0100×2-4 =0.0100[1/16]原=[1/16]补=[1/16]反=0001×2-4 =0.0001[0]原=[0]补=[0]反=0000[-1/16]原=1.0111 [-1/16]补=1.1001 [-1/16]反=1.1000[-4/16]原=1.0100 [-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,(BP)=0100H,V AR的编移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少?(1) MOV BX,12 (2) MOV AL,128 (3) MOV [BX],DX (4) MOV ES:[SI],AX(5) MOV V AR,8 (6) MOV [1000H],DX (7) MOV 6[BX],CX(8) MOV [BX][SI],AX (9) MOV 6[BP][SI],AL答案:2.设(DS)=2000H,(SS)=3000H,(CS)=1200H,(BX)=0300H,(IP)=0100H,指令标号LAB的偏移量为0060H,(20300H)=50H,(20301H)=01H,(20306H)=0BH,(20306H)=05H,试确定以下JMP指令转向的物理地址是多少?(1)JMP BX (2)JMP 6[BX]答:(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:0100H处存放两字节指令,所以当执行该指令时(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,[3000H]MOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H。

而MOV AX,[3000H]指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:3000H)→AX。

(2) MOV AX,MEM 与MOV AX,OFFSET MEMMOV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:MEM)→AX。

而MOV AX,OFFSET MEM指令的执行结果是把MEM的偏移量送AX。

(3) MOV AX,MEM 与LEA AX,MEMMOV AX,MEM指令的执行结果是(DS:MEM)→AX。

而LEA AX,MEM的执行结果是把MEM的偏移量送AX。

5.指出下列指令的错误题目答案⑴MOV [AX],BX 寄存器间接寻址方式不能用AX寄存器⑵MOV AL,1280 源操作数超出目标范围⑶MOV [BX],9 目标操作数类型未知⑷MOV DS,1000H 立即数不能直接送段寄存器⑸MOV V AR,[BX] 两个操作数不能同时为存储器操作数⑹MOV M1,M2 两个操作数不能同时为存储器操作数⑺MOV 6,CX 操作数不能是立即数⑻MOV AX,[SI][DI] 源操作数寻址方式错⑼MOV CS,AX 操作数不能是代码段寄存器⑽MOV BX,OFFSET V AR[SI] OFFSET后只能跟变量或标号名6.写出把首址为BUF的字型数组的第4个字送到AX寄存器的指令,要求使用以下几种寻址方式⑴直接寻址方式⑵使用BX的寄存器间接寻址方式⑶使用BX的寄存器相对寻址方式答案:⑴MOV AX,BUF+3*2⑵LEA BX,BUF+3*2MOV AX,[BX]⑶MOV BX,3*2MOV AX,BUF[BX]7.设(AX)=0C5FFH,(BX)=9E00H,试实现以下要求:⑴ADD AX,BX 指令执行后,根据结果设置标志位ZF、SF、CF、OF、AF、PF,并讨论结果的正确性。

答案:执行ADD AX,BX 指令后,(AX)=0110001111111111B,并且最高位向前有进位。

因此,设置标志位如下:ZF SF CF OF AF PF0 0 1 1 0 1(NZ) (PL) (CY) (OV) (NA) (PE)讨论结果:对于无符号数而言,因为CF=1,所以结果不正确。

对于带符号数而言,因为OF=1,所以结果不正确。

8.编程序使⑴使AL的各位变反。

⑵BX寄存器低四位置1。

⑶AX寄存器的低四位清0。

⑷使CX寄存器的低四位变反。

⑸用TEST指令测试AL寄存器的位0和位6是否同时为0,若是则把0送DH寄存器,否则把1送DH寄存器。

答案:⑴NOT AL⑵OR BX,000FH⑶AND AX,0FFF0H⑷XOR CX,000FH⑸TEST AL,0100001BJZ AMOV DH,1 JMP SHORT B A: MOV DH,0 B: …9. 试分析下面的程序段完成什么功能? MOV CL,4 SHL DX,CL MOV BL,AH SHL AL,CL SHR BL,CL OR DL,BL 答案:把DX 和AX 一对寄存器所形成的32位内容左移四位。

其中DX 中为高16位,AX 中为低16位。

第二-三章 汇编语言与程序设计1.下面的数据项定义了多少个字节? DA TA_1 DB 6DUP(4DUP(0FFH)) 24个字节不一样,分别是72H ,04H 和04H ,72H 。

存储字时低8位存在低字节,高8位存在高字节。

3.下面的两个数据项分别设置了多少个字节? (1)ASC_DA TA DB ‘12344个字节ASC_DATA(2)HEX_DATA DB 1234H2个字节4.执行下列指令后,AX 寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX]AX 寄存器内容为40HTABLE TABLE+35.指出下列指令的错误 (1)MOV AH ,BX源、目的字长度不一致 (2)MOV [SI],[BX]源、目的不能同时为存贮器寻址方式 (3)MOV AX ,[SI][DI]基址变址方式不能有SI 和DI 的组合 (4)MOV AX ,[BX][BP]基址变址方式不能有BX 和BP 的组合 (5)MOV [BX],ES :AX在8086寻址方式中,AX 不能做为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式(6)MOV BYTE PTR[BX],1000 1000超出一个字节的表述范围 (7)MOV AX ,OFFSET [SI]OFFSET 只能用于简单变量,应去除 (8)MOV CS ,AXCS 不能作为目的的寄存器 (9)MOV DS ,BP段地址不能直接送入数据段寄存器6.设(DS)=1BOOH,(ES)=2BOOH ,有关存储器地址及其内容如右图所示,请用两条指令把X 装入AX 寄存器。

答案:LES BX, [2000H]X..8000H 2B00H 2B00:8000H1B00:2000H 1B00:2002H …………MOV AX, ES: [BX]7.试分析下面的程序段完成什么操作?MOV CL , 04SHL DX , CLMOV BL , AHSHL AX , CLSHR BL , CLOR 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,请写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响状态标志寄存器请给出状态标志SF、ZF、OF、CF的值。

相关主题