C语言从入门到精通第12章.ppt

C语言从入门到精通第12章

12.4.2 全局变量的传递 C语言程序(extern)和汇编语言程序(public)可以通过全局变量传递信息,其数据类型的对应关系如下表所示。 由于C语言大小写是有区别的,从而在与汇编语言混合编程时,最好在options菜单下的Linker子项中将Case-Sensitive Link置成off状态来取消其区别。 下一页 第12章 C语言综合应用程序举例 上一页 12.4.3 参数和返回值的传递 C语言程序和汇编语言程序的参数传递是通过堆栈来完成的。所谓堆栈,实质就是一种先进后出的内存区域,且只在一端进行出栈和入栈操作。 对C语言而言,参数进栈的顺序是从右到左。如在C语言程序中有语句power2(int para1,int para2),则执行该语句时堆栈中的内容如下图所示,通过sp便可得到参数值,从而完成参数的数据传递。 下一页 第12章 C语言综合应用程序举例 上一页 举例:设某C语言程序如下: ?#include “stdio.h” int power2(int,int); main( ) { printf(“2 的4次方乘以8为:%d”, power2(8,4) ); } } 当汇编语言子程序有返回值时,是通过ax和dx寄存器来进行传递的。 下一页 第12章 C语言综合应用程序举例 上一页 汇编

文档评论(0)

1亿VIP精品文档

相关文档