- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言第3章综述
第三章 汇编语言程序格式;第一节 伪指令;3.组合类型:为连接程序提供本段与其他段的组合关系。
1)NONE(不连接):表示本段与其它段无连接关系,依次存放。
2)PUBLIC(公用段):表示本段与同名的其它段相邻连接,组成一个共同段。
3)STACK(堆栈段):表示本段为堆栈段的一部分。
4)AT 表达式(定段地址):表示本段的段地址由表达式的值得到。不能指定CS。
5)COMMON(共同段):表示本段与同名的其它段相覆盖,长度由最长段长度定。
6)MEMORY:表示本段地址高于其它同名段。如多个段选该类型,则第一个有效。
4.‘类别’:用户定义的、用单引号括起来的字符串表示的合法的名称。连接时同类名的段(段名未必相同)连续存放,但仍然是不同的段。‘类别’名相同的各个段在连接时,先出现的在前,后出现的在后,每段都有自己的起始地址。
; 一个汇编语言源程序可以有几个段,每段由各自的段定义伪指令包含起来,以将数据和代码明确地分开。
在代码段(CS)开始执行指令前,必有一条伪指令ASSUME以明确段和段寄存器间的关系,但并不初始化段寄存器的值。
格式:
ASSUME CS:代码段名,DS:数据段名,ES:附加段名,SS:堆栈段名
其中每个段名是各段定义时的段名。
例如:DATA SEGMENT ;定义数据段
:
DATA ENDS
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA
:
CODE ENDS
其中ASSUME语句建立了CODE段名与CS寄存器、DATA段名与DS寄存器的对应关系。;二、程序结束伪指令
格式:
END [标号]
功能:源程序中最后一个语句,标志整个程序的结束,汇编程序遇到该指令即停止汇编。
主程序结束:END 标号 ;该标号为程序开始的起始地址。
子程序结束:END
例如:END START ;START是该程序的第一条可执行指令的标号
告诉汇编程序用此地址的值来初始化CS:IP。
注意:这条指令必不可少,但不能放在程序的中间,否则,END语句后的语句就不能被汇编为目标代码了。;三、变量定义伪指令:为变量分配内存空间,并赋予初始值。
格式:
[变量名] 助记符 操作数[,…,操作数]
DB:定义字节,每个操作数占一字节的内存单元。
DW:定义字,每个操作数占一个字的内存单元。
DD:定义双字,每个操作数占二个字的内存单元。
DQ:定义四字,每个操作数占四个字的内存单元。
DT:定义十字节,每操作数占十字节的内存单元。
(Byte、Word、Dword、Qword、Tbyte)
其中变量名、助记符和操作数之间以空格隔开,且[ ]中内容为可选项。下面介绍各个部分的作用。
1)变量名是用户定义的一个符号地址,表示操作数的首地址,它有三个属性:段地址、偏移地址和数据类型。数据类型根据助记符的不同而不同。
2)DW可用于存偏移地址,如IP值;DD可用于存逻辑地址值,如CS:IP值;DT可用于存压缩的BCD码。;3)操作数可为常数、常数表达式、地址表达式、字符串、“?”和带DUP复制操作符的表达式等。操作数为多个值时,以逗号间隔开。每个值根据助记符的不同而占不同的内存单元个数。
例: S1 DB 1,2,2*3
ADD2 DW S1
S1占三个字节的内存单元,其内容按顺序分别为1、2、6。
ADD2占一个字的内存单元,其内容为变量S1的偏移地址。
例: S2 DB ‘ABCD’,?
S2占五个字节的内存单元,其内容按顺序为41H、42H、43H、44H和保留一个字节的内存单元而没有对其初始化。(字符串是以ASCII码保存)
DUP复制操作符,用于复制某个(些)操作数。
格式:次数 DUP (OPR,…,OPR);
其中OPR 为操作数,次数为复制次数。DUP还可嵌套。
例: DW 20 DUP (?) ;用于堆栈段中
阅读书中例3-1:变量连续定义,则连续存放。 ;4)变量数据类型不匹配时,可用PTR来暂时修改属性。
格式:类型 PTR 变量+ 常数表达式。
其中类型有:BYTE、WORD和
您可能关注的文档
最近下载
- 贵州省贵阳市普通中学2021-2022学年高一上学期期末监测考试通用技术试题(解析版).pdf VIP
- 2024年金融风险防控与合规管理规划.pptx VIP
- 专题08 影响、作用类(答题模版)-2025年高考历史答题技巧与模板构建(新高考通用)(原卷版).docx VIP
- 2025中煤矿建集团总部工作人员招聘12人笔试备考题库及答案解析.docx VIP
- 法律基本常识题库及答案.doc
- 化粪池清掏管理制度.docx VIP
- 小学六年级上册科学《探索宇宙》教案教学设计.docx VIP
- (最新)跌倒坠床压疮试题(+答案).docx VIP
- 儿童生存质量测定量表癌症模块中文版PedsQL3.0.pdf
- 危大工程巡视检查记录表(模版).docx VIP
原创力文档


文档评论(0)