收藏 分享(赏)

汇编语言实验5.doc

上传人:ysd1539 文档编号:6542314 上传时间:2019-04-16 格式:DOC 页数:11 大小:205.89KB
下载 相关 举报
汇编语言实验5.doc_第1页
第1页 / 共11页
汇编语言实验5.doc_第2页
第2页 / 共11页
汇编语言实验5.doc_第3页
第3页 / 共11页
汇编语言实验5.doc_第4页
第4页 / 共11页
汇编语言实验5.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 计算机科学系实验报告(首页) 一、实验目的:掌握具有代码段、数据段、堆栈段等多个段程序的编写和调试二、实验内容、程序清单及运行结果1、编译连接下面程序,用debug加载、跟踪,回答问题。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,stack mov ss,axmov sp,16 mov ax,data m

2、ov ds,axpush ds:0push ds:2pop ds:2pop ds:0mov ax,4c00hint 21hcode endsend start(1)CPU执行程序,程序返回前,data段中的数据为多少?执行程序后,data段中的数据不变,为原始数据。(2)CPU执行程序,程序返回前,cs=0772H,ss=0771H,ds=0770H.(3)程序加载后,code段地址设为X,则data段地址为(x-2),stack段的段地址为(X-1).2、编译连接下面程序,用debug加载、跟踪,回答问题。assume cs:code,ds:data,ss:stackdata segment

3、dw 0123h,0456hdata endsstack segmentdw 0,0stack endscode segmentstart:mov ax,stack mov ss,axmov sp,16 mov ax,data mov ds,axpush ds:0push ds:2pop ds:2pop ds:0mov ax,4c00hint 21hcode endsend start(1)CPU执行程序,程序返回前,data段中的数据为多少?执行程序后,data段有16个字节空间,前两个字数据不变,其余为0。(2)CPU执行程序,程序返回前,cs=0772H,ss=07771H,ds=077

4、1H。(3)程序加载后,code段地址设为X,则data段地址为(x-2),stack段的段地址为(X-1)。(4)对于如下定义的段:name segmentname ends如果段中数据位N个字节,程序加载后,该段实际占据空间为N/16Byte。3、编译连接下面程序,用debug加载、跟踪,回答问题。assume cs:code,ds:data,ss:stackcode segmentstart:mov ax,stack mov ss,axmov sp,16 mov ax,data mov ds,axpush ds:0push ds:2pop ds:2pop ds:0mov ax,4c00h

5、int 21hcode endsdata segmentdw 0123h,0456hdata endsstack segmentdw 0,0stack endsend start(1)CPU执行程序,程序返回前,data段中的数据为多少?data 段数据未变。(2)CPU执行程序,程序返回前,cs=0070H,ss=0074H,ds=0073H。(3)程序加载后,code段地址设为X,则data段地址为(x+3),stack段的段地址为(X+4)。5、编写code段中的代码,将a段和b段数据依次相加,结果存入c段assume cs:codea segmentdb 1,2,3,4,5,6,7,8

6、a endsb segmentdb 1,2,3,4,5,6,7,8b endsc segmentdb 0,0,0,0,0,0,0,0c endscode segmentstart:mov ax,amov ds,axmov ax,bmov ss,axmov ax,cmov es,axmov bx,0mov cx,8s:mov al,ds:bxadd al,ss:bxmov es:bx,alinc bxloop smov ax,4c00hint 21hcode endsend start 6、编写code段中代码,用push指令将a段中前8个字型数据逆序存储到b段中。assume cs:codea

7、 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 segmentstart:mov ax,amov ds,axmov ax,bmov ss,axmov sp,10hmov bx,0mov cx,8s:push ds:bxadd bx,2loop smov ax,4c00hint 21hcode endsend start三、实验结论、实验体会将程序中的数据、代码、栈放入不同的段,可以是编写的程序更加有逻辑性,他人容易看懂,也更好用地debug进行调试,跟踪程序的执行过程。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报