欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > PDF文档下载  

    微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf

    • 资源ID:18103232       资源大小:277.05KB        全文页数:15页
    • 资源格式: PDF        下载积分:5积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

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

    微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf

    第五章第五章 汇编语言程序设计汇编语言程序设计 1、画图说明下列语句所分配的存储器空间及初始化的数据值。 (1) BYTE_VAR DB BYTE,12,-12H,3 DUP(0,7, 2 DUP(1,2),7) (2) WORD_VAR DW 5 DUP(0,1,2),7,-5,BY,TE,256H 答: (1) (2) BYTE_VAR 42H WORD_VAR 00H 07H 59H 00H 00H 54H 01H FBH 45H 00H FFH 0CH 02H 59H EEH 00H 42H 00H 00H 45H 07H 00H 54H 01H 01H 56H 02H 00H 02H 01H 02H 02H 00H 07H 00H 00H 00H 07H 01H 01H 00H 02H 02H 01H 00H 02H 00H 07H 00H 00H 01H 07H 00H 01H 02H 02H 00H 01H 00H 02H 00H 07H 01H 00H 02H 00H 2、假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $- PARTNO 问:PLENTH 的值为多少?他表示什么意义? 答:PLENTH 的值为 22,它表示当前已分配单元空间。 3、有符号定义语句如下: BUF DB 1,2,3,123 EBUF DB 0 L EQU EBUF-BUF 问:L 的值是多少? 答:L 的值为 6; 4、假设成序中的数据定义如下: LNAME DB 30 DUP(?) ADDRESS DB 30 DUP(?) CITY DB 15 DUP(?) CODE_LIST DB 1,7,8,3,2 (1) 用一条 MOV 指令将 LNAME 的偏移地址存入 BX。 (2) 用一条指令将 CODE_LIST 的头两个字节的内容放入 SI。 (3) 写一条伪指令定义符使 CODE_LENGTH 的值等于 CODE_LIST 域的实 际长度。 答:(1) MOV BX,OFFSET LNAME (2) MOV SI,WORD PTR CODE_LIST (3) CODE_LENGTH EQU $- CODE_LIST 5、对于下面的数据定义,试说明三条 MOV 语句指令的执行结果。 TABLEA DW 10 DUP(?) TABLEB DB 10 DUP(?) TABLEC DB 1234 答: MOV AX,LENGTH TABLEA ;(AX)=000AH MOV BL,LENGTH TABLEB ;(BL)=0AH MOV CL,LENGTH TABLEC ;(CL)=01H 6、对于下面的数据定义,各条 MOV 指令单独执行后,有关寄存器的内容 是什么? PLDB DB ? TABLEA DW 20 DUP(?) TABLEB DB ABCD ;答: (1) MOV AX,TYPE PLDB ;(AX)=0001H (2) MOV AX,TYPE TABLEA ;(AX)=0002H (3) MOV CX,LENGTH TABLEA ;(CX)=0014H (4) MOV DX,SIZE TABLEA ;(DX)=0028H (5) MOV CX,LENGTH TABLEB ;(CX)=0001H 7、试说明下述指令中哪些需要加上 PTR 伪指令定义符。 BVAL DB 10H,20H WVAL DW 1000H ;答: (1) MOV AL,BVAL ; (2) MOV DL,BX ; (3) SUB BX,2 ;SUB BX,WORD PTR 2 ; SUB BYTE PTR BX,2 (4) MOV CL,WVAL ;MOV CL,BYTE PTR WVAL 8、编写一宏定义 BXCHG,将一字节的高 4 位与低 4 位交换。 答: BXCHG MACRO BT MOV AL,BT MOV CL,4 ROL AL,CL ENDM 9、已知宏定义如下: XCHG0 MACRO A,B MOV AH,A XCHG AL,B MOV A,AL ENDM OPP MACRO P1,P2,P3,P4 XCHG0 P1,P4 XCHG0 P2,P3 ENDM 展开宏调用 OPP BH,BL,CH,CL 答:展开宏调用 OPP BH,BL,CH,CL 为: MOV AH,BH XCHG AL,CL MOV BH,AL MOV AH,BL XCHG AL,CH MOV BL,AL 10、将 AX 寄存器中的 16 位数分成 4 组,每组 4 位,然后把这四组数分别 放在 AL、BL、CL 和 DL 中。 答: MOV DL,AH AND DL,0F0H MOV CL,4 SHR DL,CL PUSH AX AND AH,0FH MOV BH,AH AND AL,0F0H MOV BL,AL MOV CL,4 SHR BL,CL MOV CL,BH POP AX AND AL,0FH 11、试编写一程序,要求比较两个字符串 STRING1 和 STRING2 所含字符 是否相同,若相同则显示“MATCH” ,若不相同则显示“NOMATCH” 。 13、编写程序,将以包含有 20 个数据的数组 M 分成两个数组,正数数组 P 和负数数组 N,并分别把这两个数组中数据的个数显示出来。 20、编写程序,将字节变量 BVAR 中的压缩型 BCD 数转换为二进制数,并 存入原变量中。 23、编写程序,将字节变量 BVAR 中的无符号二进制数(0FFH)转换为 BCD 数,在屏幕上显示结果。 24、设有字无符号数 X、Y,试编制求 Z=丨 X-Y 丨的程序。 11. DATA SEGMENT Infor1 DB 'Please input string1:',0AH,0DH,'$' STR1 DB 12,0,10 DUP (0) Infor2 DB 0AH,0DH,'Please input string2:',0AH,0DH,'$' STR2 DB 12,0,10 DUP (0) Infor3 DB 0AH,0DH,'MATCH',0AH,0DH,'$' Infor4 DB 0AH,0DH,'NO MATCH',0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,STR1 LEA DI,STR2 MOV DX,OFFSET Infor1 MOV AH,9 INT 21H MOV DX,OFFSET STR1 MOV AH,0AH INT 21H MOV DX,OFFSET Infor2 MOV AH,9 INT 21H MOV DX,OFFSET STR2 MOV AH,0AH INT 21H INC SI INC DI MOV AL,SI MOV AH,DI CMP AH,AL JNZ NOSAME CHARCOMPARE: INC SI INC DI MOV BH,BYTE PTRSI CMP BH,BYTE PTRDI JNZ NOSAME DEC AL JNZ CHARCOMPARE SAME: MOV DX,OFFSET Infor3 MOV AH,9 INT 21H JMP ReturnDOS NOSAME: MOV DX,OFFSET Infor4 MOV AH,9 INT 21H ReturnDOS: MOV AH,4CH INT 21H CODE ENDS END START EX511b.ASM DATA SEGMENT Infor1 DB 'Please input string1:',0AH,0DH,'$' Infor2 DB 0AH,0DH,'Please input string2:',0AH,0DH,'$' STR1 DB 12,0,10 DUP (0) STR2 DB 12,0,10 DUP (0) Infor3 DB 0AH,0DH,'MATCH',0AH,0DH,'$' Infor4 DB 0AH,0DH,'NO MATCH',0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,STR1 LEA DI,STR2 MOV DX,OFFSET Infor1 MOV AH,9 INT 21H MOV DX,OFFSET STR1 MOV AH,0AH INT 21H MOV DX,OFFSET Infor2 MOV AH,9 INT 21H MOV DX,OFFSET STR2 MOV AH,0AH INT 21H INC SI INC DI MOV AL,SI MOV AH,DI CMP AH,AL JNZ NOSAME MOV AH,0 MOV CX,AX INC SI INC DI CLD COMPARE: REPE CMPSB JNE NOSAME SAME: MOV DX,OFFSET Infor3 MOV AH,9 INT 21H JMP ReturnDOS NOSAME: MOV DX,OFFSET Infor4 MOV AH,9 INT 21H ReturnDOS: MOV AH,4CH INT 21H CODE ENDS END START EX513b DATA SEGMENT M DB 1,2,3,4,5,6,-7,-8,-9,-10,11,12,13,14,15,-16,-17,-18,-19,-20 P DB 20 DUP(0) N DB 20 DUP(0) CountP DB 0 CountN DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX mov bx,0 MOV SI,0 MOV DI,0 MOV CX,20 again: cmp Mbx,0 jl less je again inc si jmp next less: inc di next: inc bx dec cx jnz again show: mov ax,si mov ch,10 div ch mov dl,al mov bh,ah ADD DL,30H MOV AH,2 INT 21H mov dl,bh ADD DL,30H MOV AH,2 INT 21H mov dl,2ch mov ah,2 int 21h mov ax,di mov ch,10 div ch mov dl,al mov bh,ah ADD DL,30H MOV AH,2 INT 21H mov dl,bh ADD DL,30H MOV AH,2 INT 21H mov ah,4ch int 21h CODE ENDS END START EX515.ASM DATA SEGMENT INFOR0 DB 0AH,0DH,“please input a four hex number“,0AH,0DH,'$' INFOR DB 0AH,0DH,“invalid hex digital“,0AH,0DH,'$' INFOR2 DB 0AH,0DH,“convert binary is:“,0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,INFOR0 MOV AH,9 INT 21H XOR BX,BX MOV CH,04 MOV CL,04 INPUT: SHL BX,CL MOV AH,01 INT 21H CMP AL,30H JB ERROR CMP AL,39H JA NEXT AND AL,0FH JMP BINARY NEXT: CMP AL,41H JAE CONTINE JMP ERROR CONTINE: CMP AL,46H JA CONTINE2 JMP PROCESS CONTINE2: CMP AL,61H JAE CONTINE3 JMP ERROR CONTINE3: CMP AL,66H JA ERROR PROCESS: AND AL,0FH ADD AL,09H BINARY: OR BL,AL DEC CH JNE INPUT LEA DX,INFOR2 MOV AH,9 INT 21H DISPN: MOV CX,16 DISP: MOV DL,0 ROL BX,01 RCL DL,01 OR DL,30H MOV AH,02 INT 21H LOOP DISP JMP Exit ERROR: LEA DX,INFOR MOV AH,9 INT 21H Exit: MOV AH,4CH INT 21H CODE ENDS END START EX520.ASM DATA SEGMENT BVAR DB 35H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CL,4 MOV BL,BVAR ROR BL,CL AND BL,0FH MOV AL,BL MOV CH,10 MUL CH MOV BL,BVAR AND BL,0FH ADD AL,BL MOV BVAR,AL MOV AH,4CH INT 21H CODE ENDS END START EX523.ASM DATA SEGMENT BVAR DB 0FFH RESULT DB 3 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA BP,RESULT MOV SI,2 MOV AL,BVAR CONVERSE: MOV AH,0 MOV CH,10 DIV CH MOV BPSI,AH DEC SI JS COMPLETE JMP CONVERSE COMPLETE: INC SI CMP SI,3 JGE EXIT MOV DL,BPSI CMP SI,0 JNZ Contine CMP DL,0 JNZ Contine JMP COMPLETE Contine: ADD DL,30H NUMBER: MOV AH,2 INT 21H JMP COMPLETE EXIT: MOV AH,4CH INT 21H CODE ENDS END START EX524.ASM DATA SEGMENT X DW 45 Y DW 38 Z DW 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,X CMP AX,Y JL NEGATIVE SUB AX,Y JMP Exit NEGATIVE: MOV AX,Y SUB AX,X Exit: MOV Z,AX MOV AH,4CH INT 21H CODE ENDS END START

    注意事项

    本文(微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf)为本站会员(今天)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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