新微机原理及其应用 教学课件 邓蓓 微机原理与应用 第4章.pptVIP

新微机原理及其应用 教学课件 邓蓓 微机原理与应用 第4章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章汇编语言程序设计 例34 设有两个无符号的数7和8,存放在DAT开始的单元中,求它们的和,结果存在SUM单元里,最后将和转换成十六进制数,并显示出来。 解:程序设计中,主程序取出DAT地址后调用子程序SUB1,进行求和运算,结果存入SUM单元。在SUB1中又调用了子程序SUB2,SUB2的作用是将16位二进制数转换为4位十六进制数的ASCII码,并且显示。这里的显示采用INT 21H中断的02H功能,将DL寄存器里的ASCII代码送屏幕上显示。程序框图如图4-10所示。 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 图4-10 例11程序框图 a)主程序框图 b)SUB1框图 c)SUB2框图 a) 开始 取数据的首地址送SI 调子程序SUB1 结束 保护有关寄存器 开始 调SUB2子程序 返回 恢复有关寄存器 AX=[SI],AX=AX+[SI+2] AX存入SUM单元 b) 返回 取SUM单元里的数送BX DH=4(循环4次) 调02H中断,显示结果 AL=AL+07H,形成A-F AL 3AH ? DH=0 ? N Y Y N 开始 BX循环移位4次,BL送AL 屏蔽AL的高4位 c) 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 DATA1 SEGMENT DAT DW 7,8 SUM DW 0 DATA1 ENDS STACK1 SEGMENT PARA STACK DW 40 DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA1,SS:STACK1 BEGIN: MOV AX,DATA1 MOV DS,AX LEA SI,DAT ;取DAT首地址 CALL SUB1 ;调子程序SUB1 MOV AH,4CH ;结束 INT 21H ; 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 SUB1 PROC NEAR ;子程序SUB1 MOV AX,[SI] ;取出数7 ADD AX,[SI+2] ;与8相加 MOV SUM,AX ;存数 CALL SUB2 ;调子程序SUB2 RET ;返回 SUB1 ENDP ; SUB2 PROC NEAR ;子程序2,将一个字分成4个半字节转换 MOV BX,SUM ;取出和 MOV DH,4 ;转换次数 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 R1: MOV CL,4 ROL BX,CL ;循环左移4次 MOV AL,BL AND AL,0FH ;屏蔽高4位 CMP AL,0AH ;比较 JL R2 ;为0~9,则转至R2 ADD AL,07H ;为A~F,则加7 R2: ADD AL,30H ;形成ASCII码 MOV DL,AL ;数据送DL MOV AH,02H ;功能号为02H INT 21H ;调显示功能 DEC DH JNZ R1 RET ;返回 SUB2 ENDP CODE ENDS END BEGIN 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 例35:将四位十六进制数(ASCII码)转换为十六位二进制数。 解:四个十六进制数的ASCII码转换为两字节的二进制数的转换规律是:数字字符0~9的ASCII码低4位与对应的二进制数相同,对这一范围内的数值进行转换时,只需对ASCII码的高4位清0就行了;而A~F的ASCII码与它们所表示的二进制数1010~1111刚好相差37H(a~f则相差57H),在处理这一范围的ASCII码时,要做适当的校正。 机械工业出版社 电子制作:孙锋 第4章汇编语言程序设计 DATA1 SEGMENT MESSAGE DB ‘PLEASE INPUT 4 HEX NUMBERS (0~F):$’ DHEX DB 4,0,5 DUP(0) DBIN DW 0 DISP2 DB 0DH,0AH,‘ERROR !’,‘$’ DISP3 DB 0DH,0AH,‘OK !’,‘$’ DATA1 ENDS STACK1 SEGMENT PARA STACK

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档