.long 0xXXXXXXXX 在 asm 中代表什么? [英] What .long 0xXXXXXXXX stands for in asm?

查看:22
本文介绍了.long 0xXXXXXXXX 在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆