




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学汇编语言程序设计课程设计 目录课程设计任务书21.设计题目32.设计要求33.理论知识331进位计数制332进制转换43.3 ASCII 码54.程序结构64.1总体结构64.2十进制转二进制DECibin74.3二进制转八进制binioct84.4八进制转二进制octbin94.5二进制转十进制binidec10 5.程序清单.116.运行结果157.心得体会17本科生课程设计成绩评定表18 课程设计任务书学生姓名 专业班级: 指导教师: 徐东平 工作单位:计算机科学与技术学院 题目: 八进制数和十进制数相互转换初始条件:理论:完成了汇编语言程序设计课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了汇编语言程序设计的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:1) 编写八进制和十进制间的转换程序;2) 要求在屏幕上输出结果。3) 程序采用子程序结构,结构清晰;4) 友好清晰的用户界面,能识别输入错误并控制错误的修改。在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)IBMPC汇编语言程序设计实验教程实验2.42)IBMPC汇编语言程序设计(第2版)例6.11时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 八进制数和十进制数相互转换1.设计题目八进制数和十进制数相互转换。2.设计要求 本次课程设计着重于理论设计,同时培养动手能力。要求运用自己所学知识进行设计实现,体现自己的知识掌握水平,严禁抄袭(发现后抄袭者和被抄袭者一律不及格)。所作设计需进行论证,一方面是从理论上进行推理验证,另一方面是实验论证。内容包括:设计题目;原始条件及参数;要求完成的主要任务(如:设计方案的选择与确定、设计计算、程序编制、说明书撰写等具体要求);时间安排等。3.理论知识31进位计数制(1)十进制数( Decimal ) 十进制数是人们十分熟悉的计数体制。它用 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 十个数字符号,按照一定规律排列起来表示数值的大小。 每一个位置(数位)只能出现十个数字符号 0 9 中的其中一个。通常把这些符号的个数称为基数,十进制数的基数为 10 ; 同一个数字符号在不同的位置代表的数值是不同的。十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。基本符号是0到9十个数字。要表示这十个数的10倍,就将这些数字右移一位,用0补上空位,即10,20,30,.,90;要表示这十个数的10倍,就继续左移数字的位置,即100,200,300,.。要表示一个数的1/10,就右移这个数的位置,需要时就0补上空位:1/10位0.1,1/100为0.01,1/1000为0.001。(2) 二进制数 ( Binary ) 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。(3)八进制数 ( Octal ) 在八进制中,基数为 8 ,它有 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 八个数字符号,八进制的基本运算规则是“逢八进一”,各数位的权是 8 的幂。 32进制转换(1) 十进制数与二进制数互换 a.十进制数转换成二进制数整数部分的转换 除取余法。整数部分的转换采用“除取余法”。即用多次除被转换的十进制数,直至商为,每次相除所得余数,按照第一次除所得余数是二进制数的最低位,最后一次相除所得余数是最高位,排列起来,便是对应的二进制数。 小数部分的转换乘取整法。小数部分的转换采用 “ 乘取整法 ” 。即用多次乘被转换的十进制数的小数部分,每次相乘后,所得乘积的整数部分变为对应的二进制数。第一次乘积所得整数部分就是二进制数小数部分的最高位,其次为次高位,最后一次是最低位。b.二进制数转换成十进制数 二进制转十进制从最后一位开始算,依次列为第0、1、2.位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方0 1乘2的3次方8 0乘2的4次方0 1乘2的5次方32 1乘2的6次方64 0乘2的7次方0 然后:120 8032640107 二进制01101011十进制107(2) 二进制数与八进制数互换 a.二进制数转换成八进制数因为三位二进制数正好表示 0 7 八个数字,所以一个二进制数要转换成八进制数时,以小数点为界分别向左向右开始,每三位分为一组,一组一组地转换成对应的八进制数字。若最后不足三位时,整数部分在最高位前面加 0 补足三位再转换;小数部分在最低位之后加 0 补足三位再转换。然后按原来的顺序排列就得到八进制数了。 八进制与二进制对照表 八进制 0 1 2 3 4 5 6 7 二进制 000 001 010 011 100 101 110 111 b.八进制数转换成二进制数一个八进制数要转换成二进制数时,以小数点为界分别向左向右开始,每一位八进制数字换成对应的三位二进制数即可。3.3 ASCII 码由于计算机只能直接接受、存储和处理二进制数。对于数值信息可以采用二进制数码表示,对于非数值信息可以采用二进制代码编码表示。编码是指用少量基本符号根据一定规则组合起来以表示大量复杂多样的信息。一般所来,需要用二进制代码表示哪些文字、符号取决于我们要求计算机能够“识别”哪些文字、符号。为了能将文字、符号也存储在计算机里,必须将文字、符号按照规定的编码转换成二进制数代码。 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。因为1位二进制数可以表示(2=)2种状态:0、1;而2位二进制数可以表示(2=)4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。 第032号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等; 第33126号(共94个)是字符,其中第4857号为09十个阿拉伯数字;6590号为26个大写英文字母,97122号为26个小写英文字母,其余为一些标点符号、运算符号等。 4.程序结构4.1总体结构开始选择转换方式调用octbin调用crlf调用binidec调用crlf调用DECibin 调用crlf调用binioct 调用crlf结束八进制转十进制十进制转八进制4.2十进制转二进制DECibin开始BX清零输入数值转ASCII交换AX、BXAX乘10交换AX、BX加上AX结束9d4.3二进制转八进制binioct开始BX左移2位把最右面的2位转为ASCII码显示一个字符循环计数值置为2BX循环左移3位把最右面的3位转为ASCII码显示一个字符循环计数值0? 结束NY4.4八进制转二进制octbin开始BX清零输入十进制数判定范围移位数字为3左移3位AH清零添加新二进制位结束跳转输入0重新输入8继续执行4.5二进制转十进制binidec开始CX置10000d调用子程序CX置1000d调用子程序CX置100d调用子程序CX置10d调用子程序CX置1d调用子程序结束开始把二进制数转入AXDX清零除法运算余数移入BX商移入DL商转为ASCII显示商结束子程序DEC_div 5.程序清单 ;DECIOCT;十进制与八进制相互转换;首先选择算法,1为八进制转十进制,2为十进制转八进制;* DECioct SEGMENT ASSUME CS:DECioct;主程序部分。main PROC FARstart: MOV DL,3ah ;显示提示附 MOV AH,2 INT 21h MOV AH,1 ;输入选择数字 INT 21h CMP AL,32h ;数字为1时,执行八进制转十进制 JE REPEat2 ;数字为2时,执行十进制转八进制 REPEat1: CALL octbin ;键盘输入八进制数转为二进制 CALL crlf ;回车并换行 CALL binidec ;二进制转十进制 CALL crlf ;回车并换行 JMP REPEat1 ;重复执行 REPEat2: CALL DECibin ;键盘输入十进制数转为二进制 CALL crlf ;回车并换行 CALL binioct ;二进制转八进制 CALL crlf ;回车并换行 JMP REPEat2 ;重复执行 main ENDP;-;十进制转二进制DECibin PROC NEAR MOV BX,0 ;将BX清零NEwchar2: MOV AH,1 INT 21h ;21号中断输入 SUB AL,30h ;ASCII转二进制 JL exit2 ;9 JG exit2 ;如果大于则不是十进制数 CBW ;字节转为字 XCHG AX,BX ;交换寄存器 MOV CX,10d ;把10放如CX MUL CX ;AX扩大10倍 XCHG AX,BX ;交换寄存器 ADD BX,AX ;原数的10倍加上输入数 JMP NEwchar2 ;跳转输入exit2: RETDECibin ENDP;-;二进制转八进制binioct PROC NEAR MOV CL,2 ;移位数字2 ROL BL,CL ;循环左移2位 MOV AL,BL ;把输入的数送入AL AND AL,03h ;将高六位屏蔽 ADD AL,30h ;转换为ASCII MOV DL,AL ;输出AL MOV AH,2 INT 21h MOV CH,2 ;剩余显示2位rotate2: MOV CL,3 ;移位数字3 ROL BL,CL ;循环左移3位 MOV AL,BL ;把输入的数送入AL AND AL,07h ;将高五位屏蔽 ADD AL,30h ;转换为ASCII MOV DL,AL ;输出AL MOV AH,2 INT 21h DEC CH ;递减CH JNZ rotate2 ;CH不为0则跳转 RET binioct ENDP ;-;八进制转二进制octbin PROC NEAR MOV BX,0 ;BX清零NEwchar1: MOV AH,1 ;输入数字 INT 21h SUB AL,30h ;转换为二进制数 JL exit1 CMP AL,8d ;如果8则跳转 JL ADD_to1 CMP AL,10h JGE exit1ADD_to1: MOV CL,3 ;移位数字3 SHL BX,CL ;左移3位 MOV AH,0 ;AH清0 ADD BX,AX ;把新位移入数字 JMP NEwchar1 ;跳转继续输入exit1: REToctbin ENDP;-;二进制转十进制binidec PROC NEAR MOV CX,10000d ;除数为10000 CALL DEC_div MOV CX,1000d ;除数为1000 CALL DEC_div MOV CX,100d ;除数为100 CALL DEC_div MOV CX,10d ;除数为10 CALL DEC_div MOV CX,1d ;除数为1 CALL DEC_div RET;-;子程序DEC_div PROC NEAR MOV AX,BX ;把二进制数移入AX MOV DX,0 ;DX高八位清零 DIV CX ;除数CX MOV BX,DX ;余数移入BX MOV DL,AL ;商移入DL ADD DL,30h ;转换为ASCII MOV AH,2 ;输出十进制数位 INT 21h RETDEC_div ENDP;-binidec ENDP;- ;回车和换行。 crlf PROC NEAR MOV DL,0dh ;回车 MOV AH,2 ;输出 INT 21h MOV DL,0ah ;换行 MOV AH,2 ;输出 INT 21h RETcrlf ENDP;- DECioct ENDS;* END start 6.运行结果 a. 八进制数转十进制数输入:1输入正常值(如562,4210,22)输入异常值(如9) b.十进制数转八进制数输入:2输入正常值(如163,89,8)输入异常值(如a,b,)7.心得体会通过此次课程设计,我获益匪浅,现总结如下:(1) 我深刻体会到汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年江西中烟工业公司笔试试题及答案
- 川菜考试题及答案
- 取样考试题及答案
- 办公考试题及答案
- 中华传统文化融入《思想道德与法治》知到智慧树答案
- 基础护理学习题及答案
- 高血压试题及答案4
- 2025年二手车转让与售后服务保障协议
- 2025年房屋拆迁补偿安置协议书范本与案例分析
- 2025年度养老地产项目委托销售代理协议
- 电影院安全生产与安全管理规定制度
- 废气处理合同协议
- 镁铝合金行业前景
- 2025-2030中国余热回收行业市场现状供需分析及投资评估规划分析研究报告
- 无人机物流配送服务手册
- 见证取样送检计划方案
- 二年级上册语文课内阅读理解每日一练(含答案)
- 2025-2030年中国功率器件市场发展趋势规划研究报告
- 基层管理培训课程
- 宇宙飞船的发射与回收技术分析
- 2024考研 政治 思维导图(马原)
评论
0/150
提交评论