跳转至内容

pinkie_ctfer's Blog

pinkie ctfer的博客

2 主题 5 帖子
  • C 0x01(C语言是如何进行函数调用的)

    2
    1 赞同
    2 帖子
    37 浏览
    sunrisepeakS

    PC寄存器基本都是有限制的, 一般可以通过间接的方式修改。而且它一般指一个逻辑上的寄存器, 可能每个架构下实现和名字有所不同。总之, 感觉记住它是存储CPU下一条要执行的指令(在机器语言中)的内存地址就可以了

    架构 PC 名称 可否直接读取 可否直接写入 位数 x86 EIP 间接 ❌ 32 x86_64 RIP 间接 ❌ 64 ARM32 R15 / PC ✅ ✅ 32 ARM64 PC ✅ ⚠️ 限制 64 RISC-V pc ✅(模拟器) ⚠️ 部分支持 32/64 MIPS PC ❌ ❌ 32 PowerPC NIP ✅ ✅(特权) 32/64

    https://en.wikipedia.org/wiki/Program_counter

  • C 0x00(C语言是如何进行函数调用的)

    3
    2 赞同
    3 帖子
    106 浏览
    妈耶厥了

    @sunrisepeak 有道理,完善了