assembly ORG装配指令是做什么的?

zyfwsgd6  于 2022-12-23  发布在  其他
关注(0)|答案(7)|浏览(181)

谁能给予我一个关于ORG指令的全面描述?
何时以及为什么在汇编编写的应用程序中使用它?
在x86或AMD64上使用Nasm。

5tmbdcev

5tmbdcev1#

ORG用于设置汇编程序 * 位置计数器 *。这可能会也可能不会在链接时转换为加载地址。它可用于定义绝对地址,例如,在定义可能需要位于固定地址的中断向量时,或者它可用于为以下代码引入填充或生成特定对齐。

az31mfrm

az31mfrm2#

ORG仅仅是关于在哪里放置与当前段相关的下一段代码/数据的指示。
对于固定的地址使用它是没有用的,因为最终的地址取决于在汇编时不知道的段。

gk7wooem

gk7wooem3#

During the assemble time ORG directive resets the MLC (memory location counter) to the address specified in the ORG directive.

语法:ORG备注:可以是无符号绝对值或任何符号或符号+。
例如:-要观察这个指令的工作,你需要任何使用ORG指令的汇编清单。
位置
0000 A4 00 89接头直流256 AL 1(*-接头)
0001 A4 00000194 90组织标签+240
000194 F0 F1 F2 F3 F4 F5 F6 F7 91直流编码1234567
以上TAB符号分配给MLC地址0A 4。在下一条指令中,ORG将MLC设置为TAB+240地址位置,即x '194'(十进制中的~ x 'A4' + 240)。基本上,此设置是设置一个长度为256的表,从第240个位置开始存储一些字符常量,以便我可以将其用于TR指令。

hgb9j2n6

hgb9j2n64#

ORG表示原点ORG用于微处理器和微控制器编程中的特定寻址。
例如:

.org 0000H

这意味着我们要从0000H地址开始程序。

h43kikqp

h43kikqp5#

ORG xxxx ORG不是汇编语言指令;这是一条汇编程序定向指令,它告诉汇编程序从这里开始的指令应该放在从xxxx开始的位置

ctehm74n

ctehm74n6#

组织(缩写为ORiGin)是汇编指令,而不是指令。它定义了机器码(翻译后的汇编程序)放在内存中。至于ORG 100H,这是处理80x86 COM程序格式(COMMAND)命令,它只由一个最大为64K字节的段组成。它还可用来定义绝对地址,引入填充符,或者产生一个特定的排列...

6mw9ycah

6mw9ycah7#

它是内存中您希望加载二进制程序的位置(如果有)。
我不喜欢使用org,而只是直接向硬件发出操作码/值。您总是可以将值存储在ax中,并在bx、cx、dx之间传输。
我正在编写自己的汇编程序来输出操作码/值,而不必担心在执行之前先将其发送到内存,
在读取操作码时当场执行操作码要快得多,而不是尝试将它们缓存到内存中,这会冒着堆栈过载的风险,从而可能会烧坏CPU

相关问题