




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1题目12算法分析12.1二进制数转换成10进制数12.2二进制数转换为 8 进制数12.3二进制数转换为 16 进制数23流程图23.1设计流程图23.2程序流程图43.3汇编程序54调试运行结果134.1调试运行结果如下图所示:134.2 调试中遇到的问题15错误程序115错误程序2165小结16参考文献18数制转换1题目通过键盘输入一个二进制数,通过屏幕提示菜单选择转换成八进制,十进制或者十六进制数并显示。2算法分析2.1二进制数转换成10进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加&qu
2、ot;法。比如:1011.012=1*23+0*22+1*21+1*20+0*2-1+1*2-2 =(11.25)102.2二进制数转换为 8 进制数由二进制数转换成八进制数可以 3 位二进制位编为一组(不够左侧补0),然后从右边开始每三位如下方式替换: 000 - 0, 001 - 1, 010 - 2, 011 - 3, 001 110 101 010 100 按照转换方法对应转换 1 6 5 2 4所以:()2=(16524)82
3、.3二进制数转换为 16 进制数 由二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。转换为 16 进制0000 - 0, 0001 - 1, 0010 - 2, 0011 - 30100 - 4, 0101 - 5, 0110 - 6, 0111 - 71000 - 8, 1001 - 9, 1010 - A, 1011 - B1100 - C, 1101 - D, 1110 - E, 1111 F此时分组为 4 位二进制数为一组0010 1010 1001 0101 1010 2 A &
4、#160;9 5 A所以: 3流程图3.1设计流程图 根据题意,设计流程图如下: 开 始输入二进制数八进制 NY十进制YN八进制数 十六进制数十进制数结 束 图1 设计流程图3.2 程序流程图 根据题意,程序流程图如下: 图2 8进制转换 图3 16进制转换 图4 10进制转换3.3汇编程序汇编程序如下:data segmentbuff1 db 17buff2 db ?buff3 db 17 dup(?)buff4 db 'O:1,D:2,H:3',0dh,0ah,'$'buff5
5、 db 48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70 buff6 db 0dh,0ah,'$'mes db 'please enter a binary number',0dh,0ah,'$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,mes ;取mes的偏移地址mov ah,09 int 21h ;在屏幕上显示字符串lea dx,buff1 ;取buff1的偏移地址mov ah,0ahin
6、t 21h ;从键盘接收字符,并存放到缓冲区mov cl,buff2 ;取buff2的偏移地址xor dx,dx ;将dx清零lea si,buff3 ;取buff3的偏移地址loop1: shl dx,1 ;将dx左移一位mov al,si ;将si偏移地址对应的值赋给alcmp al,'0' ;将al与0比较 jz loop2 ;若为0,则跳转到loop2 inc dx ;若不为0,则dx+1loop2: inc si ;si+1loop loop1 mov bx,dx ;将dx的值赋给bxlea dx,buff6 ;取buff6的偏移地址mov ah,9 int 21h
7、;在屏幕上显示字符串lea dx,buff4 ;取buff4的偏移地址mov ah,9int 21h ;在屏幕上显示字符串mov ah,1int 21h ;按下任意键,将对应字符的ASCII码送到al,并在屏幕上显示该字符。mov cx,ax ;将ax的值赋给cxlea dx,buff6 ;取buff6的偏移地址mov ah,9int 21h ;在屏幕上显示字符串mov al,cl ;将cl的值赋给alcmp al,'1' ;将al与1做比较jz loop3 ;若为0,则跳转到loop3cmp al,'2' ;将al与2做比较jz loop4 ;若为0,则跳转到
8、loop4lea si,buff5 ;取buff5的偏移地址mov dx,bx ;将bx的值赋给dxand dx,0f000h ;取dx的高4位mov cl,0ch ;将cl赋值shr dx,cl ;将dx右移11位add si,dx ;将si与dx相加mov dl,si ;将si偏移地址对应的值赋给dlmov ah,2int 21h ;将置入dl寄存器中的字符在屏幕上显示输出lea si,buff5 ;取buff5的偏移地址mov dx,bx ;将bx的值赋给dxand dx,0f00h ;取dx的高4位mov cl,8h ;将cl赋值shr dx,cl ;将dx右移8位add si,dx
9、;将si与dx相加mov dl,si ;将si偏移地址对应的值赋给dlmov ah,2int 21h ;将置入dl寄存器中的字符在屏幕上显示输出lea si,buff5 ;取buff5的偏移地址mov dx,bx ;将bx的值赋给dxand dx,00f0h ;取dx的4-8位mov cl,4h ;将cl赋值shr dx,cl ;将dx右移4位add si,dx ;将si与dx做与mov dl,si ;将si偏移地址对应的值赋给dlmov ah,2 int 21h ;将置入dl寄存器中的字符在屏幕上显示输出lea si,buff5 ;取buff5的偏移地址mov dx,bx ;将bx的值赋给d
10、xand dx,0fh ;取dx的低4位add si,dx ;将si与dx做与mov dl,si ;将si偏移地址对应的值赋给dlmov ah,2int 21h ;将置入dl寄存器中的字符在屏幕上显示输出jmp loop5loop3:jmp loop6 loop4: mov ax,bx ;将bx赋值给axmov dx,0 ;将dx赋值mov cx,10000 ;将cx赋值call divdw mov dl,al ;将dl赋值add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov ax,cx ;将ax赋值mov dx,0 ;将d
11、x赋值mov cx,1000 ;将cx赋值call divdw mov dl,al ;将dl赋值add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov ax,cx ;将ax赋值mov dx,0 ;将dx赋值mov cx,100 ;将cx赋值call divdw mov dl,al ;将dl赋值add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov ax,cx ;将ax赋值mov dx,0 ;将dx赋值mov cx,10 ;将cx赋值call divdwmov
12、dl,al ;将dl赋值add dl,30h ;将dl与30h相加mov ah,2int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov ax,cx ;将ax赋值mov dl,al ; 将dx赋值add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出jmp loop5 loop6: mov dx,bx ;将dx赋值and dx,1000h ;将dx与1000h做与mov cl,0fh ;将cl赋值shr dx,cl ;将dx右移16位add dl,30h ;将dl与30h相加mov ah,2int 21h ;将置入dl寄存器
13、的字符在屏幕上显示输出mov dx,bx ;将dx赋值and dx,7000h ;将dx与7000h做与mov cl,0ch ;将cl赋值shr dx,cl ;将dx右移11位add dl,30h ;将dl与30h相加mov ah,2int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov dx,bx ;将dx赋值and dx,0e00h ;将dx与0e00h做与mov cl,9h ;将cl赋值shr dx,cl ;将dx右移9位add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov dx,bx ;将dx赋值and dx
14、,1c0h ;将dx与1c0h做与mov cl,6h ;将cl赋值shr dx,cl ;将dx右移6位add dl,30h ;将dl与30h相加mov ah,2int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov dx,bx ;将dx赋值and dx,38h ;将dx与38h做与mov cl,3h ;将cl赋值shr dx,cl ;将dx右移3位add dl,30h ;将dl与30h相加mov ah,2 int 21h ;将置入dl寄存器的字符在屏幕上显示输出mov dx,bx ;将dx赋值and dx,7h ;将dx与7做与add dl,30h ;将dl与30h相加mov ah,2
15、 int 21h ;将置入dl寄存器的字符在屏幕上显示输出jmp loop5;=; 名称:divdw; 功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型;参数:(ax)=dword型数据的低16位; (dx)=dword型数据的高16位; (cx)=除数;返回:(dx)=结果的高16位,(ax)=结果的低16位;loop5:mov ah,1 int 21h ;按下任意键,将其对应字符的ASCII码送到al中 ,并在屏幕上显示该字符。 mov ax,4c00hint 21h divdw proc push bx push ax mov ax,dx mo
16、v dx,0 div cx mov bx,ax pop ax div cx mov cx,dx mov dx,bx pop bxretendp code endsend start4调试运行结果4.1调试运行结果如下图所示:图5 请求输入一个2进制数 图6 键盘输入一个2进制数图7 按1则显示8进制数 图8 按2则显示10进制数图9 按3则显示16进制数4.2 调试中遇到的问题 错误程序1图10 错误提示错误代码:mov cx,1000 call divdw mov dl,ax add dl,30h mov ah,2 int 21h更正后为:mov cx,1000 call divdw mov
17、 dl,al add dl,30h mov ah,2 int 21h错误原因分析:定义的类型不匹配,所以导致运行出错。 错误程序2 图11 错误提示错误代码:mov al,cl cmp al,'1'jz loop6更改后为:mov al,clcmp al,'1'jz loop3loop3: jmp loop6 错误原因分析:跳转的段落距离过大。5小结这次课设历时两个星期,在这两个星期里我学到了很多的东西,不仅巩固了以前学过的知识,而且学到了很多书本外的东西。初见题目时,心里还是感觉到有一点的茫然,因为不知道该从何处下手,不知道怎么去完成一份令自己满意的课程设计。
18、后来想起了以前上课的时候,老师在讲解一个程序之前总是先画出程序的原理方框图,这个看似简单的过程其实是非常重要的,它不仅是我程序设计的提纲,更是我一步步克服难题的保证。其次,在做课程设计的过程中,我对于一些编程工具还处于一知半解的状态下,在调试的过程中遇到了很多的困难,在同学、老师的帮助下,我试着去了解每个寄存器的内容以确保程序的正确。通过这次课程设计,我懂得了理论与实际结合的重要性,只有理论知识是远不够的,只有把理论和实际相结合,从理论中得出结论,从而提高自己的实际动手能力和独立思考能力才是课程设计的真正目的,在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国指纹锁行业发展分析及投资前景预测研究报告
- 2025-2030中国平板电视行业市场深度调研及发展趋势与投资前景研究报告
- 供应链集成安装中的风险控制机制设计-洞察阐释
- 2025-2030中国工程项目管理行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030中国工业喷墨打印头行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国尼古丁锭剂行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国学校笔记本行业市场发展趋势与前景展望战略研究报告
- 多云架构下的资源优化配置与动态调整-洞察阐释
- 2025-2030中国威化饼荚行业市场发展趋势与前景展望战略研究报告
- 战略伙伴关系的组织发展与成长路径探讨-洞察阐释
- 皮肤科临床诊疗规范2020版
- 陕西、山西省天一大联考2024-2025学年高中毕业班阶段性测试(七)历史试题及答案
- 高中数学不等式教学中的认知障碍诊断与干预机制研究
- 《大学生职业生涯规划与就业指导(实践版)》全套教学课件
- 建筑企业财务管理的风险控制与应对策略
- 抗生素合理使用研究试题及答案
- 2025仪征市众鑫建设开发有限公司笔试试题
- 游泳池安全保障制度和措施
- 2024-2025学年教科版科学一年级下册 1.6.哪个流动得快 教学课件
- 人教版(PEP)2024-2025六年级下册英语期中测试卷(含答案含听力原文无听力音频)
- 生态安全主题班会课件
评论
0/150
提交评论