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

本节说明函数调用相关:

函数调用必须被保留的内容:
  1. EAX          用于保存输出值,可能在返回前被修改
  2. EBX          指出全局偏移表,必须保留
  3. ECX          保证在函数中可用
  4. EDX          保证在函数中可用
  5. ESP           指向心得堆栈地址,必须保留
  6. EBP           堆栈基址指针,必须保留
  7. EDI           局部寄存器,必须保留
  8. ESI            局部寄存器,必须保留
  9. ST             在函数中可用

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

.section .text
.type func ,@function
func:
    pushl %ebp
    movl  %esp,%ebp
    subl  $12,%esp
    pushl %edi
    pushl %esi
    pushl %ebx

    

    popl %ebx
    popl %esi
    popl %edi
    movl %ebp,%esp
    popl %ebp 
    ret 

 

你可能感兴趣的:(#,汇编语言)