c++ - 如何告诉 Inline ASM 变量是十六进制的

标签 c++ visual-c++ assembly

我正在尝试使用以下代码

__declspec(naked) void StubStart()
{
    __asm{
        MOV EAX, oep
        JMP EAX
    }
}

我想告诉它“oep”变量是十六进制的,但我想我不能同时使用(0x 和 h)来告诉它,它是十六进制的。 我能做什么?

最佳答案

oep 变量很可能只是一个 int(或其他一些整数类型)。

不管你有没有

oep = 0x55;

oep = 55;

它在计算机中最终会以二进制表示……你不能说一个变量包含十六进制值、十进制值或八进制值……它包含一个整数。

关于c++ - 如何告诉 Inline ASM 变量是十六进制的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7292041/

相关文章:

wpf - WPF 不使用 Windows (pl.) for Controls 有什么影响?

assembly - 为什么分支目标缓冲区会影响函数调用的返回? [WinMIPS64]

c++ - c++ 中的单词 'and'

c++ - 我的类的构造函数应该执行多少工作?

c++ - 使用 Visual C++ 2008 时如何解决未处理的异常错误?

QtQuick 未正确安装 Visual C++

assembly - 8086 Assembly Int 21h 和扩展 ASCII 字符

c - 需要帮助理解 C 函数中的此 ASM 代码

c++ - 指针内存使用

c++ - 多重继承、虚方法冲突和来自基类的指针