x86-64 相关问题

x86-64是Intel x86架构的64位扩展

mov&jmp to&jmp back vs call&ret

我正在查看一些汇编代码,我看到了这个:mov r12,_read_loopr jmp _bzero _read_loopr:... _bzero:inc r8 mov byte [r8 + r15],0x0 cmp r8,0xff jle _bzero jmp ...

回答 1 投票 1

如何比较x86-64中的两个寄存器

我正在逐个字符地比较两个数组,C代码将是这样的:count = 0; for(i = 0; i

回答 1 投票 1

了解gdb`where`命令的输出

我正在调试以下程序(这是正确的)。 [OP @ localhost 04] $ cat factorial.s .section .text .globl _start .globl _factorial _start:push $ 4 call factorial add $ ...

回答 1 投票 0

执行“movq%rax,(%rdi)”后%rax会发生什么?

我很好奇的是执行代码后%rax中的剩余值。例如,让%rax为0xFFFFFFFFFFFFFFFF我执行了代码。然后是0xFF ... FF还在%rax?而我的最后......

回答 1 投票 -2

跳转为JIT(x86_64)[重复]

我正在用C语言编写一个用于x86_64 linux的JIT编译器。目前的想法是在可执行存储器的缓冲区中生成一些字节码(例如通过mmap调用获得)并使用函数跳转到它...

回答 2 投票 4

如何使用x64内存地址跳转,存储在x64位置?

据我所知'jmp'使用64位地址作为操作数是不可能的,但我相信使用x64内存位置(从这里JMP r / m64)。但是我怎么能用十六进制写呢?什么的插图......

回答 2 投票 2

有条件地跳转到注册

我想得到这些命令:jl some_label(%rip)#或jl *%rax在我为英特尔x64架构编写的asm程序中。当我尝试编译时,GCC说“jl的操作数类型不匹配”...

回答 2 投票 3

如果C文件只有一个函数,为什么pushq和movq仍然存在于开头?

我已经学习了几个月的AT&T程序集,我发现很难在我的.s文件中包含一些重复的指令。特别是main:pushq%rbp ...

回答 1 投票 0

在扩展内联ASM中调用printf

我试图在64位Linux上的GCC扩展内联ASM中输出相同的字符串两次。 int main(){const char * test =“test \ n”; asm(“movq%[test],%% rdi \ n”//调试器显示...

回答 1 投票 2

packuswb指令如何工作? (在低位操作中)

研究从yuv到rgb的ffmpeg转换,我遇到了在程序集中实现的等式,yuv2rgb_template.c位于ffmpeg / libswscale / x86中。我想知道如何指令packuswb ...

回答 1 投票 1

jmp on x64 assembly

下面的asm代码是使用gcs -O4 ..在x64 osx上生成的,它对它进行了优化(有关-O4的更多信息,请查看gcc手册)。 (gdb)disas main函数的汇编代码转储...

回答 1 投票 0

计算JMP指令的地址(x86-64)

与此处相同的问题:计算JMP指令的地址如何在64位计算机上使用此代码?应该改变什么? // TODO:64位void Manager :: InjectCode(PBYTE&p,int k,...

回答 1 投票 1

是否所有实现AMD64指令集的CPU都具有相同的指令和寄存器?

实现IA-32指令集(即32位x86指令集)的CPU没有相同的指令和寄存器,例如Intel Pentium III具有SSE寄存器......

回答 2 投票 1

jmp指令的分段错误

对于一个项目,我为特定的语言编写了一个编译器。我必须处理异常。我的问题在于汇编代码。我在jmpq指令上遇到分段错误,我不明白为什么。 ...

回答 1 投票 0

将跳转命令写入x86-64二进制文件

我正在使用GDB调试Mac OS X 64位应用程序。我看到跳过一大堆代码解决了我所有的问题。但是:如何修补可执行文件以实现跳转?我想要应用程序...

回答 1 投票 1

x64:如何做一个相对jmp *%rax?

我想将64位相对跳转编码为x64汇编中存储在%rax中的地址。 AFAIK,没有这个的操作码,所以我计算相对地址的相应绝对地址...

回答 2 投票 -1

x86-64汇编的性能优化 - 对齐和分支预测

我目前正在使用带有SSE-2指令的x86-64程序集编写一些C99标准库字符串函数的高度优化版本,如strlen(),memset()等。到目前为止,我已经设法得到......

回答 4 投票 27

EPT PTE与主机PTE之间的关系是什么?

我试图通过X86主机中的虚拟化来弄清楚Linux系统中的EPT PTE和主机PTE之间的关系。例如,当管理程序通过提供主机设置EPT条目时...

回答 1 投票 2

关于linux x86 64中MSR_GS_BASE的详细信息

我试图弄清楚Linux内核中MACRO当前的细节。当前的最终汇编代码是:movq %% gs:0xb000,%0上面的代码可以工作!但是当我打印%% gs时,它的值为0,所以......

回答 1 投票 6

将浮动从高xmm四字移动到低xmm四字

MOVHPD将xmm寄存器的高四字提取到存储器中。 PEXTRQ提取xmm寄存器的高位四字,并将其放入整数寄存器(仅整数)。 SHUFPD洗牌。 ...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.