步骤
1定义需要的输入值
2定义对输入值执行的操作
3定义如何生成输出值以及如何把输出值传递给发出调用的程序。
定义输入值
使用寄存器
使用全局变量
使用堆栈
.type func1, @function
func1:
返回主程序
把结果放在一个或者多个寄存器
把结果放在全局变量内存位置。
.type area , @function
area:
fldpi
imull %ebx , %ebx
movl %ebx , value
filds value
fmulp %st(0) , %st(1)
ret
linux给程序分配运行的虚拟内存地址从0x80480000开始,到0xbfffffff结束。低地址
处是程序数据和指令。指令不仅包含汇编程序的代码,而且还包含linux运行程序的链
接过程所需的指令信息。
上边是堆栈地址块。
1定义需要的输入值
2定义对输入值执行的操作
3定义如何生成输出值以及如何把输出值传递给发出调用的程序。
定义输入值
使用寄存器
使用全局变量
使用堆栈
.type func1, @function
func1:
返回主程序
把结果放在一个或者多个寄存器
把结果放在全局变量内存位置。
.type area , @function
area:
fldpi
imull %ebx , %ebx
movl %ebx , value
filds value
fmulp %st(0) , %st(1)
ret
linux给程序分配运行的虚拟内存地址从0x80480000开始,到0xbfffffff结束。低地址
处是程序数据和指令。指令不仅包含汇编程序的代码,而且还包含linux运行程序的链
接过程所需的指令信息。
上边是堆栈地址块。