当前位置: 首页 > news >正文

江宁网站建设价位矿大师德建设网站

江宁网站建设价位,矿大师德建设网站,网站开发及维护招聘,seo排名需要多少钱目录 一、前言 二、基础知识介绍 2.1 寄存器介绍 2.2、汇编指令介绍 三、函数栈帧的创建销毁过程 3.1 调用main函数的函数 3.2 main函数开辟栈帧 3.3 在main函数中创建变量 3.4 调用Add函数前的准备 3.5 为Add函数开辟栈帧 3.6 在Add函数中创建变量并运算 3.7 Add函…目录 一、前言 二、基础知识介绍 2.1 寄存器介绍 2.2、汇编指令介绍 三、函数栈帧的创建销毁过程 3.1 调用main函数的函数 3.2 main函数开辟栈帧 3.3 在main函数中创建变量 3.4 调用Add函数前的准备 3.5 为Add函数开辟栈帧 3.6 在Add函数中创建变量并运算 3.7 Add函数栈帧的销毁 3.8 返回main函数栈帧 一、前言 在C语言的过程中我们心中难免有一些懵懂的地方。譬如: 1.局部变量到底是怎么在栈上创建的 2.为什么局部变量不初始化为随机值 3.函数是怎么传参的传参的先后顺序是什么 4.形参和实参是什么关系 5.函数调用是怎么实现的 6.函数调用后是怎么返回的    学习完函数栈帧的创建与销毁想必就能有一个比较清晰的认识了 本文的调试结果是使用vs2013和vs2019反汇编调试而出的不同编译器函数栈帧的创建销毁过程略有不同具体细节取决于编译器的实现。越高级的编译器封装越好越不易观察学习 二、基础知识介绍 2.1 寄存器介绍 寄存器名称功能eax    累加器是多数加法乘法指令的缺省寄存器ebx基地址寄存器在内存寻址时存放基地址ecx计数寄存器用于循环操作比如重复的字符存储操作或者数字统计edx作为eax的溢出寄存器总是被用来放整数除法产生的余数esi 源变址寄存器主要用于存放存储单元在段内的偏移量 通常在内存操作指令中作为“源地址指针”使用 edi目的变址寄存器主要用于存放存储单元在段内的偏移量eip控制寄存器存储CPU下次所执行的指令地址存放指令偏移地址esp 栈指针寄存器(extended stack pointer)其内存放着一个指针。 该指针永远指向栈最上面一个栈帧的栈顶。esp用于堆栈操作被形象地称为栈顶指针。 ebp 基址指针指栈的栈底指针。基址指针寄存器(extended base pointer)。 一般与esp配合使用其内存放着一个指针该指针永远指向系统栈最上面一个栈帧的底部 2.2、汇编指令介绍 指令名称作用push进栈指令将源操作数压入栈中pop弹栈指令从栈中弹出双字或字数据至目的操作数中mov传送指令把一个字节、字、或双字从源操作数传送至目的操作数add加法指令目的操作数加源操作数结果送至目的操作数sub减法指令目的操作数减源操作数结果送至目的操作数lea取有效地址指令将源操作数的有效地址传送到通用寄存器call过程调用指令程序下一条指令的位置的地址压入堆栈中并转移到调用的子程序ret段内过程返回指令从调用过程返回继续执行主程序。jmp无条件转移指令使程序无条件地转移到指令规定的目的地址去执行指令 字(word)表示两个字节长度的数值      双字(dword)表示四个字节长度的数值 三、函数栈帧的创建销毁过程 接下来使用下述代码进行演示 (语句简单易于观察) #include stdio.h int Add(int x, int y) {int z 0;z x y;return z; } int main() {int a 10;int b 20;int c 0;c Add(a, b);printf(%d\n, c);return 0; }3.1 调用main函数的函数 vs2013进入调试打开窗口中的调用堆栈F10不断调试得到下图 可以发现main函数也是由别的函数(__tmainCRTStartup函数)调用的而__tmainCRTStartup函数则是由mainCRTStartup函数调用的。 3.2 main函数开辟栈帧 3.3 在main函数中创建变量 在main函数开辟的栈帧中创建变量 3.4 调用Add函数前的准备 3.5 为Add函数开辟栈帧 3.6 在Add函数中创建变量并运算 3.7 Add函数栈帧的销毁 3.8 返回main函数栈帧
http://www.hkea.cn/news/14272964/

相关文章:

  • 网站主题编辑工具WordPress开发游戏学什么专业
  • 网站制作的公司旅游网站开发目标
  • 兼职做国外网站钻前免费发布推广信息的网站
  • 单位网站建设收费标准nginx反向代理wordpress
  • 手机网站建设分析淘宝网页制作模板
  • 专门帮人做网站的公司wordpress 判断手机端
  • 电子商务实验网站建设实训过程浙江省城乡建设网站证件查询
  • 网站建设教程流程黄骅港天气预报一周7天
  • 网页网站自做全搞定江西省赣州市定南县
  • 房产网站流量排名加拿大搜索引擎
  • 做交通锁具网站碟刹锁快速搭建网站视频
  • 淮安网站开发被禁止访问网站怎么办
  • 网站建设的设备外国做家具的网站
  • 网站功能策划爱网站查询挖掘工具
  • 廊坊网站建设制作视频制作软件电脑版
  • 芜湖做网站优化wordpress缩进element
  • 百度联盟怎么做自己的网站怎么用wordpress仿站
  • 电子商务网站 开发wordpress 示例
  • 现在建设的网站有什么劣势企业网站建设杭州
  • 网站制作费一般多少深圳app开发制作
  • 环艺毕业设计代做网站哪家网站建设服务好啊
  • 专业网站建设全包y-m-d WordPress 首页
  • 高校信息化建设网站系统微信嘉兴做外贸网站的公司
  • 网站备案需要提供哪些资料网站开发最新架构
  • 网站怎么做视频的软件建设一个购物网站需要多少钱
  • 最好网站建设爱站长
  • 网站建设的程序dedecms手机网站模板安装教程
  • 怎么做网站卖保险wordpress自动伪原创
  • 广州建设网站公司哪家好手机网站怎么做淘宝客
  • 需要手机端网站建设的企业网站建设开发服务费怎么做分录