您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第3章汇编语言程序设计基础
13.2重点难点分析1.8086指令系统(1)8086指令的寻址方式所谓指令的寻址方式是指在指令中操作数的表示方式。8086的寻址方式有立即数寻址、寄存器寻址、存储器寻址、串操作寻址、外设I/O端口寻址以及程序转移操作寻址。其中变化最多的是存储器寻址,这种方式又分为直接寻址、寄存器间接寻址、基址寻址、变址寻址以及基址变址寻址。要求掌握这些寻址方式的特点,能识别操作数的寻址方式。(2)8086指令解析重点是:①编程时能正确使用下述指令。MOV、PUSH、POP、LEA、ADD、ADC、SUB、SBB、CMP、AND、OR、NOT、XOR、TEST、SHL、SHR、SAL、SAR、ROL、ROR、RAL、RAR、JMP、JZ(JE)、LOOP等条件转移指令。②读程序是能正确识别下述指令。XCHG、XLAT、NEG、MUL、DIV、MOVSB、CMPSB、REP、JA、JB、JG、JL、JAE、JNB、HLT、NOP等指令。难点是:LEA、CMP、TEST、XLAT、NEG、MUL、DIV、MOVSB、CMPS、REP、LOOP等指令。2.汇编语言的基本语法(1)汇编语言程序格式领会汇编语言源程序的两个组成特点:分段结构和语句行。(2)常量、标识符合表达式汇编语言程序的常量有数字常量、字符常量和符号常量。能正确掌握三种常量的表示方法。正确掌握标识符的定义及规则。正确识别指令中表达式的含义。(3)指示性语句对一些基本的指示性语句——SEGMENT/ENDS、ORG、ASSUME、PROC/ENDP、DB、DW、DD、EQU等必须正确掌握。(4)指令性语句必须正确掌握指令性语句中标号、操作数的表示方法和使用方法。(5)宏指令正确识别程序中的宏定义、宏名字、宏调用和宏展开。3.汇编语言程序设计基础(1)概述;(2)顺序结构程序;(3)分支结构程序;2(4)循环结构程序;(5)子程序;(6)DOS系统功能调用。要求掌握:·正确领会和识别顺序结构程序、分支结构程序、循环结构程序和子程序的结构特点;·读懂教材中的9个程序举例;·DOS系统功能调用——1号,9号和10(0A)号功能调用。3.3同步练习及参考解答一、单项选择题1.下列四个寄存器中,8位寄存器是()。A.DLB.AXC.BXD.CX2.在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。A.CS×16﹢IPB.DS×16﹢DIC.SS×16﹢SPD.ES×16﹢SI3.设BL=05H,要使结果为BL=0AH,应执行指令为()。A.NOTBLB.ANDBL,0FHC.XORBL,OFHD.ORBL,OFH4.下面指令中,影响或修改标志位的指令是()。A.PUSHFB.POPFC.JNLED.LOOPZ5.执行十进制调整指令DAA,DAS之前,必须把结果存放在()。A.DL中B.CL中C.BL中D.AL中6.存放一条指令的存储单元的符号地址称()。A.标号B.变量C.偏移量D.类型7.变量的类型属性有多种,下面4种类型中错误的是()。A.字节型B.字型C.字符型D.双字型8.假设OP1、OP2是已经用DB定义的变量,下面哪条指令是错误的()。A.CMPAX,OP1B.CMPBX,OP2C.CMPOP1,OP2D.CMPOP1,0FFH9.在指令ANDDX,BXAND0FBC0H中出现两个AND,正确的解释是()。A.均是逻辑运算符B.均是指令操作码C.前者为指令操作码,后者为逻辑运算符D.两个AND操作码均在程序执行时得出运算结果10.由数据定义伪指令DB16DUP(0,2DUP(1))所定义的数据单元中,有数据0100H的字单元个数是()。A.15B.16C.0D.3211.命令“ENDP”告诉汇编程序()。A.宏定义结束B.过程定义结束C.段定义结束D.过程运行结束12.AX,BX中都是无符号数,如AXBX时,转至NEXT处。在CMPAX,BX指令后应选用的指令是()。A.JNBENEXTB.JNLENEXTC.JBENEXTD.JLENEXT313.要使串处理从低地指向高地址进行,应把标志位置为()。A.TF=1B.TF=0C.DF=1D.DF=014.使状态标志位CF清零的错误指令是()。A.ORAX,AXB.SUBAX,AXC.MOVCF,0D.CLC15.设SP=1110H,执行PUSHAX指令后,SP的内容为()。A.SP=1112HB.SP=110EHC.SP=1111HD.SP=110FH16.汇编源程序出现语法错误的指令有()。A.MOV[BX+SI],ALB.MOVAX,[BP+DI]C.MOVDS,AXD.MOVCS,AX17.设BL中有一无符号数,实现把BL中的数除以2,应选用的指令是()。A.SHRBL,1B.SHLBL,1C.SARBL,1D.SALBL,118.执行PUSHAX指令的正确步骤是()。A.1.SP←SP-1,(SP)←AHB.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AHD.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+119.CF=1时转移到目标地址的条件转移指令是()。A.JNCB.JCC.JZD.JS20.在执行NEG指令时,对标志位CF有影响,其影响的规则是()。A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零数求补时,CF=121.算术右移SAR和逻辑左移SHR两条指令执行后结果完全相同的情况是()。A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同22.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是()。A.MOVAX,BUF1+BUF2B.MOVAX,BUF1/BUF2C.MOVAX,BUF1+ES:BUF2D.MOVAX,BUF2-BUF123.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是()。A.INCWORDPTR[BX+SI]B.INCCX,[SI+COUNT]C.NEGBYTEPTR[BX]D.ADDAX,BX24.语句DA1DB2DUP(3,5,7)汇编后,该语句可等同于的语句是()。A.DA1DB3,5,7B.DA1DB2,3,5,7C.DA1DB3,5,7,2D.DA1DB3,5,7,3,5,725.下面有语法错误的指令是()。A.ADDAL,AHB.ADD[BX+3],ALC.ADDAH,[DI]D.ADD[BP+2],DA1(DA1是变量名)26.完成对DX的有符号数除以2的指令是()。A.IDIV2B.SARDX,1C.RORDX,1D.RCRDX,127.十进位位置1的指令是()A.CLCB.CMCC.STCD.NOP28.设AL=—15,要使AL=15应执行的指令是()。A.NEGALB.NOTALC.INCALD.DEGAL429.在条件转移中指令中,结果为负数则转移的是()。A.JNSB.JZC.JSD.JP30.下面的XCHG指令中,语法正确的是()。A.XCHGAL,DSB.XCHGBL,[BX]C.XCHGAL,0FHD.XCHGBUF1,BUF231.一条指令中目的操作数不允许使用的寻址方式是()。A.寄存器寻址B.立即数寻址C.变址寻址D.寄存器间接寻址32.设SP=1FFEH,执行下列指令后,SP寄存器的值是()。┆POPFPUSHAX┆A.2000HB.2002HC.1FFCHD.1FFEH33.在下列段寄存器中,代码段寄存器是()。A.ESB.CSC.DSD.SS34.设内存单元(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,如从地址10FF1H中取出一个字的内容是()。A.1020HB.3020HC.2030HD.2010H35.完成将累加器AX清零,下面错误的指令是()。A.SUBAX,AXB.XORAX,AXC.ORAX,00HD.ANDAX,00H36.设DS=5788H,偏移地址为94H,该字节的物理地址是()。A.57974HB.57914HC.5883HD.58ECH37.如AX=1000HNEGAXNEGAX上述两条指令执行后,AX的值为()。A.1001HB.1002HC.1000HD.0F000H38.下列程序段其功能是对32位数求补,32位数已在DX:AX中,正确的程序段是()。A.NEGAXB.NEGAXC.NOTDXD.NOTAXNEGDXNOTDXNOTAXNEGDXADDAX,1ADCDX39.当一个程序使用DOS系统功能调用退出用户程序时,在编写INT21H指令前,应选用的指令是()。A.MOVAH,01HB.MOVAX,4CHC.MOVAH,4CHD.RET40.下面是六十六进制数88H的几种表示形式,错误的表示是()。A.无符号十进制数136B.带符号十进制—120C.压缩型BCD码十进制数88D.8位二进制数—8的补码表示41.指令指针寄存器是()。A.IPB.SPC.BPD.PSW542.当执行指令ADDAX,BX后,若AX的内容为2BA0H时,设置的奇偶标志位PF=1下面叙述中正确的是()。A.表示结果中含1的个数为偶数B.表示结果中含1的个数为奇数C.表示该数为偶数D.表示结果中底8位含1的个数为偶数43.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。A.MOVAL,00HB.ANDAL,00HC.XORALL,ALD.SUBAL,AL44.下列指令执行后总是使CF=0,CF=0的是()。A.ANDB.NEGC.NOTD.INC45.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。A.CX=0,且ZF=0B.CX=0,且ZF=1C.CX=0,或ZF=0D.CX=0,或ZF=146.下面指令中,合理而有意义的指令是()。A.REPLODSBB.REPSCASBC.REPCMPSBD.REPMOVSB47.在汇编语言程序中,对END语句叙述正确的是()。A.END语句是一可执行语句B.END语句表示程序执行到此结束C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码48.下面的数据传送指令中,错误的操作是()。A.MOVSS:[BX+DI],1000HB.MOVDX,1000HC.MOVWORDPTR[BX],1000HD.MOVDS,2000H49.设AX=1000HNEGAXNOTAX执行上述指令后,正确的结果是()。A.AX=1001HB.AX=0FFFHC.AX=1000HD.AX=0111H50.CBW指令的功能是()。A.把源操作数的符号位扩展到目的操作数中B.把AL中的符号位扩展到AH中C.把AH中的符号位扩展到AL中D.把AX中的符号位扩展到DX中51.下面语句中有语法错误的语句是()。A.DB45HB.DW0ABCDHC.DW‘ABCD’D.DD‘AB’52.在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。A.WORDB.PAGEC.BYTED.PARA53.在汇编语言程序的开发过程中使用宏功能的顺序是()。A.宏定义,宏调用B.宏定义,宏展开C.宏定义,宏调用,宏展开D.宏定义,宏展开,宏调用54.在汇编语言源程序中,每个语句由四项组成,如语句要完成一定的功6能,那么该语句中不省略的项是()。A.名字项B.操作项C.操作数项D.注释项55.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。A.CMPB.SUBC.ANDD.MOV56.下列指令执行后能使BX中数据必为奇数的是()。A.XORBX,01HB.ORBX.01HC.ANDBX,01HD.TESEBX,01H57.设CL=05H,要获得CL=0AH,可选用的指令是()。A.XORCL,0FHB.NOTCLC.ORCL,0
本文标题:第3章汇编语言程序设计基础
链接地址:https://www.777doc.com/doc-2193476 .html