当前位置:文档之家› c语言和汇编语言参数的传递

c语言和汇编语言参数的传递

64位处理器的通用寄存器如下:
Rax,rbx,rcx,rdx,rsi,rdi,rsp,rbp
R8,r9……………………..r15
对于整数传递到
Rcx,参数1,rdx,参数2,r8,r9
Main()
{
Print(“%d”,abc(3,5);
}
;汇编语言
.model small
.code
Abc proc
Push bp
Mov bp,sp
Mov ax,[bp+4];arg1
Mov cx,[bp+6] ;arg2
Shl ax,clPop bpຫໍສະໝຸດ RetAbc endp
-让每个人平等地提升自我三,64位处理器:
C语言和汇编语言参数的传递(以整数为例)
一先了解一下堆栈
堆栈是在存储器开辟的一段区域。这段区域一端固定,一端活动。固定的一端在高地址称为栈底,活动的一端称为栈顶。栈顶随着数据的存取而浮动。取出数据,栈顶向高地址浮动,存取数据相反。
二,32位处理器堆栈的传递
举例:
/*c*/
Extern int abc(int,int)
相关主题