资源描述:
《汇编考前辅导带答案版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
一、单项选择题1、CPU®出的访问存储器的地址是(A)。A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。A.MOVA,L42HB.ADDAL,BLC.SUB[BX],DID.INC[DI]3、与MOVBXOFFSETVA曲令完全等效的指令是(D)。A.MOVBX,VARB.LDSBX,VARC.LESBX,VARD.LEABX,VAR4、表示过程定义结束的伪指令是(A)。A.ENDPB.ENDSC.ENDD.ENDM5、BUF1DB3DUP(0,2DUP(1,2),3)COUNTEQU$-BUF1符号COUN等价的值是(B)。A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。A.ALB.BLC.CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。A.DS*16+SIB.ES*16+DIC.CS*16+IPD.SS*16+SP8、物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,从地址10FF1H中取一个字的内容是(B)。A.1020HB.3020HC.2030HD.2010H9、将AX清零,下列指令错误的是(C)。A.SUBAX,AXB.XORAX,AXC.ORAX,00HD.ANDAX,00H10、完成同指令XCHGAXBX相同功能的指令或指令序列是(D)。A.MOVAX,BXB.MOVBX,AXC.PUSHAXD.MOVCX,AXPOPBXMOVAX,BXMOVB,XCX11、JMPBX的目标地址的偏移量为(A)。A.BX的内容B.BX所指向的内存单元的内容C.IP+BX的内容D.IP+[BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。A.AX,BX,CX,DXB.DS,ES,CS,SSC.SP,BP,IP,BXD.SI,DI,BP,BX13、设SP初值为2000H,执行指令«PUSHAX'后,SP的值是(D)。A.1FFFHB.1998HC.2002HD.1FFEH14、汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是(A)。A.VariableB.First&ldC.0FFFFHD.‘Memphis’15、要求将A,B两个字符的ASCH码41H,42H顺序存放在连续两个字存储单元中,可选用的语句是(B)。
1A.DA1DB‘AB’B.DA1DW‘AB’C.DA1DB0ABHD.DA1DW0ABH16、在汇编语言程序中,对END®句的叙述正确的是(C)。A.ENDS句是一可执行语句B.ENDS句表示程序执行到此结束C.ENDS句表示源程序到此结束D.ENDS旬在汇编后要产生机器码17、下面的数据传送指令中,错误的操作是(D)。A.MOVSS:[BX+DI],1000HB.MOVDX,1000HC.MOVWORDPTR[BX,]1000HD.MOVDS,2000H18、当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是(C)oA.JLEB.JNLC.JNLED.JL19、用DEBUGI试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是(B)。A.F400HB.2F80HC.F4000HD.2F800H20、设DS=1100H(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOVAX[1000H]则AX=(C)。A.8000HB.0080HC.2080HD.8020H21、在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有(A)。A.SS,SP,BPB.SS,SP,BXC.DS,BX,BPD.DS,SP,BP22、有指令MOVAX1234H,指令中的立即数1234H是存储在(B)。A.数据段B.代码段C.附加段D.堆栈段23、要在程序中定义缓冲区BUF保留9个字节存储空间的语句是(C)。A.BUFDW9B.BUFDB9C.BUFDB9DUP(?)D.BUFDW9DUP(?)24、完成将AX清零,并且使CF清零,下面错误的指令是(D)。A.SUBAX,AXB.ANDAX,0C.XORAX,AXD.MOVAX,025、汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。A.名字项B.操作项C.操作数项D.注释项26、在堆栈段中,存放栈顶地址的寄存器是(B)。A.IPB.SPC.BXD.BP27、书写汇编语言程序时规定,对字母开头的十六进制数,其前面必须加(A)。A.0B.DC.BD.H28、MOV[SI][BX],AL,该指令中目的操作数采用的寻址方式是(A)。A.基址加变址B.寄存器C.寄存器间接D.寄存器相对29、在计算机中,以先进后出方式工作的存储空间是(D)。A.存储器B.RAMC.ROMD.堆栈30、已知BX=2000HSI=1234H,贝时旨令MOVAX[BX+SI+2]的源操作在(A)中。A.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节31、PSVW存器中共有(A)位条件状态位,有(A)位控制状态位。A.6、3B.3、6C.8、4D.4、832、下面指令执行后,改变AL寄存器内容的指令是(D)。A、TESTAL,02HB、ORAL,AL
2C、CMPAL,BLD、ANDAL,BL33、MOVSP,3210HPUSHAX执行上述指令序列后,SP寄存器的值是(B)。A、3211HB、320EHC、320FHD、3212H34、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D)。A、CMPB、SUBC、ANDD、MOV35、设AX=1000HNEGAXNOTAX执行上述指令后,正确的结果是(B)。A.AX=1001HB.AX=0FFFHC.AX=1000HD.AX=0111H36、下列指令执行后对源和目的操作数均无影响的是(D)。A.MOV[BX+2],AXB.SUBAX,2467HC.SBB[SI],BXD.CMPAX,BX37、8086/8088系统执行传送指令MOV寸(A)。A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志38、若AX=-15要得到AX=15应执行的指令是(A)。A.NEGAXB.NOTAXC.INCAXD.DECAX39、汇编语言程序中,反映指令操作结果的标志是(A)。A.状态标志B.控制标志C.ZFD.DF40、移位指令中,应先将移位次数放在(D)。A.AXB.ALC.CXD.CL二、简答题1、定义子程序时如何确定其属性?答:(1)子程序和主程序在同一个代码段中,则子程序定义为NEARi性。(2)子程序和主程序不在同一个代码段中,则子程序定义为FAR属性。(3)主程序通常定义为FAR属性,这是因为主程序被看作DOSS用的一个子程序,以便执行完返回DOS。2、伪指令语句与指令语句的区别是什么?答:[指令语句]每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码),所以这种语句又叫可执行语句。每一条指令语句表示计算机具有的一个基本能力,如数据传送,两数相加或相减,移位等,而这种能力是在目标程序(指令代码的有序集合)运行时完成的,是依赖于汁算机内的中央处理器(CPU、存储器、I/O接口等硬件设备来实现的。[伪指令语句]伪指令语句是用于指示汇编程序如何汇编源程序,所以这种语句又叫命令语句。例如源程序中的伪指令语句告诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段中哪些是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等等。伪指令语句除定义的具体数据要生成目标
3代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程序在汇编源程序时,通过执行一段程序来完成的,而不是在运行目标程序时实现的。伪指令语句与指令语句的本质区别是指令语句有其对应的机器指令,而伪指令没有;伪指令的主要作用是指示汇编程序如何汇编源程序。3、子程序的参数传递有那几种方式及其各自的优缺点?答:(1)寄存器传递参数:用寄存器来传递参数最直接、简便,也是最常用的参数传递方式,只要把参数存放在约定的寄存器中就行了。但由于CPH寄存器个数有限,所以,该方法适用于传递参数较少的情况。需要注意的是,用于传递出口参数的寄存器不能加以保护和回恢复,用于传递入口参数的寄存器可以保护也可以不保护。(2)存储单元传递参数:这种方法是使用存储单元传递参数的,即主程序在存储单元建立一个参数表,存放子程序所需要的参数,在主程序中将该参数表首地址传送给子程序,子程序通过参数表去的所需参数,并把结果也存放到指定存储单元中。这种方法适合于传递参数较多的情况。(3)堆栈传递参数:用堆栈传递入口参数时,要在调用子程序前把有关参数依次压栈,子程序从堆栈中取得入口参数;用堆栈传递出口参数时,要在子程序返回前,把有关参数依次压栈,主程序就可以从堆栈中取到出口参数。这种方法也适合于传递参数较多的情况,但要特别注意避免因堆栈操作而造成子程序不能正确返回的错误。4、试比较CALL指令和JMP指令。答:CALL是调用跳转,在执行到RET旨令后,会返回到CALLB继续执行而JMP则是无条件跳转,是不会跳回的一般来说,执行一条CALL指令相当于执行一条PUSH旨令力口一条JMP指令。5、8086/8088CPU由哪两部分组成?它们的主要功能是什么?答:(1)总线接口部件BIU:总线接口部件由段寄存器、指令指针寄存器、地址加法器、指令队列和输入输出控制电路等组成。BIU是8086与系统总线的接口,负责CPUMf存储器、I/O端口传送数据。(2)执行部件EU执行部件由算术逻辑部件(ALU、通用寄存器、标志寄存器和执行部件控制电路等组成,它负责指令的执行和数据的运算。6、中断处理程序的典型结构包括哪几部分?答:(1)现场保护(2)中断返回(3)中断嵌套(4)发中断结束命令7、什么是中断矢量表?它有什么作用?答:在8086/8088系统中,为了方便中断处理程序的管理,把所有中断处理程序的入口地址都集中在一起,构成一个中断矢量表。而中断矢量即为中断处理程序的入口地址。8、CPUf外设问的数据传送方式有哪几种?它们各有什么特点?答:(1)查询方式:先查询外设的状态,后进行输入/输出操作的工作方式,称为查询式输入/输出方式。外设的状态是通过输入指令读外设的状态寄存器获得的。每个状态寄存器都有对应的地址,称为端口地址。(2)程序中断传送方式:当CPUR要输入/输出数据时,先执行启动外设工作的指令,然后CPU继续执行源程序,然后当输入/输出操作完成时,由外设向CPU发出中断请求,则在收到请求信号后,暂时停止原来执行的程序,转去执行输入
4或输出的处理程序。在完成外设所要进行的输入或输出的处理操作后,再返回到原来被中断的程序,继续从中断处往下执行。这种中断输入/输出方式,实现了CPUf外设并行操作,因此极大地提高了CPU勺使用效率。(3)DMA&式:DMAJ式能摆脱CPU勺直接干预,利用硬件控制设备DMA空制器,实现外部设备与内存间的直接数据传送。9、标志寄存器中有哪些状态标志和控制标志?它们每一位所表示的含义是什么?答:(1)CF进位标志,主要用来反映运算是否产生进位或借位。(2)PF奇偶标志,用于反映运算结果中“1”的个数的奇偶性。(3)AF辅助进位标志,记录运算时第3位(低半字节)产生的进位值。(4)ZF零标志,用来反映运算结果是否为0.(5)SF标志,记录运算符号的结果,它与运算结果的最高位相同。(6)OF溢出标志,用于反映有符号运算结果是否溢出。(7)TF追踪标志,也称单步标志。当追踪标志为1时,CPU®入单步方式即CPU每执行一条指令后,产生一个单步中断,通常用于程序的调试;当追踪标志为0时,处理器正常工作。(8)IF中断标志。当IF=1时,CPU<以响应可屏蔽中断请求;当IF=0时,CPU不响应CPU#部的可屏蔽中断发出的中断请求。(9)DF方向标志,用于在用处理指令中控制地址的变化方向。10、8086/8088的数据寻址方式有那几种?每种寻址方式各举一例(以源操作数为例)。11、在指令系统中,段内、段间返回均为RET指令。试回答:(1)执行段内返回RET指令时,执行的操作是:(IP)一((SP),(SP)+1)(2)执行段间返回RET指令时,执行的操作是:(IP)一((SP),(SP)+1)(CS一((SP)+2,(SP)+3)12、系统功能调用的方法如何?举例说明。答:(1)将调用参数装入指定的寄存器。(2)如需功能调用号,把它装入AH。(3)如需子功能调用号,把它装入AL。(4)按中断号调用DOSEBIOS(5)检查返回参数是否正确。13、分别说明下列两组指令中两条指令操作的相同点和不同点1)1)SUBAX,BXCMPAX,BX2)ANDCX,DXTESTCX,DX答:(1)相同点:都是做减法不同点:SUB旨令将结果回送名&目的操作数,CMP旨令不回送给目的操作数(2)相同点:都是做与操作不同点:AND指令将结果回送给目的操作数,TEST指令不将结果回送给目的操作数三、填空题
51、数据定义如下X1DB10H,100,-1X2DW10H,100,-1X3DD?COUNTEQUX3-X1变量COUNT勺值是BL=7,其表示的意义是本程序段是可以的。2、下面程序段执行完后,AL的内容是什么?MOVAL10ADDAL,ALSHLAL,1MOVBLALSHLAL,1ADDAL,BLAL=_1203、设DS=2000HBX=1256H变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下歹U指令分别执行后,IP的值各是多少?(1)JMPBXIP=1256h(2)JMPTABLE[BX]IP=5331h4、MOVAX9090HSUBAX,4AE0HJCL1JOL2JMPL3上述程序执行后AX=45B0H,程序转向L35、已知数据段定义如下:DATASEGMENTORG100HBUFDW'CD',1,3DUP(4,2DUP(8,6))VRADB4AHDATAENDS单独执行下列语句LEABX,BUFBX=100HMOVCXVRA-BUFCX=22H(用十六进制数表示)。6、ADW1234HBDW5678HPUSHAPUSHBPOPAPOPB试回答:A.上述程序段执行后(A)=5678H,(B)=1234H7、设寄存器AL,BL,CL中内容均为76H,XORAL,0FHANDBL,0FHORCL,0FH
6执行上述指令序列后,AL=79h。BL=06H,CL=7FHo8、已知:BX=1357HBP=2468HSI=1000H,DI=2000H,SS=1000HDS=2000HES=3000H试分别指出下列各指令中存储器操作数的物理地址。MOVAL,[BP+20H]的物理地址是12488H。MOV[BX+DI-80H],AL的物理地址是232D7HoMOVBL,ES:[SI+40H]的物理地址是31040H。9、阅读程序段:BLOCKDB20H1FH08H,81H,0FFH…RESULTDB?STARTLEASI,BLOCKMOVCX[SI]INCSIMOVAL[SI]LOP1:CMPAL,[SI+1]JNGNEXTMOVAL,[SI+1]NEXT:INCSILOOPLOP1MOVRESULTALHLT请问:(1)该程序完成的功能是什么?(2)该程序循环的次数是多少?答:(1)该程序完成的功能是从20H(32)个有符号数中找出最小的数送入RESUL仲元中。(2)该程序的循环次数是1FH(31)。10、STRINGDBABCDEFGHIMOVAH01;从键盘输入字符1~9INT21HANDAL0FHDECALXORAHAHMOVBXOFFSETSTRINGADDBXAXMOVBL[BX]MOVAH02H;显示输出INT21H试回答:(1)上述程序段的功能是什么?(2)如从键盘输入字符'4',程序段有什么结果?答:(1)程序段功能:根据从键盘输入的字符‘1'〜'9',确定在显示器上显示STRING中第几个字符。(2)显示器显示字符'D'
7四、编程题(30分)1、设在数据段中有X,Y两变量(字节单元),试编写程序段计算(只写有关程序功能的指令):Y=X当X>=0Y=0当X<0moval,xcmpa;,0jgeA1moval,0A1:movy,al2、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。DATASSEGMENTMSGDB0,0,"H","$"CRDB13,10,"$"TAB1DB"0123456789ABCDEF"DATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVES,AXMOVCX,127MOVDL,0MOVSI,OFFSETTAB1MOVDI,OFFSETMSGAG:PUSHCXPUSHDXMOVAX,0MOVAL,DLMOVBL,10HDIVBLMOVBX,0MOVBL,AHMOVDH,[SI+BX]MOV[DI+1],DHMOVBL,ALMOVDH,[SI+BX]MOV[DI],DHPUSHDX
8MOVDX,OFFSETMSGMOVAH,9INT21HPOPDXMOVAH,2INT21HPUSHAXMOVDX,OFFSETCRMOVAH,9INT21HPOPDXPOPDXPOPCXINCDLLOOPAGMOVAH,4CHINT21HCODESENDSENDSTART3、已知在以ARRAYS首地址的数据区中存放10个带符号字数据:4,5,-6)4,-2,-3,4,5,-6;以上是定义ARRAYDW1,2,-1,3,4,-2,-3,编程统计ARRA件正数项个数和负数项个数datasegmentarraydw1,2,-1,3P_ARYdw10dup(?)N_ARYdw10dup(?)dataendscodesegmentassumecs:code,ds:datastart:movax,data;这里是比较;>0放入OK1;<0放入OK0;否则放入OK3movds,axleabx,arrayleasi,N_ARYleadi,P_ARYmovcx,10again:cmpwordptr[bx],0jlok1jgok2jmpok3ok1:movax,[bx]mov[di],axadddi,2jmpok3ok2:movax,[bx]mov[si],axaddsi,2jmpok3ok3:addbx,2deccxjnzagainmovah,4chint21hcodeendsendstart4、设X、Y、Z、W为十六位有符号数编程计算:W―(X+Y*Z)/8-Y除法余数丢弃若ZF=1,程序转EQ否贝U转NOT_EQ5、X,Y,Z三个字节存储单元中各「一个无符号数,其中有两个数据相等,找出不相等的哪个数,并存入W单元中,试编写完成上述功能的程序段(只编写有关代码部分,勿需书写源程序格式)。
9Moval,xCmpal,yJz//////Cmpal,zJz\\\\\Movw,alJmpexit//////:Movbl,zMovw,blJmpexit\\\\\\:Movbl,yMovw,blExit:
10WelcomeToDownload!!!欢迎您的下载,资料仅供参考!