资源描述:
《汇编语言实验报告模块化程序设计内容.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汇编语言实验报告AssemblyLanguageProgrammingLab Reports______________________________________________________________________________班级:姓名:学号:实验日期:学院:专业:实验顺序:原创:___实验名称:模块化程序设计实验分数:_______考评日期:________指导教师:______________________________________________________________________________一.实验目的1、掌握
2、宏定义的相关内容。(1)伪指令:MACRO,ENDM。(2)掌握宏定义时的哑元,变元,&分割符的使用。变元可以是操作数,操作码,操作码的一部分和&联合使用,存储单元,字符串。(3)掌握宏调用时的实元和宏的展开。2.掌握宏运算(1)&替换运算符(2)<>传递运算符(3)!转义运算符号(4)%表达式运算符(5);;宏注释符3、其它宏功能(1)宏标号LOCAL(2)宏删除purge(3)宏嵌套,宏展开中的数字1代表插入的程序是宏定义实体中的。宏嵌套在展开时里层被嵌套调用的宏会显示嵌套调用的层次,待验证。(4)宏库的建立和调用4、结构伪操作(1)结构定义结构名STRUG结
3、构体结构名ENDS(2)结构预置(3)结构引用5、重复汇编和条件汇编。6、多模块结构程序设计(1)全局符号定义PUBLIC(2)外部符号说明EXTRN(3)段属性与段组合(4)参数传递7、宏指令和子程序的区别(1)工作方式的区别,在多次调用时,使用宏指令占用较大空间但速度较快。使用子程序占用空间小但执行时间长。(2)参数传递的方便性。(3)参数的多样性和灵活性,宏指令的实参数可以是常数,寄存器,内存变量,操作码或操作码的一部分,操作数的一部分等,子程序是不可以比拟的。鉴于以上区别,编程时应该扬长避短地使用宏指令和子程序,通常宏指令被用在代码较短且参数较多的场合,子
4、程序被用在代码较长的场合。8、模块连接(1)外部引用与全局符号说明(2)使用公用数据段实现通信过程段定义伪指令在定义组合类型时定义为COMMON类型,这样在连接时会把多个程序的同名数据段连接时重叠形成一个段,产生段覆盖。允许各模块使用不同的变量名,但是主模块和子模块的数据在定义这些变量上应当有对应的结构。(3)使用寄存器或者堆栈实现过程通信。______________________________________________________________________________一.实验环境操作系统:windows8编译程序:masm5.0____
5、__________________________________________________________________________二.实验原理1、宏库的建立和调用2、多模块结构程序设计_______________________________________________________________________四.实验步骤及结果分析1、宏库的建立和调用宏库的建立:;8-1.macinputmacromovah,01hint21hendmoutputmacroxmovdl,xmovah,02hint21hendmretsysmacro
6、movah,4chint21hendmaddimacrox1,x2,resultmovax,x1addax,x2movresult,axendmstr_movmacroopr1,opr2,opr3movcx,opr1leasi,opr2leadi,opr3cldrepmovsbEndm主程序:include8-1.mac.modelsmall.stack100hdatasegmentxdb33h,34hydw?mess1db1,2,3,4,5,6,7,8,9,0mess2db10dup(?)dataendscodesegmentassumecs:code,ds:d
7、atastart:movax,datamovds,axstr_mov10,mess1,mess2str_mov2,x,yinputsubal,20houtputaladdi34,25,yretsyscodeendsendstartLST文件:Microsoft(R)MacroAssemblerVersion5.005/23/1510:51:45Page1-1include8-1.macCinputmacroCmovah,01hCint21hCendmCCoutputmacroxCmovdl,xCmovah,02hCint21hCendmCCretsysmacro
8、Cmova