装载与汇编

程序的装载与进程的执行

静态链接的程序的执行过程

 

动态链接的程序的执行过程

 

x86&amd64汇编简述

常用汇编指令:

  • mov

  • lea

  • add/sub

  • push/pop

  • cmp

  • jmp

  • j[condition]

  • call/ret

  • leave

  • ...

mov指令:赋值

lea指令:取址

push指令:入栈 pop指令:出栈 (注意:入栈和出栈均以字为单位操作)

leave指令:

在函数返回时,恢复父函数栈帧的指令

等效于:

MOV ESP, EBP

POP EBP

ret指令:函数返回时,控制程序执行流返回父函数的指令

等效于:pop rip

jmp[condition]指令: 就是汇编课程中学的ja,jae,jb,jbe,jz,jnz等等。依据符号位判断是否跳转。

 

 

溢出的问题:

正数+正数,不可能等于一个负数,如果出现了,就是溢出。同理,负数+负数如果结果为正数,也发生了溢出。溢出的概念,只发生在有符号数

posted @ 2022-01-17 22:23  vi0let  阅读(16)  评论(0编辑  收藏  举报