您现在的位置:主页 > 365体育娱乐 > 正文内容

什么是电池?

作者:365bet手机娱乐场 来源:365bet游戏注册 更新日期:2019-09-04 浏览次数:
展开全部
什么是电池和电池?
在下一节中占用的C / C编译器程序的内存1 +堆栈区域堆栈由编译器,存储函数参数,局部变量等自动分配。
像堆栈数据结构一样工作。
2,堆空间 - 通常由程序员分配。如果程序员在程序结束时没有释放,则可以由操作系统恢复。
请注意,这是一个堆栈数据结构。
3,全局区域(rest zone)(静态) - 全局和静态变量存储在一个,全局和静态变量中一个区域被初始化,全局静态变量存在于另一个区域初始化时不初始化相邻区域。
- 该程序有4个发布系统,文字区域常量字符串放在这里。
程序5启动后,系统的程序代码区 - 二进制代码存储函数体。
如何增强功能?
传播函数参数push是连接到汇编语言的链接的本质。
也就是说,汇编语言proc过程可以理解为一个简单的函数作为计算函数,如果在编写subprocpopax时估计两个程序集的总和,则从堆栈中取出它并放入AX寄存器popbx中。从堆栈中获取b,计算BX Addax,BX寄存器,+ Bret //显然返回subendp并调用此函数。您需要先将b的值压入堆栈,然后推送Pusha堆栈,因为它是一个路径,因此计算出一个名为4+ 5push5的汇编输出。Push4; callsub; //在这种情况下,使用AX 5或4推送返回的值并推送结果,但是大多数程序都有错误的参数,这些参数对于高级语言来说是灾难性的汇编语言(通常编译)和机器语言C(遵循相同的过程)计算a + b的值并组合先前编译的intsub汇编代码(INTA,INTB){returna + b;}调用此函数,应将Csub插入堆栈(即输入参数),但由于它在C中工作,因此不需要执行。
我写了子(7.9)。编译摘要时,编译器会自动推送相关工作。
根据函数调用和顺序参数,目前有三个规则。与订单和推送合同清理数据堆栈相关的Stdcallcdeclfastcall是不一样的,但一个是肯定的。移动到堆栈中leftstdcall函数右侧的压力参数必须具有默认情况下由调用者批准的cdecall堆栈清理。首先,通过从参数源推送它们,可以快速调用EAX,EDX和ecx寄存器中参数列表函数的三个参数。intfunction(INTA,INTB){returna + b;}voidmain(){function(10,20);}1。
__cdecl_functionpushebpmovebp,espmoveax,[ebp + 8];添加1个参数[deadax],[ebp + C];参数2 popebpretn_mainpushebpmovebp,esppush14h。堆栈2 push0Ah参数。1个call_function堆栈参数。调用函数addesp,8。Xoreax堆栈修复,eaxpopebpretn2。
__fastcall @@8pushebpmovebp函数,具体来说,保存堆栈指针subsp,8;两个以上的局部变量mov[ebp-8],EDX,保存参数2mov[ebp-4],ecx。保存参数1 moveax,[ebp-4]。添加参数1addeax,[ebp-8]; 2movesp参数,ebp。修复堆栈popebpretn_mainpushebpmovebp,espmovedx,14h。EDXmovecx的两个参数,0Ah。ECXcall @ function @ 8的参数1。调用Xoreax函数eaxpopebpretn3。
__stdcall_function @ 8pushebpmovebp,espmoveax,[ebp];添加1个参数[deadax],[ebp + C]; 2popebpretn8参数。修复stack_mainpushebpmovebp,esppush14h。2 push0Ah参数堆栈。1个参数call_function @ 8 stack。Xoreax调用函数,eaxpopebpretn