欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年汇编语言程序设计练习题及参考答案 .pdf

    • 资源ID:27234871       资源大小:174.37KB        全文页数:17页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年汇编语言程序设计练习题及参考答案 .pdf

    1 一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。 1 用来存放下一条将要执行的指令地址的寄存器是 (B ) A SP BIP C BP D CS 2 要使串处理从低地址向高地址进行,应把标志位置为 (D ) A IF=1 BTF=0 C DF=1 D DF=0 3 使状态标志位CF清零的错误指令是 (C ) A OR AX,AX BSUB AX ,AX C MOV CF ,0 DCLC 4 设 SP=1110H ,执行 PUSH AX指令后, SP的内容为 (B ) A SP=1112H BSP=110EH C SP=1111H DSP=110FH 5 汇编源程序出现语法错误的指令有 (D ) A MOV BX+SI, AL B. MOV AX,BP+DI C MOV DS ,AX D. MOV CS,AX 6 下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D ) A STOSW B LODSW C SCASW D CMPSW 7 设 BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B ) A SHR BL ,1 B SHL BL,1 C SAR BL,1 D RCR BL ,1 8 执行 PUSH AX指令的正确步骤是 (A ) A 1SP SP-1, (SP) AH B1(SP) AH ,SP SP-1 2SP SP-1, (SP) AL 2(SP) AL,SP SP-1 C 1SP SP+1 , (SP) AH D1(SP) AH ,SP SP+1 2SP SP+1 , (SP) AL 2(SP) AL,SP SP+1 9 CF=1 时转移到目标地址的条件转移指令是 (B ) A JNC BJC CJZ DJS 10 在执行 NEG指令时,对标志位CF有影响,其影响的规则是 ( C ) A 对正数求补时,CF=0 B对负数求补时,CF=0 C 对非零数求补时,CF=1 D对零求补时,CF=1 11 算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A ) A 目的操作数最高位为0 B目的操作数最高位为1 C 目的操作数为任意情况 D无论什么情况都不可能相同 12 设 AL=04H ,BL=0F8H ,执行 IMUL BL 指令后,结果是 ( D ) AAX=0032H BAX=00E0H CAX=03E0H DAX=0FFE0H 13 指令的操作数中,允许出现表达式,例如BUF1与 BUF2均为变量名,下面指令中语法正确的是 (D ) AMOV AX ,BUFl*BUF2 BMOV AX ,BUF1/BUF2 CMOV AX ,BUF1+ES :BUF2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 2 DMOV AX ,BUF2-BUF1 14 下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C ) AINC WORD PTR BX+SI BINC CX,SI+COUNT CNEG BYTE PTR BX DADD AX ,B 15 NUM EQU 80H DA DB 34H AND DA,NUM 上述语句执行后,DA中的内容是 (D ) A0B4H B 80H C 34H D0 16 直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A ) A立即、直接、间接 B直接、间接、立即C直接、立即、间接 D不一定 17 语句 DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D ) ADA1 DB 3,5,7 BDA1 DB 2,3,5,7 CDA1 DB 3,5,7,2 DDA1 DB 3,5,7,3,5,7 18 MOV AL,80H MOV CL,2 SAR AL,CL 上述指令序列执行后,结果是 (D ) AAL=40H BAL=20H CAL=0C0H D AL=0E0H 19 下面是实现将AL 内容加 1 的压缩型 BCD码加法程序段,其中正确的指令序列是 (A ) AINC AL BADD AL ,1 DAA DAS CADD AL,1 DSTC DAA AAA 20 现有数据存储如图所示: 30100H 30101H 30102H 30103H 设 AL=01H ,BX=0100H ,DS=3000H执行换码指令XLAT后正确的结果是( B ) A AL=20H BAL=38H C AL=00H DAL=41H 21若定义DAT DW A ,则 (DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B ) A 0041H B4100H 20H 38H 41H 55H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 3 C xx41H D41xxH 注 选项 C. 和 D中的 XX表示任意数据。 22 假设 VAR为变量,指令MOV BX,OFFSET VAR 的寻址方式是 ( C ) A 直接寻址 B间接寻址 C 立即寻址 D存储器寻址 23 下列指令中,不影响标志位的指令是 ( A ) A SUB BX,BX BROR AL,1 C JNC Label DINT n 24 假定 (DS)=4000H,(DI)=0100H ,(401OOH)=55H ,(40101H)=AAH,试问执行指令LEA BX,DI后, (BX)= (C ) A 0100H B55AAH C AA55H D4100H 25 直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A ) A直接、立即、间接 D直接、间接、立即C立即、直接、间接 D不一定?26MOV AX,ES:BXSI的源操作数的物理地址是 (B ) A16 (DS)+(BX)+(SI) B16(ES)+(BX)+(SI) C. 16 (SS)+(BX)+(SI) D16(CS)+(BX)+(SI) 27 已知: VAR DW 1,2,$+2,5,6 若汇编时VAR分配的偏移地址是0010H,则汇编后0014H单元的内容是: ( D ) A 6H B14H C5H D16H ? 28. PC 机采用向量中断方式处理8 级外中断,中断号依次为08H0FH,在 RAM 0:002CH单元开始依次存放23H、FFH 、00H 和 FOH四个字节,该向量对应的中断号和中断程序人口是 ( B ) A0CH ,23FF:00F0H B 0BH ,F000:FF23H C0BH ,00F0:23FFH D 0CH ,F000:FF23H 29 下列 80X86 指令中,不合法的指令是 (D ) AIN AX,21H BMOV BL,AL CMOVSB DSHL AX,6 30 执行下面的程序段后,(AX)= (B ) DATA SEGMENT TAB DW 1,2,3,4,5,6 ENTRY EQU 3 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:CODE MOV AX,DATA MOV DS,AX . MOV BX,OFFSET TAB ADD BX,ENTRY MOV AX,BX . A0003H B0300H C0400H D0004H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 4 31下面指令中影响状态位CF的指令是 ( D ) AINC AX BDEC AX CNOT AX D NEG AX 32判当 CX=0时,转 ZERO 执行的错误指令是 (D ) ACMP CX,0 BMOV AX,CX JZ ZERO JZ ZERO COR CX,CX D. JCXZ ZERO JZ ZERO 33执行 1 号 DOS 系统功能调用后,从键盘输入的字符应存放在 (A ) AAL 中 BBL中 CCL 中 DDL中 34设数据定义如下: ARRAY DW 1,2,3 执行指令 ADD SI,TYPE ARRAY相当于完成下面同等功能的指令是 (B ) AADD SI,1 BADD SI,2 CADD SI,3 DADD SI, 0 35设数据定义如下: BUF DW 100 DUP(?) 执行指令: MOV CX,LENGTH BUF 相当于完成下面同等功能的指令是 (D ) AMOV CX,00C8H B. MOV CX,0200H CMOV CX,0064H DMOV CX,0100H 36完成对字单元BUF的内容加 1 运算,下面错误的指令是 (C ) AMOV BX,BUF B MOV BX,OFFSET BUF INC BX INC WORD PTR BX MOV BUF,BX CMOV BX,BUF D MOV BX,0 INC WORD PTR BX INC WORD PTR BUFBX 37完成对寄存器BX的内容求补运算,下面错误的指令是 (D ) ANEG BX BNOT BX INC BX CXOR BX,0FFFFH D MOV AX,0 INC BX SUB AX,BX 38判当 AX的内容为负数时,转MINUS执行,下面错误的指令是 ( D ) ANOT AX BTEST AX,8000H JNS MINUS JNZ MINUS CSHL AX,1 DOR AX,AX JC MINUS JZ MINUS 39下面指令序列执行后,正确的结果是 ( D ) MOV AL,0FEH ADD AL,AL ADC Al,AL AAL=0F8H B AL=0F8H CF=1 CF=0 CAL=0F9H D AL=0F9H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 5 CF=0 CF=1 40 现有数据存储如图所示: 30100H 30101H 30102H 30103H 设 AL=01H ,BX=0100H ,DS=3000H执行换码指令XLAT后正确的结果是( D ) A AL=00H BAL=4OH C AL=01H DAL=79H 41、一个 8 位二进制数的补码为1000 1010 ,其原码的16 进制形式为CA-0AH B-75H C-76H D8AH 42、1 号 DOS功能调用时,欲将得到的数字的ASCII 码转换为该数的实际数值时,可使用A 指令来实现。AAND BOR C XOR DNOT 43、设 DS=8225H ,DI=5678H,指令 MOV AX,DI 源操作数的物理地址是DA8D89DH B86198H C8B698H D878C8H 44、指令 JG LAB 是指当标志满足_B_条件时转移到标号LAB处执行 A(SF XOR OF) OR ZF)=1 B(SF XOR OF)=0 AND ZF=0 C (SF XOR OF)=0 OR ZF=1 DCF = 1 45、8086 汇编语言中, BCD码的运算是借用二进制数的运算指令并加以调整来实现的。其中非压缩型 BCD码减法的调整指令为_C_ AAAA B DAA C AAS D DAS 46、除法指令中,对于双字除以字运算,商在_A_寄存器中。AAL BAH C AX D DX 47、 MOV AX,COUNTSI 的源操作数在 _B_ ACS段BDS段C SS 段D ES 段48、汇编程序至少必须有一个_A_ ACS段BDS段C ES 段D SS 段49、 LOOPNE 指令当满足 _C_时执行循环操作。 AZF=1 且 CX=0 BZF=1且 CX 0 CZF=0 且 CX 0 DZF=0且 CX=0 50、 如果一标号与访问它的JMP指令之间的相对位移量在-128+127 字节的范围内, 则可将该标号说明为 _C_转移 AFAR B NEAR C SHORT D MIDDLE ?51、 10 号功能调用可从键盘上输入一串字符,调用时_B_应指向一输入缓冲区。 ADS:AX B DS:DX CES:AX D ES:DX 52、 串操作指令中,目的串通过_D_两个寄存器寻址: ADS ,SI BDS , DI C ES,SI D ES, DI 53、将 DX的内容除以2,正确的指令是C_。ADIV 2 BDIV DX,2 CSAR DX ,1 DSHL DX ,1 ?54、在 END语句中的标号名称能提供_B_寄存器的数值,作为程序执行时的起始地址。40H 79H 24H 30H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 6 ADS:SI B CS:IP CES:DI DSS:SP 55、段内调用时CALL指令将 _B_保存进栈,以供过程返回时使用。 ACS BIP CCS:IP DSS:SP 56、执行后使BX=0 的同时也使CF=0,OF=0 的指令是(A)AXOR BX , BXBOR BX , BX C AND BX , BXD CMP BX , BX ?57、在执行 DAA 指令,当高四位BCD 码校正时产生进位,如要把此进位值送入AH 中,对这进位值的操作应是(C)ADAA 校正指令的功能已自动加在AH 中B进位值在AF 中,校正后根据AF 内容再加在AH 中C进位值在CF 中,校正后根据CF 内容再加在AH 中D进位值在AL 最高位上,校正后根据AL 最高位内容再加在AH 中58、比较两个带符号的数A、 B,当 A=B 时程序转移,测试的条件为(C)A ZF=1BZF=0 C SF=1DSF=0 59. 设物理地址 (21000H)=20H,(21001H)=30H ,(21002H)=40H 。如从地址21001H中取出一个字的内容是 (D ) A.2030H B.3040H C.3020H D.4030H 60. 没有语法错误的输入指令是(A ) A.IN AL ,30H B.IN 30H ,AL C.IN DX ,AL D.IN AL, BX 61. 汇编语言源程序,可以是(D ) A.可以直接由机器执行B.必须由编译程序生成目标程序才能执行C.必须由解释程序生成目标程序才能执行D.必须由汇编程序汇编成目标程序才能执行62. 设 NUM1 EQU 100 NUM2= 64H 下面指令执行后,使BL中为全 1 的指令是 (A ) A.MOV BL,NUM1 EQ NUM2 B.MOV BL,NUM1 LT NUM2 C.MOV BL ,NUM1 NE NUM2 D.MOV BL,NUM1 GT NUM2 63. 循环指令 LOOPNZ 终止循环 的条件是 ( B ) 。A、CX=0 ,且 ZF=0 B、CX=0 ,或 ZF=1 C、CX10 ,且 ZF=0 D、CX10 ,或 ZF=1 64. 在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(D ) 。A、WORD B、PAGE C、BYTE D、PARA 65.BUF DW 10H DUP(3 DUP(2,10H),3,5) 上述语句汇编后,为变量BUF分配的存储单元字节数是( A ) 。A、80H B 、100H C、124 D 、192 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 7 二、填空题1Intel 8086/8088CPU共有20 根地址线,可直接寻址220字节存储空间。2ADD是一条双操作数指令,即一条指令有源操作数和目的操作数。例如指令 ADD OPR1 ,OPR2中的源操作数是OPR2,目的操作数是OPR1 。3 8086/8088的存储器是分段的, 因此存储单元的物理地址是由段地址和偏移地址组合而成的。4PSW 是一个八位的寄存器。5 用DW 1234H语 句 定 义 的 一 个 字 , 如 改 用DB 定 义 时 , 其 语 句 是DB34H,12H 。6执行 ADD AX ,BX指令后产生溢出则转移到ERROR 处执行。那么在ADD指令后,如AX , BX中是带符号数时,应选用的条件转移指令是 JO ,如是无符号数时,应选用的条件转移指令是JC。7. 8086/8088CPU 允许的最大存储空间为 1M , 其地址编号从00000 H到 FFFFF H。8汇编语言是一种面向机器的语言。完成将汇编语言源程序翻译成机器语言目的程序的翻译程序称汇编程序。9 8086/8088的存储器是分段的, 因此存储单元的物理地址是由段地址和偏移地址组合而成的。10标号和变量( 名字 ) 均有三种属性,它们是段、 偏移和 类型属性。11判断无符号数运算是否溢出应根据CF 标志位;而判断有符号数运算是否溢出应根据OF 标志位。?12在 16 位存储单元中能存储的最大无符号数为65535,能表示的有符号数的范围是 H到 103E7 H。-216216-113.若 DS=0F3EH,SI=2000H, COUNT=0A8H ,指令 MOV AX , (SI+COUNT )中,源操作数的有效地址 EA 为_20A8H _,其物理地址为_11488H_。14.当标志位 _CF_=1 时表示无符号数运算产生溢出,而当标志位_OF_=1 是表示带符号数运算产生溢出。三、程序分析题 1 MOV AX,0F0FH AND AX,0FFFH OR AX,0F0FH XOR AX,00FFH 上述程序段运行后,AX= 0FF0H,CF= 0 2 MOV AX ,BX NEG AX ADD AX ,BX ( 注:BX=0101H) 问:该程序段执行后,AX= 0000H,CF= 1。 3 BUF DW 0000H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 8 LEA BX,BUF STC ;进位位置1 RCR WORD PTR BX ,1 MOV CL ,3 SAR WORD PTR BX ,CL ;算术右移问:该程序段执行后:存储单元BUF的内容为F000H 。 4 BLOCK DB 20H, 1FH ,08H,81H,0FFFH RESULT DB ? START:LEA SI ,BLOCK MOV CX ,SI INC SI MOV AL,SI LOP1: CMP AL,SI+1 JNG NEXT MOV AL,SI+1 NEXT: INC SI LOOP LOP1 MOV RESULT ,AL HLT 问 : (1)该 程 序完 成的 功 能是 :找出 存 储 单元block中 的最 小值。 (2)该程序的循环次数是:20H。 5CODE SEGMENT ASSUME CS: CODE START :MOV CX ,1 MOV BL,2 AGAIN :MOV AL,BL INC BL MUL BL ADD CX ,AX CMP AX ,002AH JB AGAIN MOV AH ,4CH INT 21H CODE ENDS END START 问:(1)该程序所完成的功能可用算术表达式表示为sum=1+2*3+3*4+4*5+5*6+6*7。 (2)该程序完成后CX= 6F。6、ARY DW 10 DUP( ?) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 9 MOV AL ,TYPE ARY MOV BL ,LENGTH ARY MOV CL ,SIZE ARY 上述 MOV 指令序列执行后的结果是什么?Mov al,2 Mov bl,0Ah Mov cl,14H 7、试分析下面程序段的功能是什么? CMP DL,AJB DIS CMP DL,ZJNA DIS LETTER :ADD DL,20H DIS: MOV AH,2 INT 21H ?8、下列指令执行后,AL的内容是什么?MOV AL,53H ADD AL,69H DAA DAA 88H ?9 DS:5000H,CS=6000H ,BX=1278H ,SI=345FH,(546D7H)=00,(546D8H)=80H。分别执行下述两条段内转移指令后,实际转移的目标物理地址各是多少? (1)JMP BX (2)JMP BX+S1 10数据定义语句ARRAR DW 1,2,$+4,3,4,$+5如汇编时ARRAY 分配的偏移地址为000AH,试指出ARRAY 数组数据项 $+4 和$+5 中的 $分别是多少 ?000E,0014 11试按下列要求在数据段中依次书写各数据定义语句: (1)DA1为首字节的连续存储单元中存放20H个重复的数据序列:2,3,10个 4, 一个 7 Da1 db 20h dup(2,3,10 dup(4),7) (2)DA2为字符串变量,用字变量(DW)设置一字符串:STUDENTS(按此顺序存放在各单元中) Da2 dw st , ud, en, ts (3)用等值语句给符号COUNT 赋值以 DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。Count equ $-da1 ?12. MOV DL ,AL NOT DL TEST DL ,04H JE NEXT NEXT :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 10 若上述程序段执行时产生分支,说明AL 中的数第几位一定为1?程序段执行后CF 是多少?3 13MOV BL ,64H MOV CL ,03H XOR AX , AX AGAIN : ADD AL , BL ADC AH ,0 DEC CL JNZ AGAIN 问: ( 1)该程序段完成的功能是:64h*3 放入 ax 中(2) AX=_12C_。14. AT DB 0AH,0BH ,0CH ,0DH ,0EH ,0FH ,00H MOV BX,0 LOP:MOV DL ,AT BX CMP DL,0 JZ DONE ADD DL,37H MOV AH ,2 INT 21H INC BX JMP LOP DONE :上述程序段执行后在屏幕上显示的内容依次是:ABCDEF 执行后BX=_ 6_。15.DATA SEGMENT S9 DB0,1, 2,3,4,5, 6,7,8,9 DATA ENDS LEA SI ,S9 LEA,DI,S9+1 MOV CX ,5 LOP : MOV AL,SI XCHG AL ,DI MOV SI ,AL ADD SI,2 ADD DI,2 LOOP LOP 上述程序段运行后,S9开始的 10 个字节存储单元内容是什么1,0,3,2,5,4,7,6,9,8 四、程序填空题 l、下面子程序完成将调用程序提供的一组字符串中的大写字母改为小写字母。请将程序补充完整。;子程序名: BEXS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - 11 ;功能:将字符串中的大写字母转换为小写字母;人口参数: BX为字符串首地址指针,CX为字符串长度;出口参数:转换后的小写字母存于原单元,并显示输出。;使用的寄存器:AX ,BX ,CX,DX PUBLIC BEXC CODE SEGMENT PARA PUBLICCODE ASSUME CS :CODE BEXS PROC FAR PUSH AX ;寄存器保护PUSH DX LOP1:MOV AL, bx (1) ;取一字符CMP AL, A;判小于 A? J b(2) LOP2 ;若小于 A时转 LOP2 CMP AL , Z;判大于 Z? J a(3) LOP2 ;若大于 Z时转 LOP2 ADD Al, 20h (4) ;当为大写字母时,转为小写字母MOV BX ,AL ;存回原单元MOV DL,AL ;显示输出MOV AH ,2 INT 21H LOP2: INC BX ;修改地址LOOP LOPl ;未转换它,继续循环POP DX POP AX RET BEXS ENDP CODE ENDS 2下面程序利用DOS系统功能调用,完成将键盘输入的小写字母转换成大写字母后输出显示,直到输入 $字符时结束。请将程序补充完整。 CODE SEGMENT ASSUME CS: CODE DISPLAY PROC NEAR BEGIN: MOV AH ,01H INT 21H Cmp al, $(1) JZ STOP CMP AL aJB STOP CMP AL, zJA STOP sub al,20h(2) mov dl,al(3) MOV AH ,02H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 12 INT 21H JMP BEGIN STOP :RET DISPLAY ENDP CODE ENDS 3下面程序段是实现从键盘输入十个一位10 进制数后累加。最后累加和以非压缩BCD码形式存放在 AH(高位 ) 和 AL(低位 ) 中。试把程序段中所空缺的指令填在横线上。 XOR BX,BX Mov cx,10 LOP: MOV AH,01H ;键盘字符输入 INT 21H MOV AH,BH ADD AL,BL Adc ah,bh MOV BX,AX LOOP LOP 4 下面是一个用地址表法实现多路分支的程序段。在 BRCHTAB 处定义了一个多种分支的地址表,程序根据ZYBZ单元中的符号,找到地址表中的对应地址实现转移。请将程序段补充完整。BRCHTAB DW ADDR0 DW ADDR1 DW ADDR2 DW ADDR3 ZYBZ DW 2H START: LEA SI,BRCHTAB MOV AX,ZYBZ Mov si,0 ADD SI,AX Mov bx,BRCHTABsi JMP BX 5.在 NUMW单元存放有一个0-65535 范围内的整数,将该数除以500,商和余数分别存入QU1和 REM 单元,请在空行处各填上一条指令完善该程序。 MOV AX,NUMW _mov bx,500_ XOR DX,DX DIV BX MOV QUI,AX _mov rem,dx_6. NUM 和 NUM+1 单元分别存有一个8 位带符号数,下面程序段将两数中大者NUM 单元,小者名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 13 NUM+1 单元,请在方框处各填一条指令补充完整。MOV AL , NUM CMP AL,NUM+1 ; Jl DONE MOV NUM , AL DONE: ?五、编制程序题1、编写一个过程求6! ,结果放在DX:AX中。data segment n db 6 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov ax,6 mov cx,ax next: dec cx cmp cx,0 jz exit mul cx jmp next exit: mov ah,4ch int 21h code ends end start 2、编写一个加密程序,实现将数据段中YW 开始的 6 个字节原文加密存入MW 开始的 6 个字节中,设 0123456789对应的密码为 9082746315。如原文 YW为 449255, 则加密后MW中为 775844。data segment table2 db 9082746315 yuanwen db yw:449255,0dh,0ah,$ yw db 449255 mw db mw:,$ data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - 14 lea dx,yuanwen mov ah,09h int 21h lea dx,mw mov ah,09h int 21h lea bx,table2 mov si,0 next: mov al,ywsi and al,0fh xlat mov dl,al mov ah,02h int 21h inc si cmp si,6 jb next mov ah,4ch int 21h code ends end start 3、试编写一程序段,在CHAR 为首址的26 个字节单元中依次存放字母A Zdata segment char db 26 dup(?) data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax lea si,char mov al,A next: mov si,al mov dl,si mov ah,02h int 21h inc si inc al cmp si,26 jb next mov ah,4ch 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 15 int 21h code ends end start 4、A1 单元开始定义了一长度为N的字符串, 找出其中所有的小写字母并存放到以A2 单元开始的存储区中。统计出小写字母的个数,存放到SL 单元中。请编一完整的源程序。数据段如下:DATA SEGMENT A1 DB N EQU $ -A1 A2 DB N DUP (?)SL DB ? DATA ENDS data segment a1 db a24d n equ $-a1 a2 db n dup(?) sl db ? data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax lea bx,a1 lea si,a2 mov al,0 mov cx,n next: mov dl,bx cmp dl,a jb count cmp dl,z ja count mov si,dl inc al inc si count: inc bx loop next mov sl,al mov ah,4ch int 21h code ends 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 16 end start 5.编写一完整源程序,将DB1 中的二进制数按位倒排送DB2 中,即 DB1 第 0 位送 DB2 第 7 位,DB1 第 1 位送 DB2 第 6 位,依次类推。DATASEGMENT DB1 DB XX ;任一字节数DB2 DB? DATAENDS data segment db1 db 21h db2 db ? data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov al,db1 mov cx,0 next: clc shl al,1 rcr dl,1 inc cx cmp cx,7 jbe next mov db2,dl mov ah,4ch int 21h code ends end start 6. 在 BUF1 和 BUF2 两个数据区中,各定义有10 个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM 为首址的数据区中。DATA SEGMENT BUF1 DW-56 ,24,54,-1, 89,-8 BUF2 DW45 ,-23,124,345,-265, SUM DW10DUP(0) DATA ENDS data segment buf1 dw -56,24,54,-1,89,-8,43,1,67,-53 buf2 dw 45,-23,124,345,-265,21,34,-3,12,-22 sum dw 10 dup(0) data ends 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 17 code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov cx,10 lea si,buf1 lea di,buf2 lea bx,sum next: mov ax,si mov dx,di cmp ax,0 jl n1 n: cmp dx,0 jl n2 jmp continue n1: neg ax jmp n n2: neg dx continue: add ax,dx mov bx,ax add si,2 add di,2 add bx,2 loop next code ends end start 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -

    注意事项

    本文(2022年2022年汇编语言程序设计练习题及参考答案 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开