- 2
- 0
- 约7.05千字
- 约 32页
- 2018-03-07 发布于浙江
- 举报
[理学]汇编-第6章
第6章??结构与记录 6.1 结构 6.2记录 6.1 结构 6.1.1结构的概念 逻辑上互相关联的一组数据以某种形式组合在一起就是结构。在程序中,若要多次使用相同的一组数据格式,就可以把这一组数据格式定义为一个结构。结构定义仅仅是一种对存储形式的描述,并不真正分配存储空间。结构一经定义就可以以此结构如同DB、DW、DD一样用来预置和分配变量的存储空间。 6.1.2 结构的定义 在一个程序中,使用结构前必须用结构伪指令STRUC/ENDS先定义。结构伪指令的使用格式如下: 结构名 STRUC 数据定义语句序列 结构名 ENDS 其中结构名是标识符,不能缺省,且在一源程序中必须是唯一的。数据定义语句序列是用DB,DW或DD定义结构中各字段(Fields),这些语句中的变量名叫结构字段名。 每一个结构字段名有局部偏移量及类型的属性。局部偏移量是指结构字段的第一个字节与结构起点之间的字节数,类型仍然是指字节、字或双字。例如定义一个结构: STUDENT STRUC NAME DB ‘0123456789ABCDEF’ SEX DB 0 CITY DB 20H DUP(?) ID DW ? FACE DB ? STUDENT END 上述结构中NAME、SEX、CITY、ID、FACE分别是结构STUDENT的字段名,它们的局部偏移量分别是0,l0H,11H,31H,33H。结构中各字段可以指定具体的数值或字符作为结构字段的初值。用伪指令STRUC/ENDS定义的结构,不产生任何目标代码,因而也不分配存储单元。 注意标记一个结构类型结束的伪指令与标记一个段结束的伪指令用相同的助记符ENDS,汇编程序通过上下文理解ENDS的含义,因此要确保每一SEGMENT伪指令和每一STRUC伪指令有各自对应的ENDS伪指令。 6.1.3 结构的预置与存储分配 当结构定义后,我们可在程序中直接引用结构名,为结构预置副本,定义结构变量,分配存存储空间。结构变量定义格式为: 结构变量名 结构名 字段值表 其中,结构名是用STRUC/ENDS伪指令定义结构时的结构名。结构变量名是当前定义的结构变量的名称,它同其他变量一样有三个属性:段、偏移量和类型属性。段、偏移量表示结构变量的地址,类型表示结构的总字节数。字段值表为结构变量中各字段进行预置,其中各字段值的排列顺序及类型应与结构定义时各字段相一致,中间以逗号分隔。如果某个字段采用在说明结构时所给定缺省的初值,那么可简单地用逗号表示;如果结构变量的所有字段均如此,那么可省去字段值表,但尖括号不能省略。 例如,假设已说明了上述结构STUDENT ,那么可定义如下结构变量: DATA SEGMENT STD1 STUDENT STD2 STUDENT ’ZHANG SAN’ STD3 STUDENT ’LI SI’,1,,1234H,2 STD4 STUDENT 10H DUP(,1) DATA ENDS 在上述结构预置中,结构变量STDl对结构中所有字段不加修改,保留各字段的初值。结构变量STD2仅修改第一个字段,其余各字段保留其初值。结构变量STD3除第三个字段(字段名为CITY)外,其余各字段均作修改。按照上述结构变量的定义,变量STDl,STD2和STD3的存储空间分配情况如下图所示。 对结构字段初值的修改,并非所有字段的初值都可以修改,只有简单结构字段和字符串字段初值才可以修改。所谓简单结构字段就是由伪指令DB,DW或DD定义的单项变量,如结构STUDENT中SEX,ID,FACE就是只有单项的简单结构字段。而NAME是用DB伪指令定义的字符串,也可以用其他字符串进行修改。而多项(多重)变量的结构字段初值(如CITY)不能修改。例如下面就是多项(多重)的结构字段: DB 10H DUP(?) DW 1234H,5678H,0ABCDH DB ‘ABCD’,‘EFGH’ DW BUF,CUT 结构变量名STD4同时预置10H个结构副本,每一个副本中都是仅修改第二个字段初值,其余保留不变。这10H个结构数据在分配存
您可能关注的文档
- [理学]有机 环烷烃.ppt
- [理学]有效市场假说 市场有效性.pdf
- [理学]有机化学 2.ppt
- [理学]有机化学 含氮化合物.ppt
- [理学]有机化学 第1章_气体上课稿.ppt
- [理学]有机化学 羧酸和取代酸.ppt
- [理学]有机化学 醛酮醌.ppt
- [理学]有机化学8醇酚醚.ppt
- [理学]有机化学-第五版-华北师范大学等-李景宁-全册-课后习题答案完整版.doc
- [理学]有机化学实验思考题.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年寒假作业九年级化学人教版答案.pdf VIP
- 李子奈计量经济学(第五版)-第一章-绪论.pptx VIP
- 第21讲 相似三角形及其应用(练习)(教师版)-2025年中考数学一轮复习讲练测.docx VIP
- 信息安全管理手册.doc VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之球的切接问题.pdf VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之空间向量与空间角.pdf VIP
- 2026年养老院营销策划方案.docx VIP
- 博雅教育理念与钢琴教育融合思考.doc VIP
- 部编人教版五年级语文下册全册教案(表格版).pdf VIP
- 《数据采集与预处理》教学教案(全).doc VIP
原创力文档

文档评论(0)