收藏 分销(赏)

微机原理课程设计范文.doc

上传人:人****来 文档编号:4492645 上传时间:2024-09-25 格式:DOC 页数:10 大小:86.50KB 下载积分:8 金币
下载 相关 举报
微机原理课程设计范文.doc_第1页
第1页 / 共10页
微机原理课程设计范文.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
微机原理课程设计 10 2020年4月19日 文档仅供参考 微机原理课程设计 一、 课程设计内容: 由键盘输入任意四位十六进制数转换为二进制输出 即若输入数字 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 AL<30 AL<=39 AL<41 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 三、程序代码及分析 DATA SEGMENT TIP DB 0DH,0AH,'INPUTA DATA OF HEX FORM:$' WRONG1 DB 0DH,0AH,'INAVAILABLE INPUT!:$',0DH,0AH DATA ENDS CODE SEGMENT MAIN PROC FAR ;调用主函数 ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX ;装数据段 START:MOV AH,9 MOV DX,OFFSET TIP INT 21H ;屏幕显示提示输入字符 CALL INPUT CALL DISPLAY JMP START RET MOV AX,4C00H INT 21H MAIN ENDP ;主函数结束 ;-----------------------------------键盘输入函数 INPUT PROC NEAR XOR BX,BX MOV DI,4 ;要求输入四位十六进制数,置数 NCHAR: MOV AH,1 INT 21H ;从键盘输入一个字符的系统功能调用 CMP AL,30H JB WRONG CMP AL,39H JBE SOLVE1 CMP AL,41H JB WRONG CMP AL,46H JBE SOLVE2 JMP WRONG ;判断是否输入有效字符 SOLVE1:SUB AL,30H ;0-9,将 ASCII 码转为二进制数 JMP GOON SOLVE2:SUB AL,37H ; A-F,将 ASCII 码转为二进制GOON:MOV CL,4 ;将转换后的二进制数位依次存入寄存器[BX] SAL BX,CL MOV AH,0 ADD BX,AX DEC DI ;输入满四个字符后返回 JNZ NCHAR ;正常返回,准备输入下一个数 JMP BACK1 WRONG: MOV AH,9 ;含有非十六进制数码,报错后退出程序 MOV DX,OFFSET WRONG1 INT 21H MOV AX,4C00H INT 21H BACK1:RET INPUT ENDP ;输入程序结束 ;--------------------------------- 显示字符函数 DISPLAY PROC NEAR MOV CX,16 MOV DL,20H ;插入一个空格的系统功能调用 MOV AH,02H INT 21H NEXT: SHL BX,1 JC CASE1 MOV DL,30H 输出字符 0 MOV AH,02H INT 21H LOOP NEXT JMP BACK2 CASE1: MOV DL,31H 输出字符 1 MOV AH,02H INT 21H LOOP NEXT BACK2:RET DISPLAY ENDP CODE ENDS END MAIN 四、运行结果 五、附录程序清单 4位16进制转换2进制程序 输入程序 输出程序 屏幕显示程序 六、心得体会 经过这次微机原理课程设计,使我对汇编语言有了一定的了解。 充分理解了如何将4位16进制数用汇编语言转换为2进制数输出,以及常见输入输出程序,掌握了流程图的画法,了解了汇编语言的构造和基础语法。 虽然只是一个小程序,但这次课程设计使我体会到了,微机原理课程在实际中的应用价值。深刻感到了自己知识的有限和薄弱,我将倍加珍惜往后的课堂时光,努力学习知识并积极实践。 在此,感谢李老师。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服