堆栈传参汇编程序-汇编语言堆栈传递参数
今天给大家分享堆栈传参汇编程序,其中也会对汇编语言堆栈传递参数的内容是什么进行解释。
文章信息一览:
在汇编语言程序设计中,主程序与子程序之间进行参数传递的方法有哪些...
1、子程序的设计时需要有明确的入口条件和出口条件,主程序调用前应将需要计算的参数送入子程序所指定的位置。这一过程也可以理解为主程序与子程序进行参数传递的过程,参数的传递可以通过寄存器、存储器或者堆栈来完成。
2、传递方式有:利用寄存器传递。比如返回单个函数值(整数、布尔值)时,用ax 寄存器。利用栈传递。利用全局变量传递。利用磁盘文件传递。
3、程序和被调用子程序之间的参数传递方法是程序员自己或和别人事先约定好的信息传递方法。
4、MOV CL,10 MUL CL ;乘的结果存放在AX中 子程序参数传递方法有 寄存器传递参数、堆栈传递参数、制定存储单元(内存RAM)传递参数、CALL后续区传递参数 好像不好画图,就文字解释一下也一样。
汇编堆栈传递参数的问题
缺点:当传递参数过多时候,由于寄存器个数有限,及寄存器的频繁使用,将导致寄存器不足。适用:参数较少的子程序 2。
对于参数个数可变的子程序,当参数不超过4个时,可以使用寄存器R0~R3来进行参数传递,当参数超过4个时,还可以使用数据栈来传递参数. 在参数传递时,将所有参数看做是存放在连续的内存单元中的字数据。
汇编 通过存储器单元或寄存器或堆栈 均可以实现参数传递。1 例如:你可以在一个数据***集程序中,将***集到的数据存储在片内存储器单元中,然后退出,即子程序返回。
寄存器的使用规则 子程序之间通过寄存器r0~r3来传递参数,当参数个数多于4个时,使用堆栈来传递参数。此时r0~r3可记作A1~A4。在子程序中,使用寄存器r4~r11保存局部变量。
ebp 不是返回地址。返回地址是eip,在call命令中已经自动入栈了。ret 8 会丢弃两个栈参数(par1和par2,共8字节)然后自动出站返回地址,并跳转。
关于堆栈传参汇编程序和汇编语言堆栈传递参数的介绍到此就结束了,感谢你花时间阅读本站内容,更多关于汇编语言堆栈传递参数、堆栈传参汇编程序的信息别忘了在本站搜索。
-
上一篇
机械手plc编程教学-机械手 plc -
下一篇
c加加编程-c加加编程是什么意思