创建汇编方法
- 为了创建c语言可以使用的汇编方法,汇编方法必须遵循c语言的传值格式, 格式如下:
program stack |
---|
indirect addressing |
Function paramter3 (16(%esp)) |
Function paramter2 (12(%esp)) |
Function paramter1 (8(%esp)) |
Return Address (4(%esp)) |
Old EBP Value ((%esp)) |
- c语言中使用寄存器的功能
寄存器 | 状态 |
---|---|
EAX | 用来存储返回值,可以使用到程序返回前 |
EBX | 被用来指向全局偏移表;值需要保留 |
ECX | 可以使用 |
EDX | 可以使用 |
EBP | 值需要保留 |
ESP | 值需要保留 |
EDI | 值需要保留 |
ESI | 值需要保留 |
ST(0) | 用来存储浮点数返回值,可以使用到程序返回前 |
ST(1)-ST(7) | 可以使用 |
- 可以被c调用的汇编方法模板
.section .text
.type func, @functi