X86&&X64 汇编学习——调用汇编函数

来源:互联网 发布:什么软件马赛克好看 编辑:程序博客网 时间:2024/05/16 09:05
本节说明函数调用相关:函数调用必须被保留的内容:
  1. EAX          用于保存输出值,可能在返回前被修改
  2. EBX          指出全局偏移表,必须保留
  3. ECX          保证在函数中可用
  4. EDX          保证在函数中可用
  5. ESP           指向心得堆栈地址,必须保留
  6. EBP           堆栈基址指针,必须保留
  7. EDI           局部寄存器,必须保留
  8. ESI            局部寄存器,必须保留
  9. ST             在函数中可用

C函数过程调用基本模板:

.section .text.type func ,@functionfunc:    pushl %ebp    movl  %esp,%ebp    subl  $12,%esp    pushl %edi    pushl %esi    pushl %ebx    <function code>    popl %ebx    popl %esi    popl %edi    movl %ebp,%esp    popl %ebp     ret 
  

查看原文:http://zmrlinux.com/2016/07/21/x86x64-%e6%b1%87%e7%bc%96%e5%ad%a6%e4%b9%a0-%e8%b0%83%e7%94%a8%e6%b1%87%e7%bc%96%e5%87%bd%e6%95%b0/
0 0
原创粉丝点击