- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(汇编实验三
信息学院
汇编语言程序设计 实验报告
实验名称 寻址方式及应用
实验室 实验楼316 实验日期 2015-05-20
实验目的:
掌握多段编程方法;掌握多种寻址方式,并会灵活应用于汇编程序中。
实验内容:
编写程序,完成code段中的代码,实现a段和b段中的数据依次相加,将结果存在c段中。
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
?
code ends
end start
程序如下,编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中。
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
?
code ends
end start
编程,将datasg段中的每个单词前4个字母改为大写字母。
assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db 1. display......
db 2. brows........
db 3. replace......
db 4. modify.......
datasg ends
codesg segment
start: ……
codesg ends
end start
三、实验过程及结果
1、
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov bx,0
mov cx,8
s:mov al,ds:[bx]
add al,es:[bx]
mov ss:[bx],al
add bx,1
loop s
mov ax,4c00h
int 21h
code ends
end start
运行结果及分析:
运行程序后,查看当前寄存器的状态,并用u命令进行反汇编,查看代码
用t命令,单步执行,同时查看代码段,数据段所在的内存单元的位置;将代码段,数据段,堆栈段,附加段的起始地址分别赋值给相应的堆栈段寄存器。
如上图,单步执行,循环次数为8,通过add al,[bx]实现a段和b段中的数据依次相加,并将结果存放在s段中
寄存器地址加1,实现下一个对应数据的相加。单步执行到loop时,用p命令循环执行至最后一步,并用d命令查看最终堆栈段中数据的变化,结果如下图。
2、
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10h
mov cx,8
mov bx,0
s:push ds:[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
运行结果及分析:
成功运行程序,并用u命令进行反汇编,查看代码
用t命令,单步执行,同时查看代码段,数据段所在的内存单元的位置;将
您可能关注的文档
最近下载
- 2023年度公务员考试(公考)行政职业能力测验(行测)测试卷(附答案和解析).pdf VIP
- LittleSwan小天鹅TB36V81H 波轮全自动洗衣机 巴赫银 门盖巴赫银 波轮式 220V,1Ph 50Hz.pdf
- 广东梅州抽水蓄能电站二期环境影响报告书(送审稿).doc
- 第一讲:形势与政策课件.ppt VIP
- 大型轧辊激光毛化及表面强化成套系统项目建议书.pdf
- 林和靖意象在日本文化中的流播和变异___以汉诗文为中心.pdf
- 阳光棚光伏支架结构计算书.pdf
- Project 2 Our friends(教案)-2021-2022学年英语五年级上册 .docx
- 气测录井资料解释与应用详细课件.ppt VIP
- 气测录井资料解释与应用详细课件.pptx VIP
文档评论(0)