微机与接口实验报告..docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机与接口实验报告.

实验二数码转码编程及程序调试第一题将ASCII码表示的十进制数转换为二进制数【代码如下】;实验二第一题将ASCII码表示的十进制数转换为二进制数DATA SEGMENT DB 30 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV SI,3500H ;定一源地址 MOV DI,3510H ;定义目标地址 MOV BX,0AH ;给BX赋值10便于后面相乘 MOV CX,0004H ;赋给CX要装换的位数 MOV AH,00H ;将AH 清零 MOV AL,[SI] SUB AL,0030HLOOP: MUL BX INC SI ADD AL,[SI] SUB AL,0030H DEC CX JNZ LOOP ;转换结束跳出循环 MOV [DI],AX JMP QUITQUIT: MOV AH,004CH INT 21HCODE ENDS END START【调试结果】输入30 3030 31 35时,输出为0015H输入30,输出为0006H调试结果证明程序正确将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入350A起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF.【代码如下】;实验二第二小题DATA SEGMENT DB 30 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV CX,0005H ;循环次数设置为5 MOV SI,3500H ;源地址设置为3500H MOV DI,3510H ;目的地址设置为3510HL1: MOV DL,0FFH;给DL赋值0FFH,便于后面输入错误是赋给[DI]值FF,但不能直接给[DI]赋值0FFH,会溢出 MOV AL,[SI] CMP AL,0039H ;判断大于9则赋值FF JG ERROR CMP AL,0030H ;判断小于0则赋值FF JB ERROR SUB AL,30H ;转换为BCD码 MOV [DI],BYTE PTR ALL2: INC SI INC DI DEC CX JNZ L1 JMP QUITERROR: MOV [DI],DL ;赋值FFH JMP L2QUIT: MOV AX,4C00H INT 21HCODE ENDS END START【调试结果】输入为 23 34 38 47 32时当输入为12 34 38 54 71时5、BCD码转换为二进制码【代码如下】;第二次试验第五题;BCD码转换为二进制码DATA SEGMENT DB 30 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV CX,08H ;初始化 MOV SI,3500H MOV DI,3510HAGAIN: MOV AL,[SI] MOV BL,0AH MUL BL INC SI MOV AH,00H MOV DL,[SI] ADD AL,DL MOV [DI],AX INC DI INC SI ;此处记得将SI增加1,否则会多4个数字,切记 DEC CX JNZ AGAIN JMP QUITQUIT: MOV AX,4C00H INT 21HCODE ENDS END START【调试结果】将十六位二进制数转换为ASCII码表示的十进制数。【代码如下】;第二次试验 第三题;十六位二进

文档评论(0)

s4as2gs2cI + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档