为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

二进制数和十六进制数之间转换

2017-09-02 10页 doc 36KB 105阅读

用户头像

is_731942

暂无简介

举报
二进制数和十六进制数之间转换二进制数和十六进制数之间转换 北 华 航 天 工 业 学 院 课程设计报告(论文) 设计课题:二进制数和十六进制数之间转换 专业班级: 3 学生姓名: 指导教师: 设计时间: 1 北华航天工业学院电子工程系 微型计算机原理与接口技术 课程设计任务书 姓 名: 专 业: 电子信息工程 班 级: 指导教师: 职 称: 讲师 课程设计题目: 代码转换(二进制数和十六进制数之间转换) 已知技术参数和设计要求: 1(编写一个程序,要求从键盘上连续输入二进制或十六进制字符,然后 在屏幕上自动显示出二---十六进制之...
二进制数和十六进制数之间转换
二进制数和十六进制数之间转换 北 华 航 天 工 业 学 院 课程设计(论文) 设计课题:二进制数和十六进制数之间转换 专业班级: 3 学生姓名: 指导教师: 设计时间: 1 北华航天工业学院电子工程系 微型计算机原理与接口技术 课程设计任务书 姓 名: 专 业: 电子信息工程 班 级: 指导教师: 职 称: 讲师 课程设计题目: 代码转换(二进制数和十六进制数之间转换) 已知技术参数和设计要求: 1(编写一个程序,要求从键盘上连续输入二进制或十六进制字符,然后 在屏幕上自动显示出二---十六进制之间转换的结果。 2(利用ROL和RCL循环指令以及十六进制数所对应的ASCII码比其本 身大30H(0,9)或37H(A,Z)的关系, 将输入数转换成对应的ASCII 码,再调用DOS系统功能调用中的2号(显示字符)功能,将转换后 的字符显示出来。 所需仪器设备: 计算机、MASM软件 成果验收形式: 程序说明,计算机演示,设计报告 参考文献: 微机原理与接口技术 8086实验指导书 十六周:程序编辑,上机运行结果 时间 十七周:验收成果 安排 指导教师: 教研室主任: 年 月 日 2 内 容 摘 要 在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD码、ASCII码和七段显示码等。这些数制和编码根据其作用的不同,在存储形式上也有差异。在实际应用中,它们也因使用的要求不同而有所差异。在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。还有些代码转换需要根据使用要求通过编程完成。因此,代码转换是非数据处理中最常见的情况。 索引关键词:代码转换 二进制 十六进制 DOS系统 3 目 录 一 概 述……………………………………………………………………4 1-1设计目的……………………………………………………………………4 1-2设计要求……………………………………………………………………4 二 设计与论证……………………………………………………………4 2-1二进制向十六进制的转换…………………………………………………4 2-2十六进制向二进制的转换…………………………………………………4 三 程序分析……………………………………………………………………5 四 程序流图……………………………………………………………………7 五 运行结果……………………………………………………………………10 六 心得体会……………………………………………………………………10 七 参考文献……………………………………………………………………10 4 一、 概述 1. 设计目的 (1)增进对汇编语言的认识,加强汇编语言编辑能力; (2)掌握汇编语言的中断调用的功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现了对硬件的控制; (3)了解和掌握汇编语言程序的设计过程,方法和实现,为以后的学习打下良好的基础; (4)培养分析解决问题的能力; (5)提高科技论文写作能力。 2设计要求 按屏幕提示要求输入,从屏幕上获得正确结果。 二、方案设计与论证 在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD码、ASCll码和七段显示码等。这些数制和编码根据其作用的不同,在存储形式上也有差异。在实际应用中,它们也因使用的要求不同而有所差异。在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。还有些代码转换需要根据使用要求通过编程完成。因此,代码转换是非数据处理中最常见的情况。 模块1实现二进制数向十六进制数的转换,用循环左移指令ROL每次移动4位,取出移到最低的4位,利用十六进制数所对应的ASCll码比其本身大30H(0,9)或37H(A,Z)的关系,将低4位转换成对应的ASCll码,再调用DOS系统功能调用中的2号(显示字符)功能,将转换后的字符显示出来。如此循环4次。 模块2实现十六进制数向二进制数的转换,完成此功能需要两个步骤,第一步是十六进制数的输入和对应二进制数的转换。方法是利用DOS系统功能调用中的1号输入字符的功能,接收键盘输入的十六进制数,将其转换成对应的二进制数(若是0,9之间的数,直接屏蔽高4位;若是A,F之间的数,在屏蔽高4位后还要加9)。BX中存放的是二进制数的结果,利用算术左移指令每次将BX左移4位,然后与下一次转换后的数相加。如此循环4次,得到对应的二进制数。第二步是显示转换后的二进制数,方法是利用ROL和RCL指令,从最高位起循环取出每位二进制数,将其转换成对应的ASCll码,调用DOS系统功能调用中的2号(显示字符)功能显示。 5 三 程序分析 DATAS SEGMENT BUF DB 'PLIEASE ENTER CHARACTERS',0DH,0AH,'$' DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AH,1 INT 21H CMP AL,5 JB NEXT2 NEXT: MOV AX,DATAS ;十六进制转为二进制 MOV DS,AX; LEA DX,BUF MOV AH,9 9号功能调用,键盘显示 INT 21H ; MOV CL,4 MOV CH,4 SUB BX,BX ;BX清零 L1: MOV AH,1 INT 21H MOV AH,0 CMP AL,'A' ;AL与A比较 JB L2 ;低于A则转移到L2子程序 AND AL,0FH ;AL和0F按位与 ADD AL,9 ;AL和9相加,结果送回AL JMP L3 L2: AND AL,0FH L3: SHL BX,CL ;将BX逻辑左移4次 ADD BX,AX DEC CH;将CH-1 JNZ L1 MOV CX,10H L4: ROL BX,1 ;BX中的值左移1位 MOV DX,BX AND DX,1H OR DL,30H ;DL和30H按位或 CMP DL,3AH JB DDD 6 ADD DL,07H DDD: MOV AH,2 ;2号功能调用,键盘显示 INT 21H L4循环 LOOP L4 ; JMP OOO NEXT2: MOV AX,DATAS ;二进制转为十六进制 MOV DS,AX LEA DX,BUF MOV AH,9 INT 21H MOV CX,10H AX清零 SUB AX,AX ; SUB DX,DX L6: MOV AH,1 INT 21H AND AX,0FH SHL DX,1 ADD DL,AL LOOP L6 MOV CH,4 MOV CL,4 LLP: ROL DX,CL PUSH DX ;入栈 AND DX,0FH OR DL,30H CMP DL,3AH JB DDT ADD DL,07H DDT: MOV AH,2 INT 21H POP DX ;出栈 DEC CH JNZ LLP MOV AH,4CH OOO: INT 21H ;返回DOS CODES ENDS END START 7 四、程序流图 开始 键盘输入字母 是 判断输入否大于5 否 调用NEXT2子程序 调用NEXT子程序 结束 8 4,CH4, AX,BX清零 CL 0 键盘输入一个数,AH AL与OFH按位求与结果送AL之后加9 判断AL是否大于’A’ AL与OFH按位求与结果送AL 是 AH0 BL左移AL位,最高位移入CF DX与BX求和结果送到DX, CH 减1 判断CH是否等于0 是 否 CX10 BX左移循环移位 、,DXBX DX与1H按位求与,DL与30H按位求 或 是 判断DL是否大于 否 3AH DL加07H 调用2号功能显示,CX减1 判断CX是否等于0 否 是 9 结束 五、运行结果 六、心得体会 通过这次课程设计,我对汇编语言有了更进一步的认识,加强了我用汇编语言编程的能力,经过努力,我完成了简单的课程设计。 在开始之前,首先复习了一下相关知识,尤其是汇编语言.定下题目,仔细思考了编程思路及所需要的程序,并上网查阅了类似资料,经历了一周多的时间,最终完成了题目。 这次课设最大的收获就是巩固了所学的知识,并认识到自己的不足之处,在理论学习和运用方面还存在很到不足,以后再学习理论的基础上不断进行实践操作来巩固理论,这是我这次课程设计的最大收获,同时培养了对微机原理这门课的兴趣。 七、参考文献 微型计算机原理与接口技术 张荣标编著 机械工业出版社 10 电子工程系 微机原理与接口技术 课程设计成绩评定 专业: 班级: 学号: 姓名: 课题名称 代码转换(二进制十六进制数之间转换) 已知技术参数和设计要求: 1编写一个程序,要求从键盘上连续输入二进制或十六进制字符,然设后在屏幕上自动显示出二---十六进制之间转换的结果。 计2. 利用ROL和RCL循环指令以及十六进制数所对应的ASCII码比其任本身大30H(0,9)或37H(A,Z)的关系, 将输入数转换成对应的务ASCII码,再调用DOS系统功能调用中的2号(显示字符)功能,将与转换后的字符显示出来。 要 求 指 导 教 师 评 语 建议成绩: 指导教师: 课 程 小 组 评 定 评定成绩: 课程负责人: 年 月 日 11 12
/
本文档为【二进制数和十六进制数之间转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索