《汇编语言程序设计》习题一、选择题1.机器数为10000000B,它代表-127D,则它是(C)。A.补码B.原码C.反码D.原码或反码2.[x1]原=10111101B,[x2]反=10111101B,[x3]补=10111101B(C)。A.x1最小B.x2最小C.x3最小D.x2=x1=x33.计算机的内存“溢出”是指其运算结果(3)。A.为无穷大B.超出了计算机内存储单元所能存储的数值范围C.超出了该指令所指定的结果单元所能存储的数值范围D.超出了一个字所能表示数的范围4.[x1]原=11001010B,[x2]反=11001010B,[x3]补=11001010B,那么它们的关系是(4)。A.x3x1x2B.x2x3x1C.x3x2x1D.x2x1x35.在计算机中表示地址时使用(A)。A无符号数B原码C反码D以上都不对6.下面说法错误的是(D)。A8位二进制无符号数表示的最大十进制数是255B8位二进制带符号数表示的最大十进制数是127C计算机中无符号数最常用于表示地址D计算机中小数点隐含在符号位之后,占一位7.只有当与非门的输入变量A、B的值为(4)时,其输出才为0。A0,0B0,1C1,0D1,18.只有当或非门的输入变量A、B的值为(1)时,其输出才为1。A0,0B0,1C1,0D1,19.若逻辑运算Y=A+B,当A=B=1时,Y为(2)。A0B1C10D210.若门电路的两个输入量为1、1,输出量为0,不可能完成此功能的是(4)。A“异或”门B“与非”门C“或非”门D“与”门11.下列不正确的是(4)AAABABB_____ABABCABBABABDABAB12.已知VAR为字节变量,下面是关于①MOVBX,OFFSETVAR和②LEABX,VAR指令的说明,正确的是()。A.指令①执行速度比指令②执行速度快B.指令①中OFFSET只能与简单的符号地址相连,不能与诸如VAR[SI]等复杂数相连。指令②LEA没有这个限制C.指令①有错误,因为VAR为字节变量,而BX为字D.指令①与指令②的作用完全相同13.下列指令中正确的是(D)。2A.MOV100,CLB.MOVCL,100HC.MOVCL,1000D.MOVCL,10014.设(BX)=8D16H,执行指令序列MOVCL,7SARBX,CL后BX寄存器的内容是(B)。A.011AHB.FF1AHC.2D1AHD.0B00H15.在程序运行过程中,确定下一条指令的物理地址的计算表达式是(A)。A.CS*16+IPB.BX*16+DIC.SS*16+SPD.ES*16+SI16.提示下列指令序列执行后的正确结果是(A)。MOVBX,OFFFCHMOVCL,2SARBX,CLA.3FFFHB.0FFFHC.0FFFCHD.0FFF5H17.下列指令中不影响标志位的是(C)。A.SUBAX,BXB.RORAL,1C.JNCLABLED.INTn18.将寄存器AX的内容取负的正确操作是(3)。A.NEGAXB.CMPAX,0FFFHC.NOTAXD.CMPAX,AX19.指令SCAS的寻址方式是()。A源操作数为寄存器寻址,目的操作数为寄存器间接寻址B源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C源操作数为寄存器间接寻址,目的操作数为寄存器寻址D源操作数为寄存器寻址,目的操作数为寄存器寻址20.TABLE为字变量,下面是关于指令①MOVAX,TABLE与指令②LEAAX,TABLE的说明,错误的是()。A指令①送TABLE为偏移地址的单元的内容,指令②送TABLE的偏移地址给AXB指令①送TABLE的偏移地址,指令②送TABLE为偏移地址的单元的内容给AXC源操作数寻址方式是:指令①为直接寻址,指令②为立即数寻址D源操作数寻址方式是:指令①为直接寻址,指令②为直接寻址21.下列指令中正确的是(C)。AMOVBX,ALBMOVBL,AXCMOVBL,ALDMOVBL,BP22.下列指令中不合法的指令是(C)。AINAX,03F8HBMOVBX,AXCREPCMPSBDSHRBX,CL23.下列指令中正确的是()。AMOVSS,2400HBMOVSS,[2400H]CMOVSS,DSDMOVSS,SP24.下列指令中正确的是(A)。AXCHGAH,ALBXCHGAL,20HCXCHGDS,AXDXCHGSP,[20H]25.下列指令中正确的是(B)。AIN100H,ALBINAX,21HCOUT21H,AXDOUT260H,AL26.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSHAX后,存放数据21H的物理地址是()。A20102HB20101HC200FEHD200FFH27.在下列指令中,有语法错误的是(A)。AMOV[SI],[DI]BINAL,DXCJMPWORDPTR[BX]DPUSHWORDPTR20[BX+SI-2]28.两个有符号的整数A和B比较后,为了判定A是否大于B,应使用下列(A)条指令。AJGBJACJNBDJNBE29.下列程序段执行完后,BX寄存器中的内容是(C)。MOVCL,3MOVBX,0B7HROLBX,1RORBX,CLA002DHB00EDHCC02DHD000DH30.执行下列程序:MOVAX,0MOVBX,1MOVCX,100A:ADDAX,BXINCBXLOOPAHLT执行后的结果为:(AX)=(C),(BX)=().A5050,99B2500,100C5050,101D2550,10231.JMPFARPTRABCD(ABCD是符号地址)是(D)。A段内间接转移B段间间接转移C段内直接转移D段间直接转移32.已知JNC指令的机器代码是73FCH(FC是根据条件转移确定的偏移量),CF=0,IP=1000H,试问执行该指令后,IP=(C)。A0FFFHB10FEHC0FFEHD10FCH33.满足转移指令JNE的测试条件是(C)。AZF=1BCF=0CZF=0DCF=134.将累加器AX的内容清零的正确指令是(A)。AANDAX,0BXORAX,BXCSUBAX,BXDCMPAX,BX35.逻辑位移指令SHR用于(D),而算术位移指令SAR用于带符号数除2。A带符号数减2B带符号数除2C无符号数乘2D无符号数除236.对于下列程序段:AGAIN:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPAGAIN也可用指令()完成同样的功能。AREPMOVSBBREPLODSBCREPSTOSBDREPESCASB37.JMPWORDPTR[DI]是(B)。AA段内间接转移B段间间接转移C段内直接转移D段间直接转移38.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(C)。A直接、立即、间接B直接、间接、立即C立即、直接、间接D不一定39.执行下列指令后:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCX寄存器AL的值是(B)。A60HB00HC04HD08DH40.下列程序执行后,(AL)=(B)。MOVAX,1234HMOVBX,5678HADDAL,BLDAAMOVCL,ALMOVAL,AHADCAL,BHDAAA69HB78HC56HD34H41.若AL,BL中是BCD数,且在执行ADDAL,BL之后,(AL)=0EH,CFAF=10。再执行DAA后,(AL)=()。A04HB14HC64HD74H42.下面程序段中,当满足条件转到NEXT标号执行时,AL中的值正确的是(D)。CMPAL,OFBHJNLNEXT……NEXT:……AAL=80HBAL=8FHCAL=0F0HDAL=0FFH43.对于下列程序段:AGAIN:MOVES:[DI],ALINCDILOOPAGAIN可用指令()完成相同的功能。AREPMOVSBBREPLODSBCREPSTOSBDREPESCASB44.设AL和BL中都是带符号数,当AL≤BL时转至NEXT处,在CMPAL,BL指令后应选用正确的条件转移指令是(B)。AJBEBJNGCJNADJNLE45.使得JB指令执行转移操作的条件是()。ACF=1BCF=1且ZF=0CZF=0DCF=0或ZF=146.在“先判断后工作”的循环程序结构中,循环执行的次数最少是()。A1B0C2D不定47.下列指令中,指令()先执行CX-1赋给CX操作,然后再根据CX的值决定是否转移、循环或进行重复操作。AJNCBREPCJCXZDLOOP48.指令LOOPZ的循环执行条件是()。ACX≠0并且ZF=0BCX=0或ZF=0CCX≠0并且ZF=1DCX=0或ZF=149.向量中断是()。A外设提出中断B由硬件形成中断服务程序入口地址C由硬件形成向量中断地址,再由向量地址找到中断服务程序入口地址D以上都不正确50.寄存器间接寻址方式中,操作数在(C)中。A通用寄存器B堆栈C主存单元D段寄存器51.运算型指令的寻址和控制转移型指令的寻址,其不同点在于()。A前者取操作数,后者决定程序的转移地址B后者取操作数,前者决定程序的转移地址C两者都是取操作数D两者都是决定程序的转移地址52.在PC系列机中调试汇编语言程序的工具软件是DEBUG。用DEBUG调试程序时,可以在目标程序中设断点,或用单步跟踪来找出程序中的毛病。断点只能在RAM中设置,不能在ROM中设置,这是因为()。AROM不能存放汇编程序BROM中数据不能修改CROM不能放入断点中断指令DROM不能保护断点53.汇编语言语句格式中的名字项,下列哪一个不正确?()A.FFFFFHB.@VariableC.0FFFFHD.Third_street54.下列语句中错误的有()A.MOVBL,0A7HB.MOVCX,COUNTC.MOV[BX],5D.INAL,PORT-VAL55.(A)不是数值变量的类型属性。A.字符型B.字型C.字节型D.双字型56.用ASSUME伪指令指定某个段分配给那个寄存器后,还需要通过MOV指令来给段寄存器赋值,其中(C)不能这样做,而是在程序初始化时自动完成的。A.数据段寄存器DSB.堆栈段寄存器SSC.代码段寄存器CSD.附加段寄存器ES57.有关宏指令和子程序,下列说法哪一个不正确?(D)A.宏指令并不能简化目标程序B.子程序可以简化目标程序,但执行时间要长些C.子程序或过程在执行时,由CPU处理D.宏指令在执行时要保护现场和断点58.下列哪一个伪指令对符号名可以重复定义(A)A.=B.EQUC.DBD.PURGE59.下面指令序列执行后的正确结果是(A)。MOVBX,0FFFCHMOVCL,2SARBX,CLA.3FFFHB.0FFFFHC.0FFFCHD.0FFF5H60.一般用条件转移指令JZ、JNZ、JC、JNC等来实现程序的(B)结构。A.顺序B.分支C.循环D.模块化61.下列哪一种不是多分支程序设计的形式?()A.开关法B.转移表法C.地址表法D.逻辑分解法62.下面程序段中,当满足条件转到NEXT标号执行时,AL中的值正确的是(D)。CMPAL,0FBHJNLNEXT…NEXT:......A.AL=80HB.AL=8FHC.AL=0F0HD.AL=0FFH63.循环程序的基本结构形式不包括下面哪一部分?()A.循环参数置初值部分B.循环工作部分C.循环控制部分D.设置段寄存器部分64.数值计算中的反复迭代计算的过程是循环结构,该类问题使用()控制循环。A.计数控制法B.条件控制法C.开关控制法D.逻辑尺控制法65.在循环设计中循环体的重复执行次数已知的情况下,一般采用哪种计数方法来控制循环?()A.正计数法B.倒计数法C.两者相同D.两者都不是66.子程序结构中不包括(B)。A.子程序的说明文件B.子程序的现场保护和现场恢复C.子程序的调用和返回D.入口参数的设置67.(D)不是系统功能调用的功能。A.文件管理B.设备管理C.作业管理D.总线管