没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
7 汇编器命令
所有的汇编器命令名都由句号()开头。命令名的其余是字母通常使用小写。
本章讨论可用命令,不理会 汇编器针对目标机器配置。某些机器的配置提供附加的命
令。见第 章机器相关性第 页。
本命令立即终止汇编过程。这是为了兼容其它的汇编器。早期的想法是汇编语言的源码会
被输送进汇编器。如果发送源码的程序要退出,它可以使用本命令通知 退出。将来可能
不再支持使用
当生成 输出时,汇编器把这条命令作为 接受。
当产成 输出时,汇编器允许使用这条命令,但忽略它。
!" !" !"
增加位置计数器#在当前的子段$使它指向规定的存储边界。第一个表达式参数#结果必须是
纯粹的数字$是必需参数:边界基准见后面的描述。
第二个表达式参数#结果必须是纯粹的数字$给出填充字节的值,用这个值填充位置计数器
越过的地方。这个参数#和逗点$可以省略,如果省略它,填充字节的值通常是 %。但在某些
系统上,如果本段标识为包含代码,而填充值被省略则使用 " 指令填充这个空间。
第 个参数表达式的结果也必须是纯粹的数字,这个参数是可选的。如果存在第 个参数,
它代表本对齐命令允许越过字节数的最大值。如果完成这个对齐需要跳过的字节比指定的
最大值还多则根本无法完成对齐。您可以在边界基准后简单地使用两个逗号,以省略填充
值参数#第二参数$;如果您想在适当的时候,对齐操作自动使用 " 指令填充,这个方法
将非常奏效。
边界基准的定义因系统而有差异。&',("",)',)',*+,",,-,(.-和
使用 /0 格式的 第一个表达式是边界基准,单位是字节。例如‘1向后移动位置计
数器至 的倍数。如果地址已经是 的倍数,则无需移动。
有些其它系统,包括使用 格式的 ,2 和 )这代表位置计数器移动后,
计数器中连续为 % 的低序位数量。例如‘1向后移动位置计数器直至 的倍数(计数器
的最低的 位为 %)。如果地址已经是 倍数,则无需移动。
之所以存在这样的区别,是因为 3. 需要模仿各种汇编器的不同动作。3. 还提供
和" 命令,在以后详细讲述,这两条命令在所有的机型上使用相同的动作#但需要向
3. 明确说明机型$。
4,55
, 可不带参数或者带多个由逗点分开的字符串#见 节.第 & 页$。它把汇编
好的每个字符串#在字符串末不自动追加零字节$存入连续的地址。
+,655
,6 类似与,但在每个字符串末自动追加一个零字节。‘,61中的‘61代表“6 7。
* !" !" !"
增加位置计数器#在当前子段$使它指向规定的存储边界。第一个表达式参数#结果必须是纯
粹的数字$是必需参数:边界基准单位为字节。例如,‘1向后移动位置计数器直至计
数器的值等于 的倍数。如果位置计数器已经是 的倍数,则无需移动。
第 个表达式参数#结果必须是纯粹的数字$给出填充字节的值,用这个值填充位置计数器越
过的地方。第 个参数#和逗点$可以省略。如果省略它,填充字节的值通常是 %。但在某些
系统上,如果本段标识为包含代码,而填充值被省略则使用 " 指令填充空白区。
第 个参数的结果也必须是纯粹的数字,这个参数是可选的。如果存在第 个参数,它代
表本对齐命令允许跳过字节数的最大值。如果完成这个对齐需要跳过的字节数比规定的最
大值还多则根本无法完成对齐。您可以在边界基准参数后简单地使用两个逗号,以省略填
充值参数#第二参数$;如果您在想在适当的时候,对齐操作自动使用 " 指令填充,本方
法将非常奏效。
* 和 是 命令的变化形式。* 使用 个字节来填充空白区。
使用 4 字节来填充。例如*4%!8 将地址对齐到 4 的倍数,如果它跳过 个字节,
3. 将使用 %!8 填充这 个字节#字节的确切存放位置视处理器的存储方式而定$。如果
它跳过 或 个字节则填充值不明确。
9 !"
9 可不带参数或者带多个表达式参数,表达式之间由逗点分隔。每个表达式参数都被汇
编成下一个字节。
,))9) (
,)) 声明一个符号名为 9) 的通用符号#,))9)$。当连接时,目标文件中的
通用符号可能被并入其它目标文件中已定义的符号,或者被并入其他目标文件中同名通用
符号。如果 8 无法找到该符号的定义——只有一个或多个通用符号——则分配 ( 个字
节的未初始化内存。0 ( 必须是一个纯粹的表达式。如果 8 发现多个同名的通用符号,
并且它们的长度不同,8 将按照它们之中最大的 ( 值为符号分配内存。
当使用 /0 格式时,,)) 可以使用第 个参数。它代表符号需要对齐的边界基准#例如边
界基准为 时意味着符号存放地址的最低 4 位应该是零$。第 个参数表达式结果必须是纯
粹的数字,而且一定是 的幂。当 8 为通用符号分配未初始化内存时,在存放符号时要使
用到这个参数。如果没有规定边界基准, 将把边界基准设置成以 为底的该符号长度的
对数,并向下取整。最大值为 。
,)) 的语法在 -:: 上稍微有些不同。语法是‘9),)) (1;其中参数 9) 是
可选的。
&8 ,<
8 通知 汇编后续语句,将它们追加在编号为 ,<# ,< 必须是纯粹的表达
式$数据段末。如果参数 ,< 省略,则默认是 %。
%8 =)
开始定义符号) 的调试信息;定义区延伸至遇到 8 = 命令。本命令只在 被配置成
格式输出时才使用;当输出为 格式时,可以使用‘8 =1命令,但被忽略。
8 ,9) !"
本命令用一个纯粹表达式的低 位的值设置符号 9) 的描述符#见 ++符号属性第 %
页$。当 被配置成 输出时,‘8 ,1命令无效;它只适用于 或 目标格式。为
兼容起见,当配置为 时, 接受此命令,但不产生输出。
8)
这条命令由编译器生成的,以便在符号表中加入辅助调试信息。只可以在 8 => 8 = 对之
间使用此命令。
8)仅仅在生成 格式输出时是有意义的;当生成 时 接受这条命令但忽略它。
8 ?)
8 后跟着零个或由逗点分开多个的浮点数。本指令汇编出浮点数字。生成的浮点数的
确切类型视 的配置而定。见第 章机器相关性第 页。
4 @ ,
当生成汇编清单时,强制清单页在此点中断。
+
是支持 进行的条件汇编指令之一;见 +=第 4 页。如果前面= 命令的条件不成
立,则表示需要汇编 后的一段代码。
=
=是支持 进行的条件汇编指令之一。见 + 节=第 4 页。它可以在 段中快速
产生一个新的= 块。
8
8 标记着汇编文件的结束。 不处理 8 命令后的任何语句。
8 =
这条命令标志着从8 = 开始的符号定义结束。
A 8 =1命令仅仅在生成 格式的输出有意义;如果 被配置为生成 输出虽然 接
受这条命令,但忽略它。
& 8=,
8=, 标志着一个由=, 命令定义的函数的结束。
% 8=
8= 是支持 进行的条件汇编的指令之一它标志着条件汇编代码块的结束。见 + 节
=第 4 页。
B9) !"
本命令把符号 9) 值设置为 !" 。它等同与 命令。见 第 + 页。
在 -:: 上的 B 语法是‘9) B !" 1。
BC9) !"
BC类似与 BD 命令不同之处在于,如果符号已经定义过, 会发出错误信号。
除了错误信息的内容之外,它大体上等价与:
=8 =.E2
8=
B.E2F0
如果 汇编一条 命令将打印一条错误信息,除非使用了G选项 不会生成目标文件。
可以在条件编译代码中使用它来发出错误信息。
4 !)
从当前宏定义体中提前退出。见 +%2,第 4 页。
+ !
! 可以在源程序中使用以便兼容其他的汇编器—但会被忽略。 将所有未定义的符
号都当作外部符号处理。
= !"
生成一个错误# $或警告#*$。如果 !" 的值大于或等于 +%%, 会打印一条
“警告”消息 。如果 !" 的值小于 +%% 会打印一条“ 错误”消息。 消息中包含了
!" 的值。这在复杂的宏嵌套或条件汇编时偶尔用到。
H
H 通告 我们准备开启一个新的逻辑文件。是新文件名。总的来说,文件名是否
使用引号‘51都可以;但如果您希望规定一个空文件名时,必须使用引号55。本语句将来可
能不再使用—允许使用它只是为了与旧版本的 程序兼容。在 的一些配置中,已经删除
了H 以避免与其它的汇编器冲突。见第 章2,( I " 8 , 第 页。
H " 6 C
" 6 和 C 都必须是纯粹的表达式。本命令生成 6 个字节的 " 个副本。
" 可以是 % 或更大的值。.6 可以是 % 或更大的值但即使 6 大于 也被视作 ,以
兼容其它的汇编器。各个副本中的内容取自一个 字节长的数。最高 4 个字节为零,最低
的 4 个字节是 C ,它以 正在汇编的目标计算机的整数字节顺序排列。每个副本中的
6 个字节都取值于这个数最低的 6 个字节。再次说明,这个古怪的动作只是为了兼容
其他的汇编器。
6 参数和 C 参数是可选的。如果不存在第 个逗号和 C 参数,则假定 C 为零。
如果不存在第 个逗号和其后的参数,则假定 6 为 。
&??)
本命令汇编 % 个或多个浮点数,浮点数之间由逗号分隔。它和 的汇编效果相同。生
成的浮点数的确切类型视 的配置而定。见第 章2,( I " 8 , 页。
剩余18页未读,继续阅读
rosion2009
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页