Hasty Briefsbeta

双语

More About Jumps Than You Wanted to Know

7 months ago
  • #programming
  • #assembly
  • #x86-64
  • 这篇文章是关于x86-64汇编编程系列的一部分,重点介绍跳转和程序流程控制。
  • 讨论了无条件跳转(jmp)及其各种编码方式,包括相对跳转和绝对跳转。
  • 解释了位置无关代码的概念以及地址空间布局随机化(ASLR)带来的挑战。
  • 介绍了call和ret指令,详细说明它们如何管理函数调用和返回。
  • 讲解了syscall指令,说明其在系统调用中的作用以及Windows和Linux系统下的区别。
  • 详细介绍了比较操作(cmp)和条件跳转(jz、jnz、ja、jb等),这些是实现if语句和循环的关键。
  • 提供了一个用汇编语言编写的循环示例,用于计算斐波那契数列。
  • 最后给出了进一步学习的建议和致谢。