




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息科学技术学院实验报告(首页) 课程名称汇编语言班级16软件工程1班实验名称编写、调试具有多个段的程序教导教师姓名学号日期 2018.04.06一、实验目的 掌握在汇编代码中正确使用多个段二、实验设备与环境计算机DOS操作系统或 Windows 操作系统MASM.EXE, LINK.EXE, DEBUG.COM 或宏汇编集成环境3、 实验内容、程序清单及运行结果(1) 实验内容:程序清单:Assume cs:code,ds:data,ss:stackData segmentDw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hData endsStack segmentDw 0,0,0,0,0,0,0,0Stack endsCode segmentStart:mov ax,stackMov ss,axMov sp,16Mov ax,dataMov ds,axPush ds:0Push ds:2Pop ds:2Pop ds:0Mov ax,4c00hInt 21hCode endsEnd start运行结果:Data段的内容CPU执行程序,程序返回前,data段即ds段中的数据为0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h。(红色标记处)CPU执行程序,程序返回前,cs=0774h、ss=0773h、ds=0772h。(绿色标记处)设程序加载后,code段的段地址为X,则data段的段地址为X-2,stack段的段地址为X-1。(2) 实验内容:程序清单:Assume cs:code,ds:data,ss:stackData segmentDw 0123h,0456hData endsStack segmentDw 0,0Stack endsCode segmentStart:mov ax,stackMov ss,axMov sp,16Mov ax,dataMov ds,axPush ds:0Push ds:2Pop ds:2Pop ds:0Mov ax,4c00hInt 21hCode endsEnd start运行结果:Data段的内容CPU执行程序,程序返回前,data段即ds段中的数据为0123h,0456h,0,0,0,0,0,0。(红色标记处)CPU执行程序,程序返回前,cs=0772h、ss=0771h、ds=0770h。(绿色标记处)设程序加载后,code段的段地址为X,则data段的段地址为X-2,stack段的段地址为X-1。对于如下定义的段:name segmentname ends如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为 (N/16+1)*16(3) 实验内容:程序清单:Assume cs:code,ds:data,ss:stackCode segmentStart:mov ax,stackMov ss,axMov sp,16Mov ax,dataMov ds,axPush ds:0Push ds:2Pop ds:2Pop ds:0Mov ax,4c00hInt 21hCode endsData segmentDw 0123h,0456hData endsStack segmentDw 0,0Stack endsEnd start运行结果:Data段的内容CPU执行程序,程序返回前,data段即ds段中的数据为0123h,0456h,0,0,0,0,0,0。(红色标记处)CPU执行程序,程序返回前,cs=0772h、ss=0776h、ds=0775h。(绿色标记处)设程序加载后,code段的段地址为X,则data段的段地址为X+3,stack段的段地址为X+4。(4) 实验内容:结果:第(3)个程序能够执行,(1)、(2)将无法执行,因为当去掉“start”后,程序将不知道第一句执行语句的入口,默认从程序的开头执行程序,而(1)、(2)程序的开头是数据段,故而导致执行出错。(5) 实验内容:程序清单:assume cs:codea segmentdb 1,2,3,4,5,6,7,8a endsb segmentdb 1,2,3,4,5,6,7,8b endsc segmentdb 0,0,0,0,0,0,0,0c endscode segment start:mov ax,cmov es,axmov ax,amov ds,axmov cx,8mov ax,0mov bx,0again1:mov al,ds:bxmov es:bx,alinc bxloop again1/第一个循环,将a段的数据填入c段mov ax,bmov ds,axmov bx,0mov cx,8again2:mov al,ds:bxadd es:bx,alinc bxloop again2/第二个循环,将b段的数据依次和c段数据相加,结果 存入cmov ax,4c00hint 21hcode endsend start运行结果:第一次循环后,c段的内容第二次循环后,c段的内容,可以看到,和预期效果相符。(6) 实验内容: 程序清单:assume cs:codea segmentdw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffha endsb segmentdw 0,0,0,0,0,0,0,0b endscode segment start:mov ax,bmov ss,axmov sp,10h;设置b段为栈段mov ax,amov ds,axmov cx,8mov ax,0mov bx,0again:push ds:bx;压入栈,即压入b段inc bxinc bxloop againmov ax,4c00hint 21hcode endsend start运行结果:循环运行后的结果,0774:0为b段,结果和预期相符。4、 实验心得1、 程序默认以16字节为边界对齐,所以不足16字节的部分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年服装行业可持续时尚发展前景研究报告
- 商场女装销售培训课件
- 2025年生态旅游行业创新设计及市场前景研究报告
- 2025年房地产行业智能家居技术应用前景研究报告
- 2025年物联网产业自动驾驶技术应用前景与未来发展趋势研究报告
- 2025年医疗大数据行业创新应用与市场前景研究报告
- 国家事业单位招聘2025商务部外贸发展事务局招聘23人笔试历年参考题库附带答案详解
- 四川省2025上半年四川西南医科大学考核招聘高层次人才20人笔试历年参考题库附带答案详解
- 北京市2025中央民族乐团应届毕业生招聘4人笔试历年参考题库附带答案详解
- 五大连池市2025黑龙江黑河市五大连池风景区农业农村乡村振兴服务中心招聘1名公益性岗笔试历年参考题库附带答案详解
- 水资源基础调查项目方案 投标文件(技术方案)
- 女性围绝经期营养管理中国专家共识(2025版)
- 2025驾驶员安全教育培训
- GB/T 16545-2025金属和合金的腐蚀腐蚀试样上腐蚀产物的清除
- 无人机公司飞手管理制度
- 房地产抵押贷款合同电子版预览
- 电池(组)装配工职业技能鉴定经典试题含答案
- 公路机电安全培训课件
- 质量策划与质量控制培训
- 泥水盾构培训课件
- 个体诊所药品管理制度
评论
0/150
提交评论