数据传送程序设计.docx
《数据传送程序设计.docx》由会员分享,可在线阅读,更多相关《数据传送程序设计.docx(6页珍藏版)》请在优知文库上搜索。
1、数据传送程序设计一、实验目的:1)学习数据传送的用法以及与数据有关的不同寻址方式。2)熟悉汇编语言程序的上机运行过程。3)学会使用DEBUG命令调试程序。二、实验仪器:1)仪器:英特尔586配置以上电脑一台,内存512MB以上,Windowsxp操作系统。2)软件:MASM5.0汇编软件或者EMU8086三、实验内容:D将40个字母A的字符串从源缓冲区传送到目的缓冲区。2)将26个小写英文字母存放到数据段1偏移地址为2000H单元开始的内存中,然后转换成大写字母并传送到数据段2以3000H单元开始的存储区。四、实验步骤:1)点击电脑的“开始”一“运行”,输入“CMD”,翻开DOS系统界面2)通
2、过CD命令进入MASM软件目录3)使用edit命令编辑程序(程序清单见)C:MASMEDITfiIename.ASM(enter)(filename可以自己随意命名)4)使用masn和Iink命令对程序进行汇编,连接。C:MSMMSMfilename,asm(enter)C:MASMlinkfilename,obj(enter)5)使用Debug命令调试程序,观察调试过程中数据传输指令执行后各存放器及数据区的内容。CMASMDEBUGfilename.EXE屏幕上出现一个短划线。为了确定我们所要设定的断点地址,常常用到反汇编命令,反汇编命令格式如下:-U;从当前地址开始反汇编用G命令来设置断点
3、。比方想把断点设置在30ICH处,那么如下打入命令:-G301C;程序在012OH处停下,并显示出所有存放器以及各标志位的当前值,在最后一行还给出下一条将要执行的指令的地址、机器语言和汇编语言,可以从显示的存放器的内容来了解程序运行是否正确。对于某些程序段,单从存放器的内容看不到程序运行的结果,而需要观察数据段的内容,此时可用D命令,使用格式如下:- DDS100OO;从数据段的0单元开始显示128个字节- t单步执行- R查看存放器的值- Q;退出五、程序清单:程序1:datasegment;数据段的定义source,bufferdb40dup(,)dataends;*extrasegmen
4、t;附加段的定义dest_bufferdb40dup(?)extraendscodesegmentorgOlOOh;程序首地址assumecs:code,ds:data,es:extrastart:pushdssubax,axpushaxmovax,datamovds,axmovax,extramoves,axleasi,source_bufferleadi,dest_bufferCldmovex,40repmovsbmovah,4chint21hcodeendsendstart程序2:datalsegment;定义数据org2000h;变量存放数据段2000h单元source_bufferd
5、b26dup(?);预留26个节单元datalendsdata2segmentorg3000hdest_bufferldb26dup(?)data2endsextrasegment将附加段教据送入数据段2dest_buffer2db26dup(?)extraendscodesegmentorgOlOOhassumecs:code,ds:datal,ds:data2,es:extrastart:movax,datalmovds,axxiao:leasi,source_buffermovax,a,movex,26movsi,axdal:incsiincaxloopxiaoleadi,dest_bu
6、ffer2cldmovex,26movax,extramoves,axleasi,source_bufferIodsb;源串DS:Sl中数据送axsubax,20h;将字符串转换为大写字母stosb;ax内容送ES:DIda2:loopdalmovax,data2movds,axleadi,dest_bufferlleasi,dest_buffer2movex,26movax,es:sicodemovdi,axincsiincdiloopda2movax,movah,4chint21hendsendstart程序2流程图六、实验结果及分析:SaC:Windov/s$y$tem32cmd.exe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 传送 程序设计