《C语言和汇编语言参数的传递.doc》由会员分享,可在线阅读,更多相关《C语言和汇编语言参数的传递.doc(2页珍藏版)》请在金锄头文库上搜索。
C语言和汇编语言参数的传递(以整数为例)一先了解一下堆栈堆栈是在存储器开辟的一段区域。这段区域一端固定,一端活动。固定的一端在高地址称为栈底,活动的一端称为栈顶。栈顶随着数据的存取而浮动。取出数据,栈顶向高地址浮动,存取数据相反。堆栈段高地址低地址栈底bp栈顶sp二,32位处理器堆栈的传递举例:/*c*/Extern int abc(int,int)Main() Print(“%d”,abc(3,5);汇编语言.model small.codeAbc proc Push bp Mov bp,sp Mov ax,bp+4 ;arg1 Mov cx,bp+6 ;arg2 Shl ax,cl Pop bp RetAbc endp三,64位处理器:64位处理器的通用寄存器如下:Rax,rbx,rcx,rdx,rsi,rdi,rsp,rbpR8,r9.r15对于整数传递到Rcx,参数1,rdx,参数2,r8,r9