- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇 编 语 言 实 验 报 告
Assembly Language Programming Lab?Reports
______________________________________________________________________________
班级:姓名: 学号: 实验日期:
学院: 专业:
实验顺序: 原创:___ 实验名称:模块化程序设计
实验分数:_______ 考评日期:________ 指导教师:
______________________________________________________________________________
实验目的
掌握宏定义的相关内容。
伪指令: MACRO,ENDM。
掌握宏定义时的哑元,变元,分割符的使用。变元可以是操作数,操作码,操作码的一部分和联合使用,存储单元,字符串。
掌握宏调用时的实元和宏的展开。
掌握宏运算
替换运算符
传递运算符
!转义运算符号
%表达式运算符
;;宏注释符
其它宏功能
宏标号LOCAL
宏删除purge
宏嵌套,宏展开中的数字1代表插入的程序是宏定义实体中的。宏嵌套在展开时里层被嵌套调用的宏会显示嵌套调用的层次,待验证。
宏库的建立和调用
结构伪操作
结构定义
结构名 STRUG
结构体
结构名 ENDS
结构预置
结构引用
5、重复汇编和条件汇编。
多模块结构程序设计
(1)全局符号定义PUBLIC
(2)外部符号说明EXTRN
(3)段属性与段组合
(4)参数传递
7、宏指令和子程序的区别
(1)工作方式的区别,在多次调用时,使用宏指令占用较大空间但速度较快。使用子程序占用空间小但执行时间长。
(2)参数传递的方便性。
(3)参数的多样性和灵活性,宏指令的实参数可以是常数,寄存器,内存变量,操作码或操作码的一部分,操作数的一部分等,子程序是不可以比拟的。
鉴于以上区别,编程时应该扬长避短地使用宏指令和子程序,通常宏指令被用在代码较短且参数较多的场合,子程序被用在代码较长的场合。
模块连接
外部引用与全局符号说明
使用公用数据段实现通信过程
段定义伪指令在定义组合类型时定义为COMMON类型,这样在连接时会把多个程序的同名数据段连接时重叠形成一个段,产生段覆盖。允许各模块使用不同的变量名,但是主模块和子模块的数据在定义这些变量上应当有对应的结构。
使用寄存器或者堆栈实现过程通信。
______________________________________________________________________________
实验环境
操作系统:windows 8
编译程序:masm 5.0
______________________________________________________________________________
实验原理
1、宏库的建立和调用
2、多模块结构程序设计
_______________________________________________________________________
实验步骤及结果分析
宏库的建立和调用
宏库的建立:
;8-1.mac
input macro
mov ah,01h
int 21h
endm
output macro x
mov dl,x
mov ah,02h
int 21h
endm
retsys macro
mov ah,4ch
int 21h
endm
addi macro x1,x2,result
mov ax,x1
add ax,x2
mov result,ax
endm
str_mov macro opr1,opr2,opr3
mov cx,opr1
lea si,opr2
lea di,opr3
cld
rep movsb
Endm
主程序:
include 8-1.mac
.model small
.stack 100h
data segment
x db 33h,34h
y dw ?
mess1 db 1,2,3,4,5,6,7,8,9,0
mess2 db 10 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
str_mov 10,mess1,mess2
str_mov 2,x,y
input
sub al,20h
output al
addi 34,25,y
retsys
code ends
end start
LST文件:
Microsoft (R) Macro Assembler Version 5.00
您可能关注的文档
- 函数项级数收敛判别法的推广和应用【开题归纳总结报告+文献综述+毕业论文】.doc
- 韩山师范学院2013年本科教学质量归纳总结报告.doc
- 汉语拼音教学研究开题归纳总结报告.doc
- 国庆假期社会实践活动归纳总结报告.doc
- 河北建筑工程学院数字电压表课程设计归纳总结报告.doc
- 河北科技大学毕业实习归纳总结报告.doc
- 河间瀛州化工有限责任公司年产2万吨甘氨酸、30万吨砼外加剂及4.2万吨医药及芳纶中间体项目验收监测归纳总结报告.doc
- 河南平高电气股份有限公司电镀厂房扩建项目环境影响归纳总结报告书.doc
- 河源市学归纳总结报告学法规答案.doc
- 核桃种植、深加工项目可行性研究归纳总结报告.doc
文档评论(0)