欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    汇编语言显示bmp图像文件实验报告附源码.doc

    • 资源ID:99744       资源大小:680.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言显示bmp图像文件实验报告附源码.doc

    1、1. 问题描述用汇编语言编写程序,该程序能打开并显示一个.bmp位图图像文件。原本设想该程序在命令提示符下输入文件路径后直接打开文件,但是在用DosBox测试时发现不能寻找系统路径,后来将程序改成直接打开当前文件夹下的某个文件,不再输入文件路径。这个程序对图片文件格式有一定的要求,首先显示模式为320*200的256色模式,故位图属性应该是256色位图,即位深度为8。2. 位图相关知识BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据

    2、因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。BMP文件的数据按照从文件头开始的先后顺序分为四个部分:bmp文件头(bmp file header):提供文件的格式、大小等信息;位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息;调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表;位图数据(bitmap data):用来保存图像数据;色彩深度又叫色彩位数,即位

    3、图中要用多少个二进制位来表示每个点的颜色,是分辨率的一个重要指标。常用有1位(单色),2位(4色,CGA),4位(16色,VGA),8位(256色),16位(增强色),24位和32位(真彩色)等。其中24位和32位位图中没有调色板。在这个实验中,因为程序显示模式为256色,于是我采用8位色彩深度的位图图片。因此,我用windows的画图工具制作了一个320*200大小的256色位图图片。如图所示:为了便于了解位图文件的组成结构,先用UltraEdit软件将上图打开,图片数据如下图所示: 位图各部分组成结构如下表所示:地址偏移大小(字节)数值(十六进制)说明0000h242 2D位图的类型000

    4、2h436 FE 00 00文件大小(FE36H)0006h400 00 00 00保留位000Ah436 04 00 00位图数据开始的地址(0436H)000Eh428 00 00 00位图信息头的长度(Windows默认28)0012h440 01 00 00位图宽度(0140h=320)0016h4C8 00 00 00位图高度(00c8h=200)001Ch408 00 00 00每个像素位数(08h=28=256色)0036h256*400 00 调色板信息0076h6400000 40 图像数据,彩色调色板的索引号3. 数据结构在程序中,需要用到几个由数组组成的缓冲区。1、保存文

    5、件头信息的head,占54个字节2、保存调色板信息部分的color,占1024个字节3、图片数据信息部分datas,占64000个字节4. 算法描述读取失败打开失败打开失败读取成功打开成功打开文件读取文件设置显示模式结束向显存地址写入图像数据设置调色板信息5. 效果与测试情况测试图片:6. 分析与讨论实验中出现的问题及解决办法:1、问题:程序运行时停在一步没有反应; 分析:猜测是文件并没有打开成功或者读取文件失败,无法继续程序,而我当时没有加入文件打开失败的处理代码,因此程序无法继续进行; 解决方法:在源代码中加入文件打开失败和文件读取失败的处理代码。2、问题:用问题1的解决方法之后一直提示文

    6、件打开失败;分析:经过测试发现在使用虚拟机DosBox测试程序时不能识别图片文件路径,导致找不到文件,因此无法打开; 解决方法:删去文件名前面的路径,改成直接打开当前目录下的文件,但需提前在源程序文件夹下放置测试图片;仍需解决的问题:1、只能处理一种类型的图片,且对文件尺寸大小和色彩深度有要求,程序兼容性不高;7. 参考资料1沈美明,温冬婵. IBM-PC汇编程序设计. 北京:清华大学出版社,20018. 源代码data segmentfile db weitu256.bmp,00headdb 54 dup(0);位图头信息部分00h-35hcolor db 1024 dup(0);调色板信息

    7、部分36h-0435hdatas db 64000 dup(0);图片数据信息部分,0436h-fa36herror1 db failed to open file!,24herror2 db failed to read file!,24hdata endsstacks segment stackdw 100 dup(0)top label wordstacks endscode segment assume cs:code,ss:stacks,ds:datamain proc farmov ax,datamov ds,axmov ax,stacksmov ss,axlea sp,top;只

    8、读方式打开文件mov ah,3dhmov al,00hlea dx,fileint 21hjc openError;将文件读入内存从bmphead开始的数据缓冲区mov bx,ax;bx=文件代号mov ah,3fhmov cx,0fe36h ;cx=读取的字节数,即图片文件大小lea dx,headint 21hjc readError;设置显示模式 256色,320200像素mov ax,0013hint 10h;设置调色板,输出(OUT)色彩索引号,共写256次mov cx,256mov bl,0mov di,0L1:mov al,blmov dx,03c8hout dx,almov d

    9、x,03c9hmov al,colordi+2;位图中调色板存放格式:shr al,1shr al,1out dx,al;dx=端口号mov al,colordi+1shr al,1shr al,1out dx,almov al,colordishr al,1shr al,1out dx,aladd di,4inc blloop L1;向显存地址写入数据mov ax,0a000h;显存地址(0A000:00000A000:0F9FF)mov es,ax;位图中图像由底向上自左向右存储,;而显示屏上要求从上至下mov di,63680d;320*199lea si,datas;故从底写至上,写图像索引号及RGB数据mov bx,200loop2:mov cx,320loop1:mov al,simov es:di,alinc si;指向该行下一像素inc diloop loop1sub di,640;写上一行,320+320dec bxcmp bx,0jnz loop2jmp exitopenError:lea dx,error1mov ah,9int 21hjmp exitreadError:lea dx,error2mov ah,9int 21hexit:mov ah,4chint 21hmain endpcode endsend main


    注意事项

    本文(汇编语言显示bmp图像文件实验报告附源码.doc)为本站会员(飞猪)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开