首先我们先用汇编编写一个helloworld,注意我们直接在汇编代码中调用C语言的printf函数将"hello,world\n" 输出在屏幕上。
.section .data
output:
.asciz "hello,world\n"
.section .text
.global main
main:
push $output
call printf
addl $4,%esp
push $0
call exit
上述代码中,
push $output将参数入栈,以便printf调用,
然后调用printf,printf会在栈中取出它需要的参数
2)我们直接使用GCC编译后运行
deepfuture@ubu-s:~$ gcc -o test test.s
deepfuture@ubu-s:~$ ./test
hello,world
3)那么调用C库函数所需要的参数入栈的顺序是什么?
再看一个例子
.section .data
myvalue:
.byte 67,68,69,70,0
mygs:
.asciz "%s\n"
.section .text
.globl main
main:
movl $myvalue,%ecx
push %ecx
push $mygs
call printf
push $0
call exit
67,68,69,70是C、D、E、F的ASCII码,0是字符串终结符
这段代码的功能是输出“CEDF”,相当于下面的C代码
#include <stdio.h>
int main( void )
{
char myvalue[]={67,68,69,70,0};
printf( "%s\n" ,myvalue);
return 0;
}
其中,后面的0表示字符串的终结符。
第一个参数最后一个入栈,按调用的相反顺序入栈
如果转载请注明来源,如有错误之处,请及时指出。
分享到:
相关推荐
C语言库函数,C语言函数民快速查询之必备
C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言...
C语言库函数---unix常用系统调用........
C语言库函数是C编程中的核心组成部分,它们提供了一系列预定义的功能,帮助程序员高效地完成各种任务。C语言库函数可以分为多个类别,包括输入输出、字符串操作、数学计算、内存管理、文件处理等。这些函数是C语言的...
《电子-2标准例程V3.5库函数版本》是一个专为STM32系列单片机设计的软件资源包,适用于STM32-F0、F1和F2型号。这个压缩包包含了开发者进行嵌入式系统开发所需的重要库函数和示例代码,旨在帮助程序员快速理解和应用...
计算机图形学-java版再次封装相关库函数和实现部分图像算法+源代码+文档说明 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审...
在IT领域,编程语言间的交互是常见的需求,尤其是在低级编程如汇编语言中调用高级语言如C的库函数时。"H2INC"工具就是为此目的设计的,它使得汇编程序员能够轻松地利用C语言丰富的库资源。本文将深入探讨H2INC的工作...
STM32F10x-时钟树与对应固件库函数,Vision2010文件,
在软件开发过程中,尤其是涉及到系统级编程或者需要调用特定库函数时,理解库函数的使用至关重要。LibTools-Viewer1.0是一款专为Windows平台设计的库函数查看器,它能帮助开发者快速、直观地查看DLL动态链接库中的...
C语言库函数是C标准库(如ANSI C或C11)中预定义的一系列函数,它们提供了一系列的操作,涵盖了输入输出、字符串处理、数学运算、内存管理等多个方面。例如,`printf`用于格式化输出,`scanf`用于从标准输入读取数据...
C语言库函数是C编程中的基础元素,它们提供了一系列预定义的功能,帮助程序员实现各种复杂的操作。本资源是一个专门用于查询C语言库函数的工具,它使得开发者在编写代码时能够快速查找并理解库函数的用途和用法,极...
在C语言中,库函数是程序员常用的重要工具,它们提供了一系列预先编译好的功能,可以帮助开发者完成各种任务,如输入输出、字符串操作、数学计算等。本文将深入探讨C语言库函数的功能查询,帮助你更高效地理解和运用...
C语言库函数是C编程中的核心组成部分,它们提供了一系列预定义的函数,使得开发者能够方便地执行各种操作,如输入输出、字符串处理、数学运算、内存管理等。库函数是C语言强大且高效的特性之一,因为它们经过优化,...
C语言库函数是C编程的重要组成部分,它们提供了一系列预先定义好的功能,可以帮助程序员高效地完成各种任务。对于初学者来说,理解和掌握C语言库函数是深入学习C编程的基础。本资料包聚焦于C语言库函数及其应用实例...
09. 剑齿虎开发板-(STVD+IAR)库函数代码.zip
c语言库函数大全.rar---------------------------------------------------------------------------------------------------------------------
C语言库函数源码是学习和理解C语言底层机制的重要资源。C语言库,特别是GNU C Library(glibc),是C编程的基础,提供了大量的标准函数,涵盖了输入/输出、内存管理、字符串处理、数学运算等诸多方面。glibc-2.24是...
C语言库函数是C编程的基础,它们为程序员提供了大量的基本操作,如输入/输出、内存管理、字符串处理、数学运算等。学习库函数源代码,可以让我们了解这些功能背后的实现机制,提升我们的编程技巧和问题解决能力。 1...