三部曲网站建设asp网站免费

news/2025/9/24 5:52:50/文章来源:
三部曲网站建设,asp网站免费,望野博物馆阎焰,wordpress设计主题esp#xff1a;扩展栈指针寄存器#xff0c;是指针寄存器的一种#xff0c;用于存放函数栈顶指针#xff08;栈顶指针#xff09; ebp#xff1a;扩展基址指针寄存器#xff0c;也被称为帧指针寄存器#xff0c;用于存放函数栈底指针#xff08;栈底指针#xff09;。…esp扩展栈指针寄存器是指针寄存器的一种用于存放函数栈顶指针栈顶指针 ebp扩展基址指针寄存器也被称为帧指针寄存器用于存放函数栈底指针栈底指针。 esp和ebp有什么关系呢 ebp只是存取某时刻的esp这个时刻就是进入一个函数内后cpu会将esp的值赋给ebp此时就可以通过ebp对栈进行操作比如获取函数参数局部变量等实际上使用esp也可以只是esp可能会变化去数据的时候很不方便 下面我们通过一个例子来说明 #include stdio.hint function_add(int a,int b); int main() {int a1,b1,sum0;sumfunction_add(a,b);printf(sum%d,sum);return 0; } int function_add(int a,int b) {return ab;}这段程序的功能是定义一个函数实现两个参数相加然后打印出来下面来分析 int a1,b1,sum0;sumfunction_add(a,b);这两句反汇编如下 7 int a1,b1,sum0; 00401038 C7 45 FC 01 00 00 00 mov dword ptr [ebp-4],1 ;偏移地址为[ebp-4]存放1 0040103F C7 45 F8 01 00 00 00 mov dword ptr [ebp-8],1 ;偏移地址为[ebp-8]存放1 00401046 C7 45 F4 00 00 00 00 mov dword ptr [ebp-0Ch],0 ;偏移地址为[ebp-0ch]存放0 8: sumfunction_add(a,b); 0040104D 8B 45 F8 mov eax,dword ptr [ebp-8] ;eax的值设置为1 00401050 50 push eax ;压入栈 00401051 8B 4D FC mov ecx,dword ptr [ebp-4] ;ecx的值设置为1 00401054 51 push ecx ;入栈 00401055 E8 AB FF FF FF call ILT0(function_add) (00401005) 0040105A 83 C4 08 add esp,8 0040105D 89 45 F4 mov dword ptr [ebp-0Ch],eax当执行到这段代码会调到function_add函数执行 call ILT0(function_add) (00401005)这段一共push两次假设在没有这两次push前设espMpush两次后espM-8 执行call语句 espM-12 function_add反汇编的代码为 12: int function_add(int a,int b) 13: { 004010A0 55 push ebp 004010A1 8B EC mov ebp,esp 004010A3 83 EC 40 sub esp,40h 004010A6 53 push ebx 004010A7 56 push esi 004010A8 57 push edi 004010A9 8D 7D C0 lea edi,[ebp-40h] 004010AC B9 10 00 00 00 mov ecx,10h 004010B1 B8 CC CC CC CC mov eax,0CCCCCCCCh 004010B6 F3 AB rep stos dword ptr [edi] 14: return ab; 004010B8 8B 45 08 mov eax,dword ptr [ebp8] 004010BB 03 45 0C add eax,dword ptr [ebp0Ch] 15: 16: } 004010BE 5F pop edi 004010BF 5E pop esi 004010C0 5B pop ebx 004010C1 8B E5 mov esp,ebp 004010C3 5D pop ebp 004010C4 C3 ret 我们可以看到在函数前面首先将ebp压入栈然后将esp的值赋值给ebp此时 espM-16ebp的值和esp相同 push ebp mov ebp,esp此时栈里情况为 在函数里都是通过ebp对栈的数据进行操作的比如获取参数的值 004010B8 8B 45 08 mov eax,dword ptr [ebp8] 004010BB 03 45 0C add eax,dword ptr [ebp0Ch]因为在函数里esp的值可能是变化的ebp的值不变通过ebp来操作数据很方便 在最后 004010C1 8B E5 mov esp,ebp 004010C3 5D pop ebp将espebp的值变成调用function_add之前的值这样看起来只是实现函数的功能其他并没有啥变化再使用ret语句返回去然后继续往下执行语句 0040105A 83 C4 08 add esp,8总结 esp始终指向栈顶ebp只要在调用函数时取值为栈顶这样可方便对数据的操作函数调用时EBP的值入栈然后ESP的值传给EBP。函数调用结束后EBP将值传回ESPESP又指向了原来的栈顶地址。这样看起来只是实现函数的功能其他看起来没有变化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

茂易网站建设友情链接还有用吗

分片头部(Fragment Header)用于IPv6源节点向目的节点发送一个大于路径MTU的数据报。 一、优势 IPv6 分片头具有多种优势,可提高网络效率,包括减少数据包延迟和减少网络拥塞。使用 IPv6 分片头,数据包在源处而不是中间…

网站后台管理系统进入湖南网站建设哪家有

算法流程 输入:约束决策树生长参数(最大深度,节点最小样本数,可选),训练集(特征值离散或连续,标签离散)。 输出:决策树。 过程:每次选择信息增益…

郑州企业网站建站鞍山千山

安装使用 nginx是一个反向代理服务器,在web开发调试中经常用到,写一个简单的使用说明和总结。 1. 下载 点击官网下载地址 下载对应版本的nginx并解压 2. 配置 在解压的目录下找到conf/nginx.conf文件添加所需监听和代理的server # 项目名称server {liste…

wordpress登录工具推送者seo

Appium环境准备 Mac电脑jdk环境AndroidSDK环境node>8.1.0(最好用最新版本) 安装命令 npm i -g appium安装不成功请检查node 版本是否正确 安装成功命令行输入appium回车查看 安装驱动程序 1、先检查当前驱动情况 通过 appium driver list 进行…

百度网站建设技术wordpress模板导出

大家好啊,我是董董灿。 昨天写了一篇关于分组卷积的文章:分组卷积的思想神了,然后有同学希望多了解下通道洗牌。 我个人感觉,通道洗牌这个算法,或者说这个思想,可以称之为小而精,并且是实际解…

网站开发费入什么科目哪个网站做农产品

使用前提: 项目重构了,旧项目还在线上运行,新项目准备替换线上的旧项目 最终目标: 要实现实时切换新旧项目,保证如果新项目上线后有问题,可以立刻快速的将流量切回旧项目 方案: 关于abtest的基本原理本文不再多说,本文重点是实践,先看图 如上图所示,用户访问的…

北京手机网站开发价格海外购物网站建设

下拉通知栏时发生了什么在某个APP中,发现下拉通知栏的时候,正在播放的视频会暂停,于是有点好奇这段操作是不是在生命周期中实现的。在网上众多关于Activity生命周期的讨论中,很多人认为onPause()和onStop()的区别就是“部分遮挡”…

做名片制作网站有什么新闻采编与制作专业简历

在我之前的文章 “Elasticsearch:如何提高查询性能” 及 “Elasticsearch:提升 Elasticsearch 性能” 里,我详细描述了如何提高搜索的性能。在今天的文章里,我从另外一个视角来描述如何调整搜索的速度。希望对大家有所帮助&#x…

上海网站开发制作网站降权

目标:了解字符集的概念,掌握MySQL数据库存储数据的字符集逻辑以及设置方式 字符集概念 MySQL字符集关系 解决乱码问题 字符集设置原理 1、字符集概念 目标:了解字符集概念,掌握字符集存储和读取的实现原理 概念 字符集:charset或者character set&am…

网站建设制作设计公司使用flash做网站

前言 之前初步体验了 React 的魅力, 又看文档理解了一下 useState 和 useEffect, 目前初步理解的概念是: useState 用来声明在组件中使用并且需要修改的变量 useEffect 用来对 useState 声明的变量进行初始化赋值 可能理解的不太准确, 不过大概差不多是这么个意思. 但是再往后…

深圳市罗湖区住房和建设局网站wordpress前台修改

动态资源分配,主要是spark在运行中可以相对合理的分配资源。 初始申请的资源远超实际需要,减少executor初始申请的资源比实际需要少很多,增多executorSpark运行多个job,这些job所需资源有的多有的少,动态调整executor…

建设网站找哪个公司厦门做商城网站

3.3 VREF/VREF-引脚 VREF和VREF-是STM32中用于提供参考电压的引脚。如下图: VREF引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中&#…

河间市网站建设公司学装修设计

本篇文章聊聊 Stable Diffusion WebUI 中的核心组件,强壮的人脸图像面部画面修复模型 GFPGAN 相关的事情。 写在前面 本篇文章的主角是开源项目 TencentARC/GFPGAN,和上一篇文章《Stable Diffusion 硬核生存指南:WebUI 中的 CodeFormer》提…

网站 整体架构网址大全电脑版

今天,我们将看到有关此工具的信息,该工具使使用JPA Criteria更加容易。 使用该库的应用程序将在JPA实现中更加简洁,易于使用和可移植。 在本文的结尾,您将找到要下载的源代码。 什么是标准? 当前是创建动态查询的最佳…

莱特币做空国外网站佛山网络科技公司有哪些

CVE-2024-1430 是一个影响 Netgear R7000 路由器的安全漏洞,漏洞来源于该路由器 Web 管理界面的信息泄露问题。攻击者通过访问 /currentsetting.htm 文件,可能泄露敏感信息,如 Wi-Fi 密码等。 在测试和验证 CVE-2024-1430 时,您需…

制作网站的模板下载软件wordpress无法连接数据库

文档讲解:代码随想录 (programmercarl.com) 视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com) LeetCode 300.最长递增子序列 题目链接:300. 最长递增子序列 - 力扣(LeetCode) 解题代码…

创建网站投资多少钱北京网页设计电脑培训

晚上好,我是老杨。 Ping这几个字母,已经深入网工人的骨髓了吧? 把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。…

建设银行 福建 招聘网站沈阳 建设工程 招标中心网站

目录 前言 算法原理 姿态估计 2D姿态估计 3D姿态估计 3D形态估计 应用案例

手机网站模板使用方法怎么建设一个开源平台网站

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 开闭原则 对扩展开放,对修改关闭。在程序需…

湛江h5建站wordpress 工作室主题

%d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 可以在”%”和字母之间加小写字母l, 表示输出的是长型数。 …