网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理专业课程设计.docVIP

微机原理专业课程设计.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

微机原理课程设计

课程设计内容:

由键盘输入任意四位十六进制数转换为二进制输出

即若输入数字0至9或字符A至F,则转换为二进制输出;若输入为其它,则程序退出。

程序分析

将十六位二进制数保留在BX中,对BX中二进制数循环左移,

每次移一位,然后把BL中二进制数送给AL,再对AL前7位进行屏蔽,只留一位原本是最高位那位二进制数,它要么为1,要么为0。然后把AL中这位二进制数转化为十进制数,而且输出。因为AL高7位全部为0,所以转换为十进制数,而且输出。因为AL高7位全部为0,所以转换为十进制后,仍然要么为1,要么为0,而且和那位二进制数相对应。做16次循环,显示整个二进制数。

步骤图

程序步骤图

开始

开始

屏幕显示字符

调用输入函数

调用显示函数

返回

结束

输入函数INPUT步骤图

开始

开始

BX寄存器清空,DI置循环次

键盘输入单字符存入AL

AL30

AL=39

AL41

AL=46

AL-30

BX左移4位

AX和BX累加后放入

DI=DI

DI=0

AL-37

结束

N

N

N

N

Y

Y

Y

Y

N

输出函数DISPLAY步骤图

开始

开始

结束

置初值CX=16

BX左移一位

输出字符0

CF=1

CX=0

输出字符1

Y

Y

N

N

三、程序代码及分析

DATASEGMENT

TIPDB0DH,0AH,INPUTADATAOFHEXFORM:$

WRONG1DB0DH,0AH,INAVAILABLEINPUT!:$,0DH,0AH

DATAENDS

CODESEGMENT

MAINPROCFAR ;调用主函数

ASSUMECS:CODE,DS:DATA

MOVAX,DATA

MOVDS,AX;装数据段

START:MOVAH,9

MOVDX,OFFSETTIP

INT21H;屏幕显示提醒输入字符

CALLINPUT

CALLDISPLAY

JMPSTART

RET

MOVAX,4C00H

INT21H

MAINENDP ;主函数结束

;-----------------------------------键盘输入函数

INPUTPROCNEAR

XORBX,BX

MOVDI,4;要求输入四位十六进制数,置数

NCHAR:MOVAH,1

INT21H;从键盘输入一个字符系统功效调用

CMPAL,30H

JBWRONG

CMPAL,39H

JBESOLVE1

CMPAL,41H

JBWRONG

CMPAL,46H

JBESOLVE2

JMPWRONG;判定是否输入有效字符

SOLVE1:SUBAL,30H ;0-9,将ASCII码转为二进制数

JMPGOON

SOLVE2:SUBAL,37H ;A-F,将ASCII码转为二进制GOON:MOVCL,4;将转换后二进制数位依次存入寄存器[BX]

SALBX,CL

MOVAH,0

ADDBX,AX

DECDI;输入满四个字符后返回

JNZNCHAR;正常返回,准备输入下一个数

JMPBACK1

WRONG:MOVAH,9 ;含有非十六进制数码,报错后退出程序

MOVDX,OFFSETWRONG1

INT21H

MOVAX,4C00H

INT21H

BACK1:RET

INPUTENDP ;输入程序结束

;---------------------------------显示字符函数

DISPLAYPROCNEAR

MOVCX,16

MOVDL,20H ;插入一个空格系统功效调用

MOVAH,02HINT21H

NEXT:SHLBX,1

JCCASE1

MOVDL,30H 输出字符0

MOVAH,02H

INT21H

LOOPNEXT

JMPBACK2

CASE1:MOVDL,31H 输出字符1

MOVAH,02H

INT21H

LOOPNEXT

BACK2:RET

DISPLAYENDP

CODEENDS

ENDMAIN

四、运行结果

五、附录程序清单

4位16进制转换2进制程序

输入程序

输出程序

文档评论(0)

知识的力量 + 关注
实名认证
文档贡献者

每天进步一点点,生活向上没一天

1亿VIP精品文档

相关文档