.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屋!