微机原理与接口技术实验——码转换报告_第1页
微机原理与接口技术实验——码转换报告_第2页
微机原理与接口技术实验——码转换报告_第3页
微机原理与接口技术实验——码转换报告_第4页
微机原理与接口技术实验——码转换报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验内容:编制程序,把十进制数15786转化成二进制数。提示:15786=1×10×10×10×10+5×10³+7×10²+8×10+6 循环cx=5实验要求:1.绘出练习1和2的程序流程图。 2编写完整的程序,上机调试。 3使用debug调试命令,查看中间结果,并查看最终结果。二、程序清单 data segmentbuffer1 dd 15786data ends code segmentassume cs:code,ds:data,es:datastart: mov ax,data mov ds

2、,ax mov es,ax lea si,buffer1 ;取出十进制数的首地址 mov bx,si ;将首地址的内容放到寄存器 mov cx,16 ;循环次数next1: mov dl,31h ;1 shl bx,1 ;左移一位,将最高位移到进位位中 jc next2 ;进位位为1,即最高位为1,跳转输出1 mov dl,30h ;否则输出0next2: mov ah,02h int 21h loop next1 ;循环 mov ah,4ch int 21hcode endsend start程序流程图见下页:开始将数据从地址中取出,设置存放的寄存器设置cx的数值将数据左移一位c中为1?将a

3、scii码31h输出,即输出为1将ascii码30h输出,即输出为0cx=0? 结束 程序流程图三、运行结果程序编译:程序链接:程序运行结果:程序运行结果:15786十进制数转换为二进制输出为0011 1101 1010 1010四、调试分析及体会调试分析:在此次编程中第一次编出的程序经过编译没有错误之后经过链接运行结果不正确。首先自己进行检查,通过检查发现自己没有认真,在编写程序时,误把十进制数15786写成了16进制,写为了15786h(因为这个自己一直没有检查出来,还在调试如何改正),后来检查了出来。因为这个缘故,在进行把数字取出放入寄存器的时候,由于bx是16位数据寄存器,而20位的数

4、放不下,于是在循环输出二进制数时,首先不会输出20位,其次输出的结果是与15786h相关的二进制,结果完全错误。在之后的程序中,由于自己的考虑全面,觉得15786小于65536即0ffffh,就将cx设置为了14,由于循环次数比正确程序少了两位,十进制在转化出来之后结果与正确结果相比少了低两位。附:此次错误的源程序,以及编译连接运行过程及调试过程:错误的程序:data segmentbuffer1 dd 15786data ends code segmentassume cs:code,ds:data,es:datastart: mov ax,data mov ds,ax mov es,ax

5、lea si,buffer1 mov bx,si mov cx,14next1: mov dl,31h shl bx,1 jc next2 mov dl,30hnext2: mov ah,02h int 21h loop next1 mov ah,4ch int 21hcode endsend start编译链接运行:编译:链接:运行: 主要过程的单步调试:通过单步调试,发现其余的寄存器等结果都正确,主要因为循环次数的不正确,导致在二进制数输出时,想比正确程序提前结束,到之后两位缺少,输出不完全。在发现这个原因之后进行改正,最终得到正确的输出结果。体会:首先,写程序重点在于思路,之前一直没有在

6、写程序之前画程序流程图的习惯,程序流程图就是整个程序的思路,这样才能逻辑性比较强的写出程序。并且自己还是写程序的逻辑性不够强,以后还需加强。其次,再码转换这个程序中,让自己首先请出了一个概念,当数字输入计算机之后,计算机是以二进制数进行存储的,而要以二进制输出,即为将数据从电脑中输出即可,在这里,移位来输出会表现得比较简单易行。在最初的编写中,首先没有看清题目,导致自己在开始时走了很多弯路,但是自己在弯路中也学会了很多,因为在把数字当作十六进制数后,变成了二进制20位的,当时一直在想办法把16位放入通用寄存器输出以后,把另外四位如何解决,虽然最后没有行得通,但是过程最重要,就是要在过程中将书本上的知识加以利用,更深刻的理解。结果只是一个简单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论