汇编中的addr32是什么意思?
我努力弄清楚 addr32 在汇编代码中的意思是什么。例如,我使用GDB追踪二进制。以下是代码的一部分。 adcx %r13,%r13 #! PC = 0x55555557d9fb adox %rc…
我如何在x86编码器解码器(XED)语法中编译一组ASM指令
我需要生成随机的ASM指令。我从 说明列表看起来像这样: DEC R8W LOCK ADC byte ptr [0xB8], 0x82 IN AX, DX BTR qword ptr [RBX], 0xF7 IN EAX, DX A…
在UINT64到双转换上:为什么右移动后的代码更简单1?
为什么 asdouble1 比 asdouble0 要简单得多? // AsDouble0(unsigned long): # @AsDouble0(unsigned long) // movq xmm1, rdi // punpckldq xmm1, xmm…
在.data中添加另一个单词正在与x86中的值混乱
我创建了一个简单的代码来求和(目前是前20个数字)。一切都很好,甚至我要打印一个数字的功能。有一个问题:我不能使用我在 .data 上分配的两个单词…
COFF X86_64搬迁类型
我正在为开源项目开发Linker开发。目标体系结构为 AMD_X86_X64 。在中,AMD_X86_X64 指定重新定位类型的计算精灵的计算,例如 r_x86_64_64 计算为 s +…
在MASM中,您可以这样做0xffff0820cadba78d
我正在构建一个带有汇编代码的KMDF设备驱动程序(64位)项目,该项目位于单独的.ASM文件中。我正在使用集成在Visual Studio 2019社区中的MASM(ML64.E…
是否可以将堆栈上的元素克隆到X86_64 Linux组装中的堆栈上?
基本上您可以“删除”元素 通过添加到 rsp 注册来从堆栈中 n * 8 ,但是如果您尝试对面( rsp-(n * 8)) 它不起作用,这似乎很明显,但是 如果我使…
C++的汇编代码虚拟功能在Perf Report中调用?
我正在为虚拟函数呼叫性能进行一些分析,并且在阅读完善报告时,我得到了: mov (%rbx),%rdi # move "this" pointer to %rdi mov (%rdi),%rax # move …
可以理解DQ并直接解决内存
我正在阅读Igor Zhirkov的低级编程,目前在主题2.5中有关解决方案。 他展示了一种直接解决内存的方法,示例如下: buffer: dq 8841, 99, 00 ... mov r…
将十六进制转换为二进制 - ASM
在AX中给定一个数字,将相应的位字符串存储在Str1中。 如果AX = 0x1234,则结果应为: str1 = 0001001000111 我如何将AX中的所有内容转换为二进制 我…
NASM X8664中简单的RET和_EXIT函数之间的差异
在过去的几天里,我一直在用X8664组装(使用MACOS上的Nasm)感到痛苦。 我想显示两个代码 ,所以假设我有一个数组,我想打印它。这是我得到的代码, _…