x86-64是Intel x86架构的64位扩展
所以,假设我正在使用寄存器%rax和%rdi。作为一个基本示例,假设%rax等效于0xaaaaaaaaaaaaaaaaaa,%rdi等效于0xbbbbccccddddeeff。简单的东西...
我正在努力使组装时的打印精度提高一倍,但我失败了。调用自己计划用作打印双打的助手时,我会遇到段错误[
以下宏可以执行lstat系统调用。 #include #define m_lstat(PATH,FS){\ long _rax = 6; / * sys_newlstat * / \ uint8_t * _path = ...
有人告诉我,如果我将rsp用作通用寄存器,则操作系统可能在中断的情况下将寄存器转储到它指向的位置,从而导致问题行为。这是真的吗,如果不是,则是...
因此,我正试图让处理器计算下面的x * log_2(y)是我当前的汇编代码(nasm语法)。我在XMM0寄存器中有y的输入值,并且X将是一个常量...
我正在尝试完成缓冲炸弹实验室的第3级。该任务是提供一个漏洞利用字符串,该字符串将导致getbuf将我的cookie(0x4b64b076)返回测试,而不是值1。exploit ...
为什么在TRACE_IRQS_OFF之前将rax设置为-ENOSYS
请参阅https://elixir.bootlin.com/linux/v5.0.21/source/arch/x86/entry/entry_64.S#L168。为什么RAX必须更改?为什么选择-ENOSYS?从以上链接复制:ENTRY(entry_SYSCALL_64)...
Whiskey Lake i7-8565U RESOURCE_STALLS.OTHER看起来不像Intel文档所解释的那样:计算由于其他资源问题而导致执行停止的周期数。我...
我最近一直在尝试使用纯汇编来执行系统命令。我设法在x32位二进制文 件中实现了它,如下所示:使用汇编程序执行系统命令(bash)?但是现在我正在尝试...
int square(){char test [50]; }上面的代码产生了square():push rbp mov rbp,rsp当我将代码稍微更改为int square(){char test [150]; } ...
我如何在Linux汇编程序中为AMD64体系结构使用RIP相对寻址?我正在寻找一个使用AMD64 RIP相对地址模式的简单示例(Hello world程序)。 ...
我在GCC中使用内联汇编。我想将变量内容向左旋转2位(我将变量移至rax寄存器,然后将其旋转2次)。我写了下面的代码,但是我遇到了...
问题编号1:具有此nasm:节.data dat db“写出:%x”,0xa,0x0节.text全局主外部printf main:push rbp mov rbp,rsp mov rdi,dat mov esi等。 。
Whiskey Lake i7-8565U我正在尝试学习如何手动编写基准测试(不使用任何基准测试框架),该示例具有常规和...的内存复制例程示例。] >> [[< [
我刚刚开始学习/使用Linux上的Assembly x64,并尝试通过call调用getcwd()。在尝试调用getcwd()函数之后,我还试图输出不是...
今天我们由于以下x86程序集中的idiv指令中的算术异常而导致崩溃。 mov r10d,DWORD PTR [rbp + 0x70] xor ecx,ecx mov eax,r15d test r10d,r10d setle ...
我正在努力解决C11标准的5.1.2.4节,尤其是Release / Acquire的语义。我注意到https://preshing.com/20120913/acquire-and-release-semantics/(以及其他)...
为什么在切换上下文时Golang仅保存%rsp,%rip和%rbp(没有其他被调用者保存的寄存器?)>
在一般的用户线程上下文切换实现中(如setjmp / longjmp和函数返回方式),我们保存并恢复被调用者保存的寄存器,但是golang仅保存并恢复%rsp,%rip和%rbp ...
我们可以使用U-Boot来启动用于x86-64系统的Linux吗?
是否可以在x86-64机器上使用U-Boot引导Linux内核?] >>
我的目标是在程序集中初始化缓冲区。我在64位Linux和gdb上使用NASM进行调试。相关的汇编程序如下(我从gdb的TUI模式复制粘贴,因此您可以看到...