.long 0xXXXXXXXX 在 asm 中代表什么? [英] What .long 0xXXXXXXXX stands for in asm?
问题描述
在一个函数的末尾,我看到了很多如下的指令:
At the end of a function, I saw a lot of instructions like below:
.long 0xXXXXXXXX ; unknown opcode
它们代表什么?
推荐答案
.long
(等于 .int
)是一个指令,告诉汇编器将一个 32位数量就在这里.当它遇到的数据看起来不像任何已知指令时,反汇编器通常会发出这些.通常,当存在 文字池 时就是这种情况,因为那些不包含机器代码但数据,反汇编器打印它们包含的数据.我相信目标文件中有调试信息告诉反汇编器 .text
部分的哪些部分是机器代码,哪些部分是文字池.
.long
(equal to .int
) is a directive that tells the assembler to assemble a 32 bit quantity right here. The disassembler typically emits these when data it encounters doesn't look like any known instruction. Typically this is the case when there is a literal pool, as those don't contain machine code but data, the disassembler prints the data they contain. I believe there is debugging information in the object file that tells the disassembler what parts of the .text
section is machine code and what parts are literal pools.
这篇关于.long 0xXXXXXXXX 在 asm 中代表什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!