- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter10结构和宏
第10章 结构和宏 本章要点: 结构 宏 条件汇编伪指令 定义重复块 结构是用户自定义类型的模板或模式,它包含了逻辑上相互关联的一组变量。 结构中的单个变量称为域。 程序语句可以将结构作为单个实体进行访问,也可以对单个域进行访问。 结构的使用包含三个按顺序进行的步骤: 定义结构 声明一个或多个该结构类型的变量,称为结构变量 写运行时指令访问结构的域 结构本身并不占用存储空间,但结构变量一旦 声明则占用存储空间。 定义结构 使用STRUCT和ENDS伪指令来定义结构 格式为: 名字 STRUCT 域的定义 名字 ENDS 结构内部中域的定义格式与普通变量的定义格式相同 域的初始化:如果在域的定义中为域提供了初始化值,在声明结构变量时这些初始化值将成为域的默认值。 结构中可使用多种类型的初始化值: 未定义:使用“?”表示域内容未定义。 字符串:用引号引起的字符初始化字符串域。 整数:使用整数常量或整数表达式初始化整数域。 数组:当域是一个数组时,使用DUP操作符初始化数组元素。 Employee STRUCT IdNum byte ‘000000000’ LastName byte 30 dup(0) Years word 0 SalaryHistory dword 0, 0, 0, 0 Employee ENDS 结构中域的对齐 为了取得最佳的I/O性能,结构的成员应该根据其数据类型进行对齐。 在汇编语言中,ALIGN伪指令设置一个变量或域的地 址对齐方式: ALIGN datatype 例如: .data ALIGN DWORD ;将以下的myVar对齐在双字边界上 myVar DWORD ? 重新定义Employee结构: 声明结构变量 定义结构类型之后,可以声明结构的实例,并用特定值进行初始化,称为结构变量。 如果声明的时候使用尖括号 ,编译器将保留默认的域 初始值;也可以通过在尖括号中插入值给域赋新值。 结构变量的初始化中,可以插入逗号作为占位符,以忽略对结构中某些域的初始化: person3 Employee , “Jones” 如果某个域包含一个数组,可以使用DUP操作符初始化某些或全部数组元素。 如果初始化值比域短,那么剩余位置将用0填充: person4 Employee , , , 2 DUP(20000) 声明结构数组: NumPoints=3 AllPoints COORD NumPoints DUP (0,0) 引用结构变量 TYPE和SIZEOF操作符既可用于引用结构变量也可用于引用结构名。 下面的每个表达式都返回同样的值: TYPE Employee ; 60 SIZEOF Employee ; 60 SIZEOF Worker ; 60 域的直接引用:直接引用单个域时要求使用结构或结构变量作为修饰词。 TYPE Employee.SalaryHistory ;4 LENGTHOF Employee.SalaryHistory ;4 SIZEOF Employee.SalaryHistory; 16 TYPE Employee.Years ;2 可以使用OFFSET操作符获取结构变量中域的偏移地址 域的间接引用:使用寄存器来寻址结构数据,引用间接操作数时要求使用PTR操作符。 mov ax, [esi].Years 正确的引用方法: mov esi, offset worker mov ax, (Employee PTR [esi]).Years 变址操作数 例如:假设department是一个包含5个Employee对象 的数组,下面的语句访问其索引位置1处的Employee对 象的Years域: .data department Employee 5 DUP() .code
您可能关注的文档
最近下载
- baltur燃烧器TBG210P17690030中文使用维护手册.pdf VIP
- 审核员现场见证评价表参考实用文档.doc VIP
- 2023年军队文职人员招聘之军队文职公共科目押题练习试卷A卷附答案.docx VIP
- ai心理健康创业计划书.docx VIP
- 国开作业管理学基础-管理实训:第二章 查阅文献资料并写出评论参考(含答案)025.docx VIP
- 医学综合试题库及答案.docx VIP
- 通用工器具安全管理规范.docx VIP
- 2025届高考作文技巧之列提纲优化结构课件(共46张PPT).pptx VIP
- 光学装配与调校技术课件.pptx VIP
- 医学综合知识试题库+答案.pdf VIP
文档评论(0)