汇编语言
qq_43313035
勇于拼搏 永远年轻
展开
-
简单算术运算汇编指令和CPU状态标志位介绍
文章目录数据传送指令操作数类型MOV指令MOVZX指令(只用于无符号整数)MOVSX指令(只用于有符号整数)LAHF和SAHF指令XCHG指令直接偏移量操作数标志状态位无符号运算:零标志位、进位标志位和辅助进位标志位加法和进位标志位减法和进位标志位辅助进位标志位奇偶标志位有符号运算:符号标志位和溢出标志位符号标志位溢出标志位与数据相关的运算符和伪指令OFFSET运算符PTR运算符TYPE运算符LE...原创 2019-05-14 17:04:08 · 4225 阅读 · 1 评论 -
从汇编层面看函数调用的过程
栈帧C语言中,每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。我们知道每⼀一次函数调用都是⼀一个过程。这个过程我们通⻓长称之为:函数的调⽤用过程。这个过程要为函数开辟栈空间,⽤用于本次函数的调⽤用中临时变量量的保存、现场保护。这块栈空间我们称之为函数栈帧。ebp存放了指向函数栈帧栈底的地址esp存放了指向函数栈帧栈顶的地址函数调用的参数显然存储在函数调...原创 2019-05-15 14:42:24 · 2095 阅读 · 2 评论 -
运行时堆栈及函数调用中的部分相关指令
运行时堆栈运行时堆栈是内存数组,CPU用ESP(堆栈指针寄存器)对其进行直接管理,32位模式下,ESP寄存器存放的是堆栈中某个位置的32位偏移量.ESP基本上不会直接被程序员控制,它是用CALL,RET,PUSH和POP等指令间接进行修改.运行时堆栈工作于系统层,处理子程序调用.ESP总是指向压入到栈顶的最后一个数值。如下图所示:ESP中保存的是刚压入堆栈数值(00000001)的偏移量。...原创 2019-05-15 21:20:31 · 1163 阅读 · 0 评论