好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编语言程序设计模拟题..pdf

43页
  • 卖家[上传人]:桔****
  • 文档编号:572641649
  • 上传时间:2024-08-13
  • 文档格式:PDF
  • 文档大小:1.13MB
  • / 43 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《汇编语言程序设计》模拟试题《汇编语言程序设计》模拟试题一、单项选择题一、单项选择题1、指令 JMP FAR PTR DONE 属于()A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2、执行下面指令序列后,结果是()MOV AL,82HCBWA. AX=0FF82HB. AX=8082HC. AX=0082HD. AX=0F82H3、8088/8086 存储器分段,每个段不超过()A.64K 个字B.32K 个字节C.1 兆个字节D.64K 个字节4、CPU 发出的访问存储器的地址是()A.物理地址B.偏移地址C.逻辑地址D.段地址5、BUFDW10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF 分配的存储单元字节数是()A.80HB.100HC.124D.1926、若 AX= - 15 要得到 AX=15 应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX7、8086/8088 系统执行传送指令 MOV 时()A.不影响标志位B.影响 DF 方向标志 C.影响 SF 符号标志D.影响 CF 进位标志8、 MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位CF 和 OF 的值是()。

      A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=1D.CF=1,OF=09、检查 BUF 的内容是否为正偶数,如是正偶数,则AL=0下面程序段正确的是()A.MOVAL,BUFB. MOVAL,BUFJSK1ANDAL,11SHRAL,1JNZK2JNCK1MOVAL,0MOVAL,0K2:……K1:C. MOVAL,BUFD. MOVAL,BUFTESTAL,81HJNPK4JNZK3TESTAL,80HMOVAL,0JNZK4K3:MOVAL,0K4:10、下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]11、与 MOV BX,OFFSET VAR 指令完全等效的指令是()A.MOV BX,VARB.LDS BX,VAR1 C.LES BX,VARD.LEA BX,VAR12、下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX13、表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM14、 编写分支程序, 在进行条件判断前, 可用指令构成条件, 其中不能形成条件的指令有 () 。

      A.CMPB.SUBC.ANDD.MOV15、上面指令执行后,AX 的内容是() A.0302HB.0203HC.0202HD.0303H16、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号 COUNT 等价的值是()A.6B.18C.16D.817、DA1 DW 2A05HDA2 DB 0FAH…MOVAL,BYTE PTR DA1SUBDA2,AL上述指令执行后,DA2 中的内容是( ) A.0DAHB.0FAHC.0F5HD.0D0H18、为在一连续的存储单元中依次存放数据41H,42H,…,48H,下面的数据定义语句中有语法错误的是()A.DB 41H,42H,43H,44H,45H,46H,47H,48HB.DW 4142H,4344H,4546H,4748HC.DB ‘ABCDEFGH'D.DW ‘BA',‘DC',‘FE',‘HG'19、设(SP)=0028H,执行段内返回指令RET 6 后,SP 的内容是()A.0036HB.0022HC.0030HD.0020H20、条件转移指令 JNBE 产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=121、下列寄存器中, 作为 16 位寄存器的是 () 。

      A. ALB. BLC. CHD.DX22、在程序运行过程中, 确定下一条指令的物理地址的计算表达式是 () A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP23、物理地址(10FF0H )=10H, (10FF1H )=20H, (10FF2H )=30H,从地址 10FF1H中取一个字的内容是 () A.1020HB.3020HC.2030HD.2010H24、将 AX 清零, 下列指令错误的是() A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H25、下列指令中, 影响或修改标志位的是 () A.LOOPZB.JNLEC.PUSHFD.POPF26、设 DS=8225H,DI=3942H,指令 NEG BYTE PTR[DI]操作数的物理地址是( ) 2 A.85B92HB.86192HC.BB690HD.12169H27、通用数据传送指令中, 错误的是 () A.累加器到存储器B.立即数到存储器C.寄存器到存储器D.存储器到存储器28、移位指令中, 应先将移位次数放在 () A.AXB. ALC. CXD.CL29、MOV AL, 79ADD AL, 0B1H上述指令执行后, CF 和 OF 的值是 () 。

      A.CF=0 OF=1B.CF=1 OF=1C.CF=0 OF=0D.CF=1 OF=030 下列语句中能实现留空8 个字节单元的语句是() A. DA1DT?B. DA2 DW?,?C. DA3DD?D. DA4DQ?31、循环指令 LOOPNZ 终止循环的条件是( ) A.CX=0,且 ZF=0B.CX=0,或 ZF=1C.CX10,且 ZF=0D.CX10,或 ZF=132、设 DL=55H,执行指令后能使DL 中的数据为 0AAH 的指令是() A.TESTDL, 0AAHB.ORDL, 0AAHC.NEGDLD.XOR DL, 0FFH33、完成同指令 XCHG AX,BX 相同功能的指令或指令序列是() A. MOVAX,BXB. MOV BX,AXC. PUSHAXD. MOV CX,AXPOPBXMOV AX,BXMOV BX,CX34、JMP BX 的目标地址的偏移量为() A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]35、在程序执行过程中,IP 寄存器中始终保存的是()A.上一条指令的首地址B.下一条指令的首地址C.正在执行指令的首地址D.需计算有效地址后才能确定地址36、用户为了解决自己的问题,用汇编语言所编写的程序,称为() 。

      A.目标程序B.源程序C.可执行程序D.汇编程序37、某系列微机对存储器的分段,如果每一个段最多的字存储单元( 16 位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是() A.20 位B.16 位C.15 位D.12 位38、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是() A.AX,BX,CX,DXB.DS,ES,CS,SSC.SP,BP,IP,BXD.SI,DI,BP,BX39、用一条指令仅实现将BX+SI=>AX 的方法是() A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]40、设 SP 初值为 2000H,执行指令“PUSH AX”后,SP 的值是() A.1FFFHB.1998HC.2002HD.1FFEH41、条件转移指令 JB 产生程序转移的条件是() A.CF=1B.CF=0C.CF=1 和 ZF=1D.CF=1 和 ZF=042、选用串操作指令时,错误的操作是() 3 A.置方向标志位B.根据串操作指令设置重复次数并送入CXC.设置源操作数及目的操作数指针D.源操作数和目的操作数都可以加段超越43、设 AL=20H,SI=0500H,DS=3000H, (30500H)=0C0H,CF=1。

      执行 SBB AL,[SI]后,正确的结果是() A.AL=5FH SF=1 CF=1B.AL=60H SF=1 CF=0C.AL=5FH SF=0 CF=1D.AL=60H SF=0 CF=044、设 AX=1000HNEG AXNOT AX执行上述指令后,正确的结果是() A.AX=1001HB.AX=0FFFHC.AX=1000HD.AX=0111H45、CBW 指令的功能是() A.把源操作数的符号位扩展到目的操作数中B.把 AL 中的符号位扩展到 AH 中C.把 AH 中的符号位扩展到 AL 中D.把 AX 中的符号位扩展到DX 中46、汇编语言源程序中, 每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是() A.VariableB.First & ldC.0FFFFHD.‘Memphis’47、ORG 0030HDA1 DB 0, ‘0’ ,30HDW DA1数据为 3000H 字存储单元的偏移地址是() A.0030HB.0031HC.0032HD.0033H48、 NUM1 DB(12 OR 6 AND 2)GE 0EHNUM2 DB(12 XOR 6 AND 2)LE 0EH上述数据定义语句中,NUM1 和 NUM2 字节单元的内容分别是() 。

      A.NUM1=0,NUM2=0B.NUM1=0,NUM2=0FFHC.NUM1=0FFH,NUM2=0D.NUM1=0FFH,NUM2=0FFH49、要求将 A,B 两个字符的 ASCⅡ码 41H,42H 顺序存放在连续两个字存储单元中, 可选用的语句是() A.DA1 DB ‘AB’B.DA1 DW ‘AB’C.DA1 DB 0ABHD.DA1 DW 0ABH50、 DA1 EQU BYTE PTR DA2DA2 DW 0ABCDH┇SHL DA1,1SHR DA2,1上述指令序列执行后,DA2 字存储单元的内容是() A.0ABCDHB.0AB9AHC.55CDHD.559AH51、下面语句中有语法错误的语句是() A.DB 45HB.DW OABCDHC.DW ‘ABCD’D.DD ‘AB’52、 MOV CL,8ROL AX,CLOR AX,BX假设 AX=0012H,BX=0034H,那么上述程序段执行后,AX 中的结果是() A.1234HB.3412HC.0046HD.0034H4 53、执行下列指令序列后,正确的结果是() MOV AL,81HADD AL,ALADC AL,ALA.AL=05HB.AL=204HC.AL=04HD.AL=205H54、 DA2 DB 12H,34H,56H,0ABHDB $-DA2BUF1 DB 10H,20H,30H┇LEA SI,DA2MOV CL,4[SI]MOV CH,LENGTH BUF1上述指令序列运行后,CX 的内容是() 。

      A.03ABHB.01ABHC.0304HD.0104H55、在汇编语言程序中,对END 语句的叙述正确的是( ) A. END 语句是一可执行语句B. END 语句表示程序执行到此结束C. END 语句表示源程序到此结束D. END 语句在汇编后要产生机器码56、十六进制数 88H,可表示成下面几种形式,请找出错误的表示()A. 无符号十进制数 136B. 带符号十进制数-120C. 压缩型 BCD 码十进制数 88D. 8 位二进制数-8 的补码表示57、指令指针寄存器是()A. IPB. SPC. BPD. PSW58、当执行指令ADD AX,BX 后,若AX 的内容为 2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()A. 表示结果中含 1 的个数为偶数B. 表示结果中含 1 的个数为奇数C. 表示该数为偶数D. 表示结果中低八位含 1 的个数为偶数59、完成将累加器 AL 清零,并使进位标志 CF 清零,下面错误的指令是()A. MOV AL,00HB. AND AL,00HC. XOR AL,ALD. SUB AL,AL60、下列指令执行后总是使CF=0,OF=0 的是( )。

      A. ANDB. NEGC. NOTD. INC61、完成同指令 XCHG AX,BX 相同功能的指令或指令序列是()A. MOV AX,BXB.MOV BX,AXC. PUSH AXD.MOV CX,AXPOP BXMOV AX,BXMOV BX,CX62、设 AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()A.AH=01,AL=05B. AH=1, AL=15C. AH=0, AL=0FHD. AH=0,AL=0563、设 AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后 OF,CF的值为()A. OF=1,CF=0B. OF=1,CF=15 C. OF=0,CF=0D. OF=0,CF=164、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()A. CX=0 且 ZF=0B. CX=0 且 ZF=1C. CX=0 或 ZF=0D. CX=0 或 ZF=165、下面指令中,合理而有意义的指令是()A. REP LODSBB. REP SCASBC. REP CMPSBD. REP MOVSB66、在汇编语言程序中,对END 语句的叙述正确的是()。

      A. END 语句是一可执行语句B. END 语句表示程序执行到此结束C. END 语句表示源程序到此结束D. END 语句在汇编后要产生机器码67、下面的数据传送指令中,错误的操作是()A. MOVSS:[BX+DI],1000HB. MOV DX,1000HC. MOVWORD PTR[BX],1000HD. MOV DS,2000H68、下面指令执行后,变量DAB 中的内容是()DAWDW2A05HDABDB0FAH:MOVAL,BYTE PRT DAWSUBDAB,ALA. 0DAHB. 0FAHC. 0F5HD. 0D0H69、执行下列指令后,正确的结果是()MOV AL,100MOV BL,-2A. AL=100HB. AL=64HC. AL=64HD. AL=100HBL=02HBL=0FEHBL=82HBL=0FEH70、设数据段中已有:DA1 DB 12H,34HDA2 DW 56H,78H下面有语法错误的语句是()A. ADR1DWDA1B. MOVDA1+1,AXC. MOVBYTE PTRDA2+1,ALD. MOVWORDPTRDA1+1,AX71、实现将 DX:AX 中存放的 32 位数扩大四倍,正确的程序段是()。

      A. SHL AX,2B. RCL AX,2C. MOV CX,2D. SHL AX,1ROL DX,2SHL DX,2LOP:SHL AX,1SHL AX,1RCL DX,1RCL DX,1LOOPLOPRCL DX,172、TA1 DW 0102H,0304H,0506HTA2 DB 02H,03H,04H:MOV BX,DS:[0006H]AND BX,0FFHAND BH,[BX]上述指令序列运行后,BX 的内容是()A. 0605HB. 0402HC. 0606HD. 0204H73、当一个带符号数大于0FBH 时程序转移,需选用的条件转移指令是()6 A. JLEB. JNLC. JNLED. JL74、下面指令序列测试BH 中的数是否为奇数,若为奇数则转移至K1 处,横线处的指令应为()TEST BH,01HK1A. JNEB. JZC. JSD. JC75、测试 BL 寄存器内容是否与数据 4FH 相等,若相等则转 NEXT 处执行,可实现的方法是()A. TEST BL,4FHB. XOR BL,4FHC. AND BL,4FHD. OR BL,4FHJZ NEXTJZ NEXTJZ NEXTJZ NEXT76、用DEBUG 调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是( )。

      A.F400HB.2F80HC.F4000HD.2F800H77、设 DS=1100H, (12000H)=80H, (12001H)=20H, (12002H)=30H,执行 MOV AX,[1000H]则 AX=( )A.8000HB.0080HC.2080HD.8020H78、下列四条指令中错误的是( )A.MOV AX,[SI]B.MOV AX,[DI]C.MOV AX,[SI+DI]D.MOV AX,[SI-DI]79、下列四条指令执行后不影响标志位的是( )A.JNC NEXTB.CMP AX, BXC.SHL AX, 1D.OR AL, AL80、已知 AX=0001H,下列四条指令执行后,不能使ZF=1 的语句是( )A.DEC AXB.SUB AX, 1C.AND AX , 1D.CMP AX,181、在 8086/8088 系统中,约定用于形成堆栈段数据物理地址的寄存器有( )A.SS, SP, BPB.SS, SP, BXC.DS, BX, BPD.DS, SP, BP82、有指令 MOV AX, 1234H,指令中的立即数 1234H 是存储在( )A.数据段B.代码段C.附加段D.堆栈段83、要在程序中定义缓冲区BUF,保留 9 个字节存储空间的语句是( )。

      A.BUF DW 9B.BUF DB 9C.BUF DB 9 DUP(?)D.BUF DW 9 DUP(?)84、已知 AL=56H,BL=34H,都是压缩 BCD 码,要执行二数相加,正确的指令是( )A.ADD AL,BLB.ADC AL,BLC.ADD BL,ALD.ADC BL,ALDAADAADAADAA85、在执行子程序段内调用CALL SUBR 指令后,SP 的值( )A.加 1B.减 1C.加 2D.减 286、完成将 AX 清零,并且使 CF 清零,下面错误的指令是( )A.SUB AX, AXB.AND AX, 0C.XOR AX,AXD.MOV AX,087、定义宏指令的伪指令是( )A.PROC 和 ENDPB.CODE 和 ENDSC.EQU 和 ENDD.MACRO 和 ENDM88、在汇编语言源程序中,表达式的计算是由( )完成的A.编程者B.汇编程序C.程序执行时D.连接程序89、为了使执行串操作指令时,地址按减量方式处理应使用指令( )A.CLIB.STIC.CLDD.STD7 90、有数据定义 NUM DB '12345' ,经汇编后,NUM 占有( )字节存储单元。

      A.1B.5C.6D.791、汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )A.名字项B.操作项C.操作数项D.注释项92、在堆栈段中,存放栈顶地址的寄存器是()A.IPB.SPC.BXD.BP93、汇编语言程序中,反映指令操作结果的标志是()A.状态标志B.控制标志C.ZFD.DF94、书写汇编语言程序时规定,对字母开头的十六进制数,其前面必须加()A.0B.DC.BD.H95、计算机中用来存储程序、数据等信息的记忆装置是()A.控制器B.运算器C.CPUD.存储器96、MOV [SI][BX],AL,该指令中目的操作数采用的寻址方式是()A.基址加变址B.寄存器C.寄存器间接D.寄存器相对97、MUL WORD PTR[SI]指令中的乘积是存放在()、AX 中A.CXB.BXC.DXD.SI98、汇编语言中,存放下一条将要执行的指令地址寄存器是()A.SPB.AXC.DID.IP99、在计算机中,以先进后出方式工作的存储空间是()A.存储器B.RAMC.ROMD.堆栈100、TEST AH,30H 指令的功能与()指令功能相类似A.ANDB.CMPC.SUBD.OR101、在存储器中留 60 个字的空单元的伪指令是()。

      A.ARRAY EQU 60B.ARRAY DW 60C.ARRAY DB 60 DUP(?)D.ARRAY DW 60 DUP(?)102、指令 JMP FAR PTR DONE 属于()A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址103、下列叙述正确的是()A.对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令B.对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令C.对无符号数条件转移采用JAE/JNB 指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令104、一个有128 个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是()A.12CSBHB.12B6BHC.12C59HD.12BFEH105、在下列指令的表示中,不正确的是()A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL106、在进行二重循环程序设计时,下列描述正确的是()。

      A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外8 D.内、外循环初值都应置内循环之外,外循环之内107、条件转移指令 JNE 的测试条件为()A.ZF=0B.CF=0C.ZF=1D.CF=1108、8086CPU 在基址加变址的寻址方式中,变址寄存器可以为()A.BX 或 CXB.CX 或 SIC.DX 或 SID.SI 或 DI109、已知 BX=2000H,SI=1234H,则指令 MOV AX,[BX+SI+2]的源操作在( )中A.数据段中偏移量为3236H 的字节B.附加段中偏移量为 3234H 的字节C.数据段中偏移量为3234H 的字节D.附加段中偏移量为 3236H 的字节110、执行如下程序:MOV AX,0MOV BX,1MOV CX,100A: ADD AX,BXINC BXLOOP AHLT执行后(BX)=()A.99B.100C.101D.102111、上题的程序执行后(AX)=()A.5000B.5050C.5100D.5150112、对于下列程序段:AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用()指令完成同样的功能。

      A.REP MOVSBB.REP LODSBC.REP STOSBD.REPE SCASB113、下面指令序列执行后完成的运算,正确的算术表达式应是()MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA.Y=X*2+1B.X=Y*2+1C.X=Y*2-1D.Y=X*2-1114、在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来()A.占内存空间小,但速度慢B.占内存空间大,但速度快C.占内存空间相同,速度快D.占内存空间相同,速度慢115、在程序执行过程中,IP 寄存器中始终保存的是()A.上一条指令的首地址B.下一条指令的首地址C.正在执行指令的首地址D.需计算有效地址后才能确定地址116、PSW 寄存器中共有()位条件状态位,有()位控制状态位A.6、3B.3、6C.8、4D.4、8117、下列指令执行时出错的是()A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]9 C.MOV AX,[BX+DI] NUMD.TEST AL,08H118、已知(AX)=1234H,执行下述三条指令后,(AX)=()。

      MOV BX,AXNEG BXADD AX,BXA.1234HB.0EDCCHC.6DCCHD.0000H119、在下列指令中,()指令的执行会影响条件码中的CF 位A.JMP NEXTB.JC NEXTC.INC BXD.SHL AX,1120、.串指令中的目的操作数地址是由()提供A.SS:[BP]B.DS:[SI]C.ES:[DI]D.CS:[IP]121、将 DX 的内容除以 2,正确的指令是()A.DIV 2B.DIV DX,2C.SAR DX,1D.SHL DX,1122、设 DS=8225H,DI=3942H,指令 NEG BYTE PTR [DI]操作数的物理地址是(A、85B92HB、86192HC、BB690HD、12169H123、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS124、循环指令 LOOPNZ 终止循环的条件是()A、CX=0,且 ZF=0B、CX=0,或 ZF=1C、CX≠0,且 ZF=0D、CX≠0,或 ZF=1125、对寄存器 AX 的内容乘以 4 的正确指令序列是()。

      A、SHR AX,1 SHR AX,1B、SHL AX,1 SHL,AX,1C、ROL AX,1ROL AX,1D、RCR AX,1RCR AX,1126、保存字除法商的寄存器是()A、AXB、AHC、ALD、通用寄存器127、设 DH=10H,执行 NEG DH 指令后,正确的结果是()A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=1128、下列传送指令中有语法错误的是()A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX129、下面指令执行后,改变AL 寄存器内容的指令是()A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL130、一条指令中目的操作数不允许使用的寻址方式是()A. 寄存器寻址B. 立即数寻址C.变址寻址D.寄存器间接寻址131、执行下面指令序列后,结果是()MOV AL,82HCBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H132、与 MOV BX,OFFSET VAR 指令完全等效的指令是()。

      A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR133、.STACK 伪指令定义的默认堆栈段大小是() A、1KBB、2KBC、3KBD、4KB134、MOV SP,3210HPUSH AX执行上述指令序列后,SP 寄存器的值是()A、3211HB、320EHC、320FHD、3212H135、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF 分配的存储单元字节数是()A、80HB、100HC、124D、192136、在汇编语言程序的开发过程中使用宏功能的顺序是()A、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用137、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()A、名字项B、操作码项C、操作数项D、注释项138、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()A、CMPB、SUBC、ANDD、MOV139、为使 CX=-1 时,转至 MINUS 而编制了一指令序列,其中错误的序列是()。

      A、INC CXB、SUB CX,0FFFFHJZ MINUSJZ MINUSC、AND CX,0FFFFHD、XOR CX,0FFFFHJZ MINUSJZ MINUS140、设 ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从 300FFH 开始的连续 5个字节单元内容分别是 44H,43H,42H,41H,41H 执行 REPNZ SCASB 指令后,正确的结果是()A、DI=0104H,CX=0000HB、DI=0103H,CX=0001HC、DI=0102H,CX=0002HD、DI=0101H,CX=0003H141、与 LEABX, ARRAY功能相同的指令是()A、MOVBX,ARRAYB、MOVBX, SEGARRAYC、MOVBX,OFFSET ARRAYD、LDSBX, ARRAY142、汇编程序的错误提示:EXAM.ASM(10) :Error(9) ,Symbol not defined BUFF 中第一个圆括号内的“10”的含义是()A、出错行的行号B、错误类型号C、警告性错误的个数D、严重错误的个数143、在汇编语言程序的开发过程中使用宏功能的顺序是() 。

      A、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用144、设 A=186,B=273Q,C=0BBH,它们之间的关系是()A.A>B>CB.A

      A.ADD AX,[BX][SI]B.MOV AX,[BX][ST]C.AND AX,[BX][SI]D.LEA AX,[BX][SI]151、设 AX 中有一带符号数 8520H,执行 SAR AX,1 指令后,AX 中的值是()A.4290HB.0A40HC.0C290HD.0C260H152、下列中指令执行后,能影响标志位的指令是()A.PUSHFB.POPFC.JNLE OPRD.LOOPZLOP153、循环控制指令 LOOPNZ 继续执行循环的条件是()A.CX≠0 且 ZF=1B.CX≠0 且 ZF=0C.CX≠0 或 ZF=1D.CX≠0 或 ZF=0154、下面两个传送指令语句中源操作数寻址方式是()VAR1DW32HVAR2EQU32H┇MOV AX,VAR1MOV BX,VAR2A.都是立即数寻址B.前一条指令是立即数寻址,后一条指令是直接寻址C.前一条指令是直接寻址,后一条指令是立即数寻址D.都是直接寻址155、ARRAY DW 6,9,$+4,10H,1,$+4┇MOV AX, ARRAY+4设变量 ARRAY 的偏移量是 0084H,上述指令执行后 AX 中的内容是()。

      A.0009B.008CHC.0090HD.0010H156、设 AX=0CCBBH,CF=1AND AX,7FFEHRCR AX,1上述两条指令执行后,AX 和 CF 中的内容分别是()A.AX=265DH,CF=0B.AX=265DH,CF=1C.AX=A65DH,CF=0D.AX=A65DH,CF=1157、DA_BEQUBYTE PTRDA_WDA_WDW‘AB' ,‘CD',‘EF’,‘GH'┇MOV BX,DA_W+3MOV BH,DA_B+3执行上述两条指令后,BX 中的内容是()A.‘EF'B.‘FC'C.‘CC'D.‘FF'158、指令语句中标号的错误定义是( )12 A.在代码段中的名字项定义,后面紧跟冒号B.用 EQU 伪指令定义C.用 LABEL 伪指令定义D.由“JMP 标号”指令定义159、设 VAR1 和 VAR2 是已定义的变量名,非法的表达式是()A.VAR1-VAR2B.VAR2-VAR1[BX]C.VAR1+VAR2D.VAR1[BX]160、为在一连续的存储单元中依次存放数据41H,42H,…,48H,下面的数据定义语句中有语法错误的是()A.DB 41H,42H,43H,44H,45H,46H,47H,48HB.DW 4142H,4344H,4546H,4748HC.DB ‘ABCDEFGH'D.DW ‘BA',‘DC',‘FE',‘HG'161、设 NUM=11011011B,指令“MOV AH,NUM SHL 3”执行后 AX 中的值是()。

      A.11011011000BB.11011000BC.00011011BD.00011011011B162、XOR AX,AXMOV CX,5NEXT:ADD AL,6AAALOOP NEXT上述程序段执行的结果是()A.AX=0030HB.AX=0300HC.AX=30D.AX=001EH163、如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环如要求一定使用循环控制指令,这时应选用的指令是()A.LOOPB.JMPC.LOOPNE/LOOPNZD.JCXZ164、 在 DEBUG 上机调试程序时, 存储器地址表示为 12FA: 015F, 它的物理地址是 () A. 12FAHB. 1305FHC. 130FFHD. 015FH165、IP 指令指针寄存器是属于()A. 通用寄存器B. 段寄存器C. 变址寄存器D. 控制寄存器166、下面有语法错误的指令是()A. ADDAL,AHB. ADD[BX+3],ALC. ADDAH,[DI]D. ADD[BP+2],DA1;(DA1 是变量名)167、完成对 DX 的有符号数除以 2 的指令是()。

      A. IDIV2B. SARDX,1C. RORDX,1D. RCRDX,1168、使进位位置 1 的指令是()A. CLCB. CMCC. STCD. NOP169、设 AL=-15,要使 AL=15 应执行的指令是()A. NEGALB. NOTALC. INCALD. DECAL170、在条件转移指令中,结果为负数则转移的指令是()A. JNSB. JXC. JSD. JP171、下面的 XCHG 指令中,语法正确的是()A. XCHGAL,DSB. XCHGBL,[BX]C. XCHGAL,0FHD. XCHGBUF1,BUF2172、一条指令中目的操作数不允许使用的寻址方式是()A. 寄存器寻址B. 立即数寻址C. 变址寻址D. 寄存器间接寻址13 173、设 SP=1FFEH,执行下列指令后,SP 寄存器的值是()POPFPUSH AXA.. 2000HB. 2002HC. 1FFCHD. 1FFEH174、LDSSI,ES:[2000H]指令的全部功能是()A. 把地址 2000H 送 SIB. 把地址 2000H 字单元的内容送 SIC. 把地址 2000H 字单元内容送 SI,把 2002H 字单元内容送 DSD. 把地址 2000H 字单元内容送 DS,把 2002H 字单元内容送 SI175、设 AL=04H,BL=0F8H,执行 MUL BL 指令后,结果是()。

      A. AX=0032HB. AX=00E0HC. AX=03E0HD. AX=0FFE0H176、设 ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从 300FFH 开始的连续 5个字节单元内容分别是 44H,43H,42H,41H,41H 执行 REPNZ SCASB 指令后,正确的结果是()A. DI=0104H,CX=0000HB. DI=0103H,CX=0001HC. DI=0102H,CX=0002HD. DI=0101H,CX=0003H176、某数据段如下:DATASEGMENTORG20HXDB12HYDW789AHDATAENDSY 单元的偏移地址是()A. 0B. 20HC. 21HD. 12H177、下面指令语句中,语法正确的是()A. INC[BX]B. CMP[BX],60C. JMPFAROPRD. MOVWORD PTR [BX],5178、 DATASEGMENTDA1DB32 DUP(?)DA2DW1456H,789AHDA3DWDA2DATAENDS…MOVBX, DA3上述指令执行后,BX 中的内容是()A. 20HB. 31C. 32HD. 21H179、 已定义数据段DATASEGMENTORG0213HDA1DB15H,34H,55HADRDWDA1DATAENDS能使 AX 中数据为偶数的语句是()。

      A. MOVAX, WORD PTR DA1B. MOVAL, DA1+214 C. MOVAL, BYTE PTR ADR+1D. MOVAX, WORD PTR DA1+2180、 如代数据段名为 DATA_SEG,它的起始地址为20A00H,对数据段寄存器DS 赋值段地址值的方法是()A. MOVDS,20A0HB. ASSUMEDS:DATA_SEGC. DATA_SEGSEGMENTD. MOVAX,DATA_SEGMOVDS,AX181、OVAL,-1NEGALXORAL,65上述程序段执行后,AL 中的内容是()A. 40HB. 64HC. 01HD. 61H182、用 CMP 指令对两个无符号数进行A-B 的比较后,如 A=B 或 A>B,则分别产生转移,这种情况应选择的条件转移指令是()A. 先用 JE 指令,再用 JNC 指令B. 先用 JNC 指令,再用 JE 指令C. 上述两条条件转移指令(JE 和 JNC)无先后次序D. 用上述两个条件转移指令不能完成上述功能要求二、填空题二、填空题1.假设某个字的值是 1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是________。

      2.“SHL OPR,CNT”指令中 OPR 可以是除______以外的任何寻址方式3.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元4.指令“MOV AX,20H[SI]”中源操作数的物理地址表达式是______5.乘法指令语句“MUL CL”,16 位的乘积存放在______中1.在 8086/8088 系统中,存储器是分段的,每段最大长度是_______字节,段内偏移地址从_______到_______2.在程序调试时,显示某指令存放地址是2340H:0056H,则物理地址是_______3.汇编语言源程序中的语句有三种类型,它们是 _______语句,_______语句和_______语句4.指令 MOV AX,[BX+SI+10H]源操作数寻址方式是_______5.执行段间返回指令 RET 时,将栈顶的一个字弹出到_______后,又弹出一个字到_______寄存器中6.已知 DS=3000H,DI=1200H, (31200H)=64H, (31201H)=93H,执行 NEG WORD PTR[DI]后,(31200H)=_______,(31201H)=_______。

      7.执行下列指令序列MOV AL,80HMOV BL,08HCBWIDIV BL则 AH=_______AL=_______8.已知数据定义语句ORG 120HVECT1 DW 200HVECT2 DW VECT115 执行 MOV AX,VECT1 AX=_______MOV BX,VECT2 BX=_______三、简答题三、简答题1、在指令系统中,段内、段间返回均为RET 指令试回答:(1)执行段内返回 RET 指令时,执行的操作是:(2)执行段间返回 RET 指令时,执行的操作是:2、用两种办法,分别只用一条指令实现将DA1 数据区中数据个数送入CXDA1DB20H DUP(?)DA2DW10H,45H,7856H3、 已知: BX=1357H, BP=2468H, SI=1000H, DI=2000H, SS=1000H, DS=2000H, ES=3000H,试分别指出下列各指令中存储器操作数的物理地址MOVAL,[BP+20H]的物理地址是 :MOV[BX+DI-80H],AL 的物理地址是:MOVBL,ES:[SI+40H]的物理地址是:4、请指出下列指令错误原因:A. ORAX,[CX]B. ADD [SI],[BX][DI]C. JMPBYTEPTRLOOPSD. SARAX,4E. RCL DX5、DS=2000H, AX=2000H, BX=5030H, (25030H)=03H, (25031H)=05H, 那么执行下列语句,A.MOV AX,BX AX=;B.MOV AX,[BX] AX=6、数据定义如下X1DB10H,100,-1X2DW10H,100,-1X3DD?COUNT EQU X3-X1变量 COUNT 的值是, 其表示的意义是。

      7、ADW1234HBDW5678H┇PUSHAPUSHBPOPAPOPB试回答:上述程序段执行后(A)=;(B)=8、设某数据段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB 'COMPUTER'16 DB0AH,0DHCOUNTEQU$-DA1DA2 DW'CO','MP','UT','ER'DATA ENDS试回答:(1)DA1 的偏移地址是:()(2)COUNT 的值是:()(3)DA2+5字节单元的内容是 : ()9、下列程序段完成什么工作?DAT1DB30DUP(?)DAT2DB10DUP(?)┇MOVCX,10MOVBX,20MOVSI,0MOVDI,0NEXT:MOVAL,DAT1[BX][SI]MOVDAT2[DI],ALINCSIINCDILOOPNEXT10、下列语句在存储器中分别为变量数据区分配多少个字节单元?(1)VAR3 DD 10(2)VAR4 DW 4 DUP(?) ,211、设 DS=2000H,BX=1256H,变量 TABLE的偏移地址为 20A1H, (232F7H)=3280H.下列指令分别执行后,IP 的值各是多少?(1)JMP BXIP=___________________(2)JMP TABLE[BX]IP=___________________12、选用 NOT,AND,OR XOR 逻辑指令编写一指令序列,实现将AL 第 0 位,第 2 位同时置 1,其他位变反。

      13、在某子程序的开始处要保护AX,BX,CX,DX 四个寄存器信息,在子程序结束时要恢复这四个寄存器信息例如:PUSH AXPUSH BXPUSH CXPUSH DX:恢复现场试写出恢复现场时的指令序列14、完成下列操作,选用什么指令:(1)将 AX 的内容,减去 0520H,和上次运算的借位;(2)将变量名 TABL 的段地址送 AX;15、 D1DB20H DUP(?)D2DWD117 请写出用一条指令实现取D1 的偏移地址送给 SI 中的三种方法16、 在 8086/8088 系统中, 存储器是分段组织的, 按各段实际长度定位 已知 (DS) =2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:(1)数据段起始地址是多少?(2)计算数据段中最多可以存放多少个字节数据?(要有具体计算式)(3)代码段最多可以存放多少个字节程序代码?说明理由17、已知数据段定义如下:DATA SEGMENTORG 100HBUFDW 'CD',1,3 DUP(4,2 DUP(8,6))VRADB4AHDATA ENDS单独执行下列语句LEA BX,BUFBX=_______MOV CX,VRA-BUFCX=_______(用十六进制数表示)。

      18、分别说明下列两组指令中两条指令操作的相同点和不同点(1)SUB AX,BXCMP AX,BX(2)AND CX,DXTEST CX,DX19、下列每组指令中的两条指令有否区别?若有,请说出它们的不同点A. MOV AX,OFFSET TABLELEA AX,TABLEB. JMP SHORT L1JMP NEAR PTR L1C. MOV AX,[BX]MOV AX,BXD. SUB DX,CXCMP DX,CXE.MOV [BP][DI],ALMOV DS:[BP][DI],AL20、系统功能调用的方法如何?举例说明21、编程序,使:A.CL 寄存器内容取反B.BX 寄存器的低四位置 1C.AX 寄存器的低四位清 0D.CX 寄存器的低四位变反E.用 TEST 指令测试 DL 寄存器的第 3 位和第 6 位是否为零22、 指令 AND AX, OPR1 AND OPR2 中, OPR1 和 OPR2 是两个已赋值的变量, 问两个 AND操作有什么区别?23、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX 中的值1)SHR DX,1(2)RCR DL,1(3)RCL DX,CL24、写出完成下述功能的程序段:(1)传送 25H 到 AL 寄存器(2)将 AL 的内容乘以 2(3)传送 15H 到 BL 寄存器(4)AL 的内容乘以 BL 的内容并请写出最后(AX)=?18 25、写一程序段,求双字长数DX∶BX 的相反数。

      26、在指令系统中,段内、段间返回均为RET 指令试回答:(1)执行段内返回 RET 指令时,执行的操作是:(2)执行段间返回 RET 指令时,执行的操作是:27、ARY DW 10 DUP(?)┇MOV AL,TYPE ARYMOV BL,LENGTH ARYMOV CL,SIZE ARY上述 MOV 指令序列执行后的结果是什么?28、设某数据段:DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB'COMPUTER'DB 0AH,0DHCOUNT EQU $-DA1DA2 DW'CO','MP','UT','ER'DATA ENDS试回答: (1)DA1 的偏移地址是:___________________2)COUNT 的值是:___________________3)DA2+5 字节单元的内容是:___________________29、 设 DS=3A00H, ES=4A00H, 在段地址: 偏移地址=4A00H: 9000H 字单元中有数据3C50H请用一条指令将数据 3C50H 装入 AX 寄存器不得使用立即数)30、设 BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各条指令分别执行后 BX 中的内容各为多少?A. ROL BX,CL;BX=______B. MOV BX,[DI];BX=______31、DAT1 DB 1,2,3,4DAT2 DW 3412H,5678H┇MOV AX,DAT1+1 ;将 DAT1+1 字单元内容送入 AX 中MOV BL,DAT2+1 ;将 DAT2+1 字节单元内容送入 BL 中已知上述两条 MOV 语句有语法错误,请根据注释字段的要求将其改正 (分别用一条语句改正)。

      32、DA1DB20H DUP(?)DA2DW10H,45H,7856H请用两种办法,分别只用一条指令实现将DA1 数据区中数据个数送入CX33、用三种不同方法实现在字存储单元DB1 中存储 2000H34、 已知: BX=1357H, BP=2468H, SI=1000H, DI=2000H, SS=1000H, DS=2000H, ES=3000H,试分别指出下列各指令中存储器操作数的物理地址MOVAL,[BP+20H]的物理地址是MOV[BX+DI-80H],AL 的物理地址是19 MOVBL,ES:[SI+40H]的物理地址是四、程序分析题四、程序分析题1、XORAL,ALMOVAH,ALADDAH,9JZNEXTXCHGAH,ALJMPK1NEXT:MOV AH,0FFHK1:……上述程序运行后,AH=,AL=2、XORAL,ALINCALNEGALINCALMOVBL,7FHADCAL,BL上述程序段运行后,AL=,CF=3、已知 AX=1234HMOVBX,AXNEGBXADD AX,BX执行上述三条指令后,AX=,BX=4、BUF1DB41H,42H,43H,44H,45H,46HBUF2DB6 DUP(?)…MOVSI,OFFSET BUF1MOVDI,OFFSET BUF2MOVCX,6LOP:MOVAL,[SI]SUBAL,7ANDAL,0FHMOV[DI],ALINCSIINCDILOOPLOP试回答(1)上述程序段执行后,BUF2 开始的 6 个字节存储单元的内容是什么?(2)在程序功能不变的情况下,AND AL,0FH 指令可否用 SUB AL,30H 指令替代。

      5、BUFFDB‘ABD $ QC% $ A……CYZ’CONT EQU $ - BUFF…CLDLEADI,BUFF20 MOVCX,CONTMOVAL,’$’XORDX,DXNEXT:REPNZ SCASBCMP CX,0JZ K1INC DXJMP NEXTK1: …上述程序段运行后,DX 中的值表示的意义是什么?6、DA1 DW 1F28HDA2 DB ?┇XOR BL,BLMOV AX, DA1LOP:AND AX,AXJZ KKSHL AX,1JNC LOPADD BL,1JMP LOPKK:MOV DA2,BL试问:A.程序段执行后, DA2 字节单元内容是什么?B.在程序段功能不变情况下,是否可用SHR 指令代替 SHL 指令?7、DA1 DB 87HDA2 DB┇MOV AH,0MOV AL,DA1MOV CL,4SHR AL,CLMOV DL,10MUL DLMOV BL,DA1AND BL,0FHADD AL,BLMOV DA2,AL试回答:A.程序段执行后,(DA2)=______;B.在程序段功能不变的情况下,是否可以用指令SAR 替代指令 SHR?8、MOV AL,BLNOT ALXOR AL,BLOR BL,AL程序段执行后,AL=______,BL=______。

      21 9、STCMOV CX,0403HMOV AX,0A433HSAR AX,CLXCHG CH,CLSHL AX,CL程序段执行后,AX=______,CF=______10、BYTE1 DB XX ;任意数BYATE2 EQU 0FEH┇MOV DL,BYTE1OR DL,BYTE2程序段执行后,DL=______或______11、DA_B DB 0CH,9,8,0FH,0EH,0AH,2,3,7,4┇XOR AX,AXXOR CL,CLXOR BX,BXLOP:TEST DA_B[BX],01HJE NEXTADD AL,DA_B[BX]INC AHNEXT:INC BXINC CLCMP CL,10JNE LOP上述程序段运行结束后, AH=______, AL=______ 如果把 “JE NEXT指令改为“JNE NEXT“指令,那么 AH=______,AL=______12、VAR_B DB 10 DUP(3,5,7,9)┇LEA BX,VAR_BMOV CX,10XOR AX,AXLOP:ADD AL,[BX]CMP AL,10JB NEXTINC AHSUB AL,10NEXT:INC BXLOOP LOP上述程序段运行结束后,AH=______,AL=______。

      13、已知 AX=0FF60H,CF=1MOV DX,96XOR DH,0FFH22 SBB AX,DX执行上述指令序列后,AX=___________________,CF=___________________14、设寄存器 AL,BL,CL 中内容均为 76H,XOR AL,0FHAND BL,0FHOR CL,0FH执行上述指令序列后,AL=___________________BL=___________________,CL=___________________15、已知 AX=0A33AH,DX=0F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL执行上述指令序列后,AH=___________________,AL=___________________16、DATA SEGMENTS9 DB0,1,2,3,4,5,6,7,8,9DATA ENDS┇LEA SI,S9LEA,DI,S9+1MOV CX,5LOP: MOV AL,[SI]XCHG AL,[DI]MOV [SI],ALADD SI,2ADD DI,2LOOP LOP上述程序段运行后,S9 开始的 10 个字节存储单元内容是什么?17、 . MODESMALL.DATADATA1DW2000HDATA2DW3000H.CODE.STARTUPLEASI,DATA1MOVDI,OFFSET DATA2MOVBX,[SI]MOVCX,[DI]MOV[SI],CXMOV[DI],BX.EXITEND上述程序段运行后, (DATA1)=_________________, (DATA2)=_________________。

      18、DA3 EQU WORD PTR DA423 DA4 DB 0ABH,89H┇SHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA4上述程序段运行后,CX=___________________,DX=___________________19、现有如下程序段:DATA SEGMENTORG 0020HDA1 DW 12H,23HDA2 DB 11H,21HDA3 EQU 1234HDA4 EQU $-DA2DA5 DB 31H,32HDATA ENDS请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名 DA4 的值是多少?符号名DA5 的值是多少?20、执行下列程序段后,回答问题ORG 1221HNUM DW 12H…MOV AX,NUMMOV BX,OFFSET NUMMOV CL,BYTE PTR NUM+1MOV CH,TYPE NUMHLT请问:(AX)=______,(BX)=______,(CX)=______21、阅读如下程序:ADRR DB XXH,XXH,……,XXHNUM EQU $ -ADRRRETT DB?…MOV CX,NUMMOV BX,-1DON:INC BXCMP ADRR[BX],0LOOPZDONJNZ NEXTMOV BL,0FFHNEXT: MOV RETT,BLHLT请问:(1)该程序完成的功能是什么?(2)程序执行后指出 RETT 字节单元中的内容是什么?24 22、现有一子程序:SUB1 PROCTEST BL,80HJE PLUSTEST AL,80HJNE EXITOJMP XCHANGEPLUS:TEST BL,80HJE EXITOXCHANGE:XCHG AL,BLEXITO:RETSUB1ENDP试回答:(1)子程序的功能是什么?(2) 若调用子程序前 AL=9AH, BL=77H, 返回主程序时, AL=______, BL=______。

      23、阅读程序段:BLOCK DB 20H,1FH,08H,81H,0FFH,…RESULT DB ?…START:LEA SI,BLOCKMOV CX,[SI]INC SIMOV AL,[SI]LOP1: CMP AL,[SI+1]JNG NEXTMOV AL,[SI+1]NEXT:INC SILOOP LOP1MOV RESULT,ALHLT请问:(1)该程序完成的功能是什么?(2)该程序循环的次数是多少?24、阅读如下程序段,回答所提出的问题,假定X1,X2,XN 为无符号数ORG 100HBLOK DW X1,X2,…,XNCOUNT EQU($-BLOLOK)/2RESULT DW COUNT,?LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT:LOOP GOON25 MOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2 字存储单元的内容=______;BX=______;程序循环次数=______25、对于下面的数据定义,各条MOV 的指令单独执行后,有关寄存器的内容是什么?FLDBDB?TAB1DW 20 DUP(?)TAB2DB ’ABCD’A. MOV AX,TYPE FLDBB. MOV AX,TYPE TAB1C. MOV CX,LENGTH TAB1D. MOV DX,SIZE TAB1E.MOV CX,LENGTH TAB226、下面程序段执行完后,AL 的内容是什么?MOV AL,10ADD AL,ALSHL AL,1MOV BL,ALSHL AL,1ADD AL,BL27、试问下面的程序段完成的功能是什么?SAL AX,1RCL DX,128、假设 X 和 X+2 单元的内容为双精度数P,Y 和 Y+2 单元的内容为双精度数Q(X 和 Y为低位字),试说明下列程序段做什么工作?MOV DX,X+2MOV AX,XADD AX,XADC DX,X+2CMP DX,Y+2JL L2JG L1CMP AX,YJBE L2L1:MOV AX,1JMP SHORT EXITL2:MOV AX,2EXIT:INT 20H29、MOV AX, 9090HSUB AX, 4AE0HJC L1JO L2JMP L3上述程序执行后 AX=_______,程序转向_______30、假设寄存器 AX=1234H,DX=0A000H26 MOV BX, 0MOV CX, BXSUB CX, AXSBB BX, DXMOV AX, CXMOV DX, BX上述程序段执行后 AX=_______ ,DX=_______程序功能是_______31、BUF DB 45H, 68H, 7AH, 35H, 39H…MOV DI, OFFSET BUFMOV CX, 5MOV AL, ‘a'CLDREP STOSB该程序段执行后,BUF 中的内容是_______ ,方向标志 DF=_______32、假设寄存器 AX=5AH,CX=23H…MOV DL, 0LOP:SUB AX, CXJC NEXTINC DLJMP SHORT LOPNEXT:ADD AX, CXHLT上述程序段执行后,AX=_______,DL=_______用数学表达式指明程序功能:_______33、A DW 1234HB DW 5678H:PUSHAPUSHBPOPAPOPB试回答:A.上述程序段执行后(A)=,(B)=。

      B.设执行前 SP=2000H,执行后 SP=34、现有下列程序段:MOVAX,6540HMOVDX,3210HMOVCL,04SHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CL27 ORDL,BL试问上述程序段运行后,(AX)=,(BL)=,(DX)=35、分析下面程序段,MOV AL,200SAR AL,1MOV BL,ALMOV CL,2SAR AL,CLADD AL,BL试问程序段执行后(BL)=,(AL)=36、程序段如下:BLK1 DB 46,84,34,-5,20,122,73:MOV CX,7LEA S1,BLK1NEXT: MOV AL,[SI]INC SITEST AL,81HLOOPZ NEXTMOV BL,[SI]:请回答程序段运行后:(AL)=,(BL)=37、STRING DB ‘ABCDEFGHI’:MOV AH,01;从键盘输入字符 1~9INT 21HAND AL,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV DL,[BX]MOV AH,02H ;显示输出INT 21H:试回答:(1)上述程序段的功能是什么?(2)如从键盘输入字符‘4’,程序段有什么结果?38、 AND AL,ALJZBRCH1RCR AL,1JZBRCH2RCL AL,1INC AL28 JZBRCH3:上述程序运行后,试回答:(1)当(AL)=时,程序转向 BRCH1(2)当(AL)=时,程序转向 BRCH2(3)当(AL)=时,程序转向 BRCH339、MOV AX,0BC5FHMOV BX,0C0FBHXOR AX,BXXOR AX,BX上述程序段运行后,AX=___________,CF=_____________40、HEXDB ‘0123456789ABCDEF’HCOD DB?,?┇MOV BX,OFFSET HEXMOV AL,1AHMOV AH,ALAND AL,0FHXLAT HEXMOV HCOD[1],ALMOV CL,12SHR AX,CLXLAT HEX MOV HCOD,AL上述程序段运行后,HCOD 和 HCOD+1 两字节单元内容是什么?41、DATA SEGMENTORG 3040HYY1 DB 30H,40HYY2 DW 3040HDATA ENDS┇MOV BX,OFFSET YY1MOV AX,[BX]MOV CL,BYTE PTR YY2+1MOV CH,TYPE YY2上述程序段运行后,AX=___________,BX=____________,CX=___________42、A DB 0F8HB DB 3 DUP(?)┇LEA DI,BMOV CX,3MOV AL,A LOP:SAR AL,1MOV [DI],ALINC DILOOP LOP29 上述程序段运行后,从B 单元开始依次存放的数据的多少?43、已知 BUF 开始的数据区中存放有 10 个大、小写字母,下面程序段完成的功能是什么?MOV CX,10LEA BX,BUFK2:MOV AL,[BX]CMP AL,‘Z’JBE K1SUB AL,20HMOV [BX],ALK1:INC BXLOOP K2┇44、MOV CL,8MOV AL,0NOT ALROL AL,CLCMP AL,0FFHJZ NEXTMOV AL,0NEXT:……上述程序段运行后, (AL)=___________,CF=___________45、已知 AX=1234HMOVBX,AXNEGBXADD AX,BX执行上述三条指令后,AX=BX=。

      46、程序段完成什么功能?MOVCL,04SHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CLORDL,BL47、BUF1DB41H,42H,43H,44H,45H,46HBUF2DB6 DUP(?)…MOVSI,OFFSET BUF1MOVDI,OFFSET BUF2MOVCX,6LOP:MOVAL,[SI]SUBAL,7ANDAL,0FHMOV[DI],ALINCSI30 INCDILOOPLOP试回答(1)上述程序段执行后,BUF2 开始的 6 个字节存储单元的内容是什么?48、DATA SEGMENTS9 DB 0,1,2,3,4,5,6,7,8,9DATA ENDS……LEA SI,S9LEA,DI,S9+1MOV CX,5LOP:MOV AL,[SI]XCHG AL,[DI]MOV [SI],ALADD SI,2ADD DI,2LOOP LOP上述程序段运行后,S9 开始的 10 个字节存储单元内容是什么?五、程序填空题五、程序填空题1、下面程序段的功能是把DA1 数据区的数 0-9 转换为对应的 ASCII 码,并存入ASCI 数据区试完善本程序段DA1DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09HASCIDB10 DUP(?)CUNT = ASCI-DA1……LEASI,DA1LEADI,ASCILOP1:MOV AL,[SI]MOV[DI],ALINCSIINCDILOOPLOP12、设A,B 是长度为 10 的字节数组,用串操作指令编写程序实现A,B 两数组内容的相互交换。

      试完善本程序DATA SEGMENTADB 1,2,3,4,5,6,7,8,9,0AHORG0010HBDB 0AH,9,8,7,6,5,4,3,2,1DATA ENDSLEASI,ALEADI,BMOVCX,1031 LOP:LODSBXCHGAL,[DI]DECDISTOSBINCDILOOPLOP3、某程序段欲用单个字符显示的2 号 DOS 功能调用去显示一字符串“STRING”试在下面空白处填上适当的指令 (每一空白处仅填一条指令)STR1 DB ‘STRING’┇MOV CX,6MOV BX,OFFSET STR1LOP:MOV DL,[BX]MOV AH,02HINT 21HA.______B.______JNE LOP4、程序段的功能是依次产生0~9 的 10 个 ASCII 码,并存入 BUF1 数据区,请在空白处填上指令(每一空白处仅填一条指令)BUF1 DB 10 DUP(?)┇LEA BX, BUF1MOV CX,10XOR AL,ALLOP: MOV AH,ALADD AL,30HA.______INC BXB.______INC ALLOOP LOP5、下面程序段是判断寄存器AH 和 AL 中第 3 位是相同,如果相同,AH 置 0,否则 AH 置全 1。

      试把空白处填上适当指令AND AH,08H_____________________MOV AH,OFFHJMP NEXTZERO:MOV AH,0NEXT:……6、以BUF 为首址的字节单元中,存放了COUNT 个无符号数,下面程序段是找出其中最大32 数并送入 MAX 单元中BUF DB 5,6,7,58H,62,45H,127,……COUNT EQU $-BUF;COUNT 等于变量 BUF 的字节数MAX DB?┇MOV BX,OFFSET BUFMOV CX,COUNT-1MOV AL,[BX]LOP1:INC BX_____________________JAE NEXTMOV AL,[BX]NEXT:DEC CX_____________________MOV MAX,AL7、在表 TABLE 处存放着 N 个无符号字节数, 求表中前 10 个字节数的总和并保存在AX 寄存器中如果总和值超过AX 寄存器的容量,则置AX 寄存器内容不变请在程序中的空格处填入适当指令使其完整LEA BX,TABLEMOV CX,10MOV SUM,AXNEXT:(1)ADC AH,0JNC DONJC ENDO(2)DON:INC BX(3)ENDO:HLT8、BEG 为起始地址的存储区域中存放有100 个字节数据,现将其首、尾颠倒过来,重新排放这 100 个字节数据。

      请在程序中的空格处填入适当的指令使其完整MOV CX,32HLEA SI,BEGMOV DI,SI(1)DON:MOV AL,[SI](2)MOV [SI],AL(3)DEC DILOOP DONHLT9、下列程序段求数组 FLD 的平均值,结果在AL 中请将程序填写完整(不考虑溢出)33 FLD DW 10, -20, 30, -60, -71, 80, 79, 56_______MOV CX, 8XOR AX, AXR1:_______ADD SI, 2LOOP R1MOV CL, 8IDIV CLHLT10、已知数据段DAT 单元存放某一数 N(-6≦N≦6)下面的程序段用查表法求数N 的平方值,结果送 SQR 单元,请将程序填写完整TABLE DB 0,1,4,9,16,25DAT DB NSQR DB ?LEA BX, TABLEMOV AL, DAT_______JGE NEXT_______NEXT:XLATHLT11、设AX,BX 中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW 单元中存放,请将程序中所缺指令语句补上TEST AX,8000HMOV PLW,BXJMP DONEK1:DONE:12、现有下列数据段:DATASEGMENTSTR1DB‘ABCDEFGHIJKL’COUNTEQU$-STR1BUF DB COUNT DUP(0)DATAENDS下面程序段是实现把 STR1 中所有字符逆向传送到BUF 缓冲区(即 STR1 中第一个字符送到 BUF 的最后一个单元,STR1 中最后一字符送到BUF 的第一个单元)。

      试把程序中所空缺的指令填上MOV SI,OFFSET BUF-1MOV DI,OFFSET BUFMOV CX,COUNTLOOP:MOVSB34 LOOP LOP13、DA1 数据区中有 50 个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入 DA2 数据区中请将程序补充完整MOV CX,50LEA SI,DA1LEA DI,DA2K1:MOV AL,[SI]___________MOV [DI],ALINC SIINC DIDEC CX___________14、下面程序段完成将存储单元A1 中一个压缩型 BCD 码拆成二个非压缩型BCD 码,高位BCD 码存放在 A3 单元,低位 BCD 码存放在 A2 单元,再分别转换为对应的ASCⅡ码请将程序补充完整MOV AL,A1MOV CL,4___________OR AL,30HMOV A3,ALMOV AL,A1___________OR AL,30HMOV A2,AL15、下面程序段是判断寄存器AH 和 AL 中第 3 位是相同,如相同,AH 置 0,否则 AH 置全 1试把空白处填上适当指令AND AH,08H_____________________MOV AH,OFFHJMP NEXTZERO:MOV AH,0NEXT:……16、程序段的功能是依次产生0~9 的 10 个 ASCII 码,并存入 BUF1 数据区,请在空白处填上指令(每一空白处仅填一条指令)。

      BUF1 DB 10 DUP(?)……LEABX, BUF1MOVCX,10XORAL, ALLOP: MOV AH,ALADDAL,30H35 ____________INCBX____________INCALLOOPLOP17、下面程序执行后, AL 的内容为 ARRAY 数组中的最小数, 请在空白处各填上一条指令ARRAY DB 3,5,- 3,- 2,4,5,- 8,6……MOV CX,7MOV DI,0MOV AL,ARRAYA1: INC DIJLE A2MOV AL,ARRAY [DI]18、下面程序段的功能是把DA1 数据区的数 0-9 转换为对应的 ASCII 码,并存入 ASCI 数据区试完善本程序段DA1DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09HASCIDB10 DUP(?)CUNT = ASCI-DA1……LEASI,DA1LEADI,ASCILOP1:MOV AL,[SI]MOV[DI],ALINCSIINCDILOOPLOP1六、编制程序题六、编制程序题1、设在数据段中有 X,Y 两变量(字节单元),试编写程序段计算(只写有关程序功能的指令):Y= X当 X >=0Y= 0当 X<02、A1 单元开始定义了一长度为N 的字符串, 找出其中所有的小写字母并存放到以A2 单元开始的存储区中。

      统计出小写字母的个数,存放到SL 单元中请编一完整的源程序3、已知 DAT1 字节单元有一个数据,试编制一程序段将该数据的低4 位变为 1010B,最高位(第 7 位)置 1,其余 3 位不变,结果送 DAT2 字节单元4、在 N1 和 N2 两数据区中,分别有 10H 个带符号数试编制一源程序,找出对应项中较小的数据, 并将这些较小的数据存入N3 数据区中 (要求: 对应项比较时必须用 CMPS 指令) DATA SEGMENT36 N1 DB ××,××,××,…………N2 DB ××,××,××,…………N3 DB 10H DUP(0)DATA ENDS5、加密移动字符串,设缓冲区 SBUFF 中有 20 个小写字母 a,将每个 a 加上它相对于缓冲区的位移量后传送到缓冲区DBUFF6、 在 BUF1 和 BUF2 两个数据区中, 各定义有 10 个带符号字数据, 试编制一完整的源程序,求它们对应项的和,并将和数存入以SUM 为首址的数据区中DATA SEGMENTBUF1 DW-56,24,54,-1,89,-8,……BUF2 DW45,-23,124,345,-265,……SUM DW10 DUP(0)DATA ENDS7、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

      8、设在内存单元SQTAB 首址开始存放了 0~15 的平方数表要求用直接查表法编一程序,求出 A 单元中给定数(<=15 =的平方值送 B 单元保存9、已知存储器中有一个首地址为ARRAY 的 100 个字数组,现要求把数组中的每个数加1(不考虑溢出的可能性),试编制完成此功能的程序段10、.编写一段程序,如果字节变量 TESTONE 和 TESTTWO 相等,则调用子程序, 显示‘#’;否则调用 NOTSAME 子程序,显示‘!’11、已定义了两个整数变量A 和 B,试编写程序完成下列功能:A.若两个数中有一个是奇数,则将奇数存入A 中,偶数存入 B 中B.若两个数均为奇数,则将两数均加1 后存回原变量C.若两个数均为偶数,则两个变量均不改变要求各段定义完整,并画出程序流程图)12、 假设 DATAX 和 DATAX+2 单元存放双字 P, DATAY 和 DATAY+2 单元中存放双字 Q,编程计算 2P-Q,差在 DX,AX 中若 OF=1,程序转 OVERFLOW,否则转 NOOVER (只写与试题要求有关的指令语句)13、已知在数据区 BUF1 和 BUF2 分别存放 20 个字节数据。

      编程检查两数据区中的数据是否相同若完全一致,则将标志单元FLAG 置 FFH,否则置0,并将第一次出现的不同数据的地址分别存放在 ADDR1 和 ADDR2 单元中要求:源程序格式完整14、设 X、Y、Z、W 为十六位有符号数编程计算:W ←(X + Y * Z)/8 -Y 除法余数丢弃若 ZF=1 ,程序转 EQ;否则转 NOT_EQ15、已知在以 ARRAY 为首地址的数据区中存放10 个带符号字数据:ARRAYDW1,2,-1,3,4,-2,-3,4,5,-6编程将 ARRAY 分成两个数组:正数数组P_ARY 和负数数组 N_ARY,并分别显示正数项个数和负数项个数要求:源程序格式完整16、X,Y,Z 三个字节存储单元中各有一个无符号数,其中有两个数据相等,找出不相等的哪个数,并存入 W 单元中,试编写完成上述功能的程序段(只编写有关代码部分,勿需书写源程序格式) 17、在数据段偏移量为 100H 开始的存储空间内连续存放着 10 个字节型无符号二进制数,37 编写一段程序,求出该 10 个数之和,并将结果存放在寄存器AX 中18、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

      2.已知有 256 个字节整数 A1、A2、A3、……、A256 存放在以 NUMBER 为首址的数据区中, 编写一完整源程序将其中的负数去除后剩下的正数重新排序存放在以PLUS 开始的数据区中19、在数据段中有一个首地址为array 的未排序的 50D 字节的正整数数组,请编写一程序,找出其中的最大数和最小数及最大数和最小数的个数20、A1 单元开始定义了一长度为N 的字符串,找出其中所有的小写字母并存放到以A2 单元开始的存储区中统计出小写字母的个数,存放到SL 单元中请编一完整的源程序数据段如下:DATASEGMENTA1DB‘……’NEQU$ -A1A2DBN DUP(?)SLDB?DATAENDS38 《汇编语言程序设计》模拟试题答案一、单选题:一、单选题:1C16B31B46A61D76B91BACCCDD2A17C32D47A62A77C92BAABBBA3D18B33D48D63B78C93ADBDBCC4A19C34A49A64D79A94AABCCA5B20A35B50C65D80C95DCBBBC6A21D36B51C66C81A96A111BACCB7A22C37B52A67D82B97CADACB8D23B38D53A68C83C98DDACBD9C24C39D54D69B84A99DBDDCC10A25D40D55C70B85DBBBBBC11D26A41A56D71C86DDAAABB12D27D42D57A72B87DAADDCC13A28D43C58D73C88DCDAACD14D29D44B59A74A89DCDBDAA15A30D45B60A75B90BCCBDDC100101102103104105106107108109110112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176176177178179180181182二、填空题:二、填空题:1. 20H2.立即数3. 554. DS*10H+SI+20H5.AX6. 64K7. 23456H8. 指令性、指示性、宏指令9. 相对基址变址10. IP、CS11. 6DH、9BH12. 0、10H13. 2000H、120H三、简答题:三、简答题:1.(1) (IP)←( (SP) , (SP)+1)(2) (IP)←( (SP) , (SP)+1)(CS) ←( (SP)+2, (SP)+3)2.(1) MOVCX ,LENGTHDAT1(2) MOV CX,DAT2-DAT13.12488H232D7H31040H4. A. CX不能做间址寄存器B. 源操作数和目的操作数不能同时为存储器操作数C. 标号没有 BYTE 属性D. 循环次数大于 1 时应先至于 CL 中39 E. 没有指定移位次数5.AX=5030HAX=0503H6.9,计算分配给以上变量的存储单元的个数7.A =5678HB =1234H8.(1)20H(2) 0AH(3) ‘U’9. 把 DAT1中的后十个元素放到 DAT2中10.(1)为 VAR3 分配 4 个字节单元;(2)为 VAR4分配 10 个字节单元。

      11.(1) IP=_1256H_(2) IP=3280H_12. AND AL,0FEH;OR AL,4H;XOR AL,0FAH13.POP DXPOP CXPOP BXPOP AX14.(1)SBB AX,0520H(2)MOV AX,SEG TABL15. ① LEA SI,D1② MOV SI,OFFSET D1③ MOV SI,D216. (1)21500H(2)22500H-21500H=1000H(3)64K 因为分段要求最大为 64K17. BX=100HCX=22H18.(1)相同点:都是做减法不同点:SUB 指令将结果回送给目的操作数,CMP 指令不回送给目的操作数(2)相同点:都是做与操作不同点:AND 指令将结果回送给目的操作数,TEST 指令不将结果回送给目的操作数19.A. 没有区别B. 第一条指令是短跳转,第二条指令是近跳转;C. 第一条指令 BX 的内容作为偏移地址,而第二条指令是把BX 的内容送给 AX;D. 第一条指令是 DX 和 CX 相减结果送给 DX,第二条指令也是把DX 和 CX 相减,但不影响每个寄存器的内容,只影响标志位;E.第一条指令目的操作数在堆栈段,第二条指令目的操作数在数据段。

      20.(1)将调用参数装入指定的寄存器2)如需功能调用号,把它装入AH3)如需子功能调用号,把它装入AL4)按中断号调用 DOS 或 BIOS5)检查返回参数是否正确例如:MOVAH,2INT 21H21. A. NOT CLB. OR BX,0FHC. AND AX,0FFF0HD. XOR CX,0FFF0HE. TEST DL,01001000B40 22.第一个 AND 是与指令,而第二个AND 是逻辑与运算23.(1)005CH (2)00DCH (3)05CCH24.(1)MOV AL, 25H(2)SHL AL, 1(3)MOV BL, 15H(4)MUL BL最后,(AX)=612H =155425.NEG DXNEG AXSBB DX,026.(1) (IP)←( (SP) , (SP)+1)(2) (IP)←( (SP) , (SP)+1)(CS)27.(AL)=2, (BL)=10, (CL)=2028.(1)20H(2)10(3)’U’29.MOV AX,ES:[9000H]30.① 0FFFFH ② 4567H31. MOV AX,WORDPTRDAT1+1MOV BL,BYTEPTRDAT2+132.MOV CX,LENGTHDA1MOV CX,DA2-DA133.(1)DB1 DW 2000H(2)CUNT EQU 2000HDB1 DW CUNT(3)DB1 DW ?MOV DB1,2000H34.12488H,232D7H,31040H四、程序分析题:四、程序分析题:1、AH= 0,AL= 92、AL= 80H,CF= 03、AX= 0,BX= 0EDCCH4、(1)0AH,0BH,0CH,0DH,0EH,0FH(2)功能不变5、DX 中存放的是字符串中’$’字符的个数。

      6、① BL=7② 本程序段是可以的7、① (DA2)=87② 不可以8、AL=___0FFH___,BL=__0FFH____9、4860H,CF=110、DL=_0FFH___或___0FEH___11、① AH=__4____,AL=___34___②AH=___6___,AL=___50___12、AH=__5____,AL=___6___13、AX=0FFFFH, CF=114、AL=79H, BL=06, CL=7FH15、AH=60H, AL=35H←( (SP)+2, (SP)+3)41 16、1,0,3,2,5,4,7,6,9,817、 (DATA1 )=3000H,(DATA2)=2000H18、 (CX)=44AAH, (DX)=44D5H19、(1)该程序段已占有的存储字节数是8 个字节2)符号名 DA4 的值为 2,符号名 DA5 的值是 0026H20、(AX)=0012H (BX)=1221H(CX)=0200H21、(1)在以 ADRR 为起始地址的数组中,查找第一个非0 数据2)若找到则将第一个非 0 数据在数组中的偏移量送入RETT 单元中;若无非 0 数据,则将 0FFH 送入 RETT 单元中。

      22、(1)子程序的功能是判别AL 和 BL 中的数是否为异号数,当为异号时交换,否则不变2)AL=77H,BL=9AH23、(1)该程序完成的功能是从20H(32)个有符号数中找出最小的数送入RESULT 单元中2)该程序的循环次数是1FH(31)24、RESULT+2 字存储单元的内容是 MAX(X1, X2, … XN )BX= 100H + 2×(COUNT-1)程序循环次数=COUNT25、A. AX=1B. AX=2C. CX=20D. DX=40E. CX=126、AL=12027、第一条指令是把 AX 算术左移一位;第二条指令是把DX 带进位循环左移一位28、首先把 P 乘上 2,然后比较 2P 的高 16 位与 Q 的高 16 位,如果前者小于后者,则把AX 置上 1,如果前者大于后者,则把AX 置上 2,如果相等,则比较 2P 的低 16 位和 Q 的低 16 位,如果前者小于等于后者,则把AX 置上 2,如果前者大于后者,则把AX 置上 129、45B0HL330、 AX=EDCCHDX=5FFFH31、61HDF=032、 AH=04HDL=2实现 DL=AX/CXAX=AX MOD CX33、 ①(A)=5678H(B)=1234H②SP=2000H34、(AX)=5400H(BL)=06H(DX)=2106H35、(BL)=0E4H(AL)=0DDH36、(AL)=-5 或 0FBH(BL)=14H 或 2037、①程序段功能:根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。

      ②显示器显示字符‘D’38、①(AL)=0,②(AL)=1,③(AL)=-139、AX=_305FH_,CF=不变40、HCOD 和 HCOD+1 两字节单元内容是 1 和 A41、AX=___4030H________,BX=___3040H________,CX=__0230H_______42、0FCH,0FEH,0FFH43、把小写字母改成大写字母42 44、 (AL)=__0FFH_________,CF=____1_______45、AX=0BX=EDCCH46、将 DX:AX 中的双字乘以 1647、0AH,0BH,0CH,0DH,0EH,0FH48、1,0,3,2,5,4,7,6,9,8五、程序填空题:五、程序填空题:1、MOV CX,CUNTADD AL,30H2、该题有错误3、①INC BX②DEC CX4、①MOV [BX],AL②MOV AL,AH5、 XORAH, ALJZZERO6、CMP AL, [BX]JNZLOOP17、(1) ADD AL,[BX](2) MOV AX,SUM(3) LOOP NEXT8、(1) ADD DI,99(2) XCHG AL,[DI](3) INC SI9、LEA SI , FLDADD AX,[SI]10、CMP AL ,0NEG AL11、 ①JE K1 或 JZ K1②MOV PLW,AX12、 ①CLD②SUB SI,2或①STD ②ADD DI,213、XOR AL,0FHJNZK114、SHR AL,CLAND AL,0FH15、 XOR AH,ALJZZERO16、MOV [BX] AL,MOV AH,AL17、 CMP AL,ARRAY[DI]A2:LOOPA118、 MOV CX,CUNTADD AL,30H43 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.