下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据传送程序设计一、实验目的:学习数据传送的用法以及与数据有关的不同寻址方式。熟悉汇编语言程序的上机运行过程。学会使用DEBUG命令调试程序。二、实验仪器:1〕仪器:英特尔586配置以上电脑一台,内存512MB以上,windowsxp操作系统。2〕软件:MASM5.0汇编软件或者EMU8086三、实验内容:1)将40个字母A的字符串从源缓冲区传送到目的缓冲区。2)将26个小写英文字母存放到数据段1偏移地址为2000H单元开始的内存中,然后转换成大写字母并传送到数据段2以3000H单元开始的存储区。四、实验步骤:点击电脑的“开始”—》“运行”,输入“CMD”,翻开DOS系统界面通过CD命令进入MASM软件目录使用edit命令编辑程序〔程序清单见〕C:\MASM>EDITfilename.ASM(enter)〔filename可以自己随意命名〕4〕使用masm和link命令对程序进行汇编,连接。C:\MASM>MASMfilename.asm(enter)C:\MASM>linkfilename.obj(enter)5〕使用Debug命令调试程序,观察调试过程中数据传输指令执行后各存放器及数据区的内容。C:\MASM>DEBUGfilename.EXE屏幕上出现一个短划线。为了确定我们所要设定的断点地址,常常用到反汇编命令,反汇编命令格式如下:--U;从当前地址开始反汇编用G命令来设置断点。比方想把断点设置在301CH处,那么如下打入命令:—G301C;程序在0120H处停下,并显示出所有存放器以及各标志位的当前值,在最后一行还给出下一条将要执行的指令的地址、机器语言和汇编语言,可以从显示的存放器的内容来了解程序运行是否正确。对于某些程序段,单从存放器的内容看不到程序运行的结果,而需要观察数据段的内容,此时可用D命令,使用格式如下:—DDS:0000;从数据段的O单元开始显示128个字节—t单步执行—R查看存放器的值—Q;退出五、程序清单:程序1:datasegment ;数据段的定义source_bufferdb40dup('A')dataends;**************extrasegment ;附加段的定义dest_bufferdb40dup(?)extraendscodesegmentorg0100h ;程序首地址assumecs:code,ds:data,es:extrastart:pushds subax,ax pushax movax,data movds,ax movax,extra moves,ax leasi,source_buffer leadi,dest_buffer Cld movcx,40 repmovsb movah,4ch int21h codeends endstart程序2:data1segment ;定义数据段1 org2000h ;变量存放至数据段2000h单元 source_bufferdb26dup(?) ;预留26个字节单元data1endsdata2 segment org3000h dest_buffer1db26dup(?)data2 endsextra segment dest_buffer2db26dup(?)extra endscode segment org0100hassume cs:code,ds:data1,ds:data2,es:extrastart:movax,data1 movds,ax leasi,source_buffermovax,'a' movcx,26xiao:mov[si],axincsiincaxloopxiao leadi,dest_buffer2 cld movcx,26 movax,extramoves,ax leasi,source_bufferda1: lodsb ;源串DS:SI中数据送axsubax,20h ;将字符串转换为大写字母stosb ;ax内容送ES:DI loopda1 movax,data2 movds,ax leadi,dest_buffer1 leasi,dest_buffer2 movcx,26da2: movax,es:[si] mov[di],axincsiincdiloopda2 movax,movah,4ch int21hcode ends 程序2流程图end start六、实验结果及分析:图1程序1实验结果图2程序2实验结果实验结果分析:图1中字母送入数据段及附加段以0000H为偏移段首址的同时,在以1459:0030段开始的数据段也送入了相同的数据,这是因为1459:0030与145C:0000对应相同的物理地址,即14590H+0030H=145C0H+0000H=145C0H。图2中显示大写字母与小写字母存放在不同数据段,这是因为程序中先将小写字母送入以偏移地址为2000H单元开始的数据段1,此时该数据段段基址为1461H,然后编写程序将小写字母转换成大写字母送入附加段中暂存,最后将附加段中的数据传送至偏移地址为3000H开始的数据段2,此时的段基址为1663H。
七、实验思考与总结:思考:如果不用串操作指令,该如何修改程序?图3思考题实验结果思考题采用传送指令与循环控制语句实现了字符串的传送操作,这种方法相比串操作指令简单容易理解,但是不适合大批量无规律数据操作。实验总结:本次数据传送实验验证了数据的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度租赁场地保险合同范本
- 2024年度融资借款合同服务内容详细与属性
- 2024年度企业管理咨询合同:餐饮业人力资源优化咨询
- 2024年度茶楼员工劳动合同
- 2024年度服装鞋帽代理招商合同
- 2024年度劳动合同:某知名企业高管招聘与薪酬福利
- 2024年度智能制造生产线建设与技术服务合同
- 旅游业分包单位合同管理制度
- 物流供应链项目服务合同
- 浙江工业大学之江学院《园林设计》2023-2024学年第一学期期末试卷
- DALI照明工程中的常见问题及解决方案
- 北京市地铁2023员工入场安全教育考试题(含答案)
- 卢彰诚《电子商务综合实践教程》课程标准
- 《关键跨越 新手篇 从业务高手到优秀主管》读书笔记PPT模板思维导图下载
- 血液系统疾病概述
- 建筑工程深基坑工程施工技术总结
- 汉英翻译基础教程冯庆华
- 公司供货单(钢材类)
- von frey丝K值表完整版
- 北京中考完形填空专项试题汇编(有答案)
- 廉洁承诺书(项目经理或项目负责人)
评论
0/150
提交评论