ARM汇编:printf

原创 2013年12月03日 09:17:45
#include <stdio.h>
int add3(int a, int b, int c)
{
	return a+b+c;
}
int main()
{
	//char* p="Hello world!";
	int a=1, b=2, c =3;
	printf("func printf: %d\n", a++);
	add3(a, b, c);
	return 0;
}


lumy1@xmws48:~/workspace/mickey/android/external/asmtest$ ~/workspace/mt6592_dev/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-objdump -D -s asmtest.o > asmtest2.asm

Contents of section .rodata.str1.4:
 0000 66756e63 20707269 6e74663a 2025640a  func printf: %d.
 0010 00000000       

Disassembly of section .text.add3:


00000000 <add3>:
   0: 1840      adds r0, r0, r1
   2: 1880      adds r0, r0, r2
   4: 4770      bx lr
   6: bf00      nop

Disassembly of section .text.startup.main:


00000000 <main>:
   0: 4803      ldr r0, [pc, #12]; (10 <main+0x10>)
   2: 2101      movs r1, #1
   4: b508      push {r3, lr}
   6: 4478      add r0, pc
   8:f7ff fffe bl0 <printf>
   c: 2000      movs r0, #0
   e: bd08      pop {r3, pc}
  10: 00000006 andeq r0, r0, r6


汇编调试技巧:调用C语言函数printf()

调试程序的痛苦莫过于调试汇编语言了~ 实际上对于一个嵌入式软件工程师来说,汇编语言的调试跟C语言的调试如出一辙。当然 ,也有些软件可以用来仿真,例如real view, DS-5等等,但更为普通的情况...
  • opentld
  • opentld
  • 2014年02月13日 19:15
  • 2056

arm汇编语言中调用C库函数printf[原]

今天在写一个ARM汇编代码时,本来想在程序中显示字符串信息,结果不成功,开始以为是C库中printf的实现的原因,下午终于解决问题,原来是没有在汇编程序中初始化C库。遇到这个问题时,为了简单起见,我直...
  • denlee
  • denlee
  • 2008年05月14日 16:38
  • 5756

ARM 汇编学习——编写简单的ARM汇编程序

首先,我们先看一个简单的汇编程序: area ff,code,readonly ;声明代码段 code32 ;声明为32位ARM指令 entry ;声明程序入口 start ;b指令...

CString类常用方法----Left(),Mid(),Right()……

CStringLeft(intnCount)const; //从左边1开始获取前 nCount个字符 CStringMid(intnFirst)const; //从左边第 nCount+1个字符开始,...
  • eager7
  • eager7
  • 2013年09月13日 17:43
  • 16456

用汇编实现类似于C语言中的printf函数--学习笔记

以下内容只是本人的一些学习心得,如有谬误,希望诸位大神不吝赐教,菜鸟在此拜过各位大神。 这几天刚刚学了call和ret指令,call指令和ret指令是用来实现程序的跳转的,汇编程序中,主程序和子程序...

汇编综合研究5 实现printf函数

根据综合研究5的showchar()函数,可以了解参数都是由栈传递的,所要传递参数的个数也可以由栈传递。那么printf函数要输出的参数肯定也是由栈传递。另外一点就是printf函数肯定有某种信息,这...
  • zy_sky
  • zy_sky
  • 2011年04月16日 13:22
  • 692

05 printf函数可变参数的实现原理之汇编分析

如实现一个像printf函数格式的函数: test.c void myprintf(char *line, ...) // line指针变量是局部变量,在栈里分配空间 { prin...
  • jklinux
  • jklinux
  • 2017年05月29日 23:49
  • 342

ARM 平台printf函数定位到uart输出介绍

1.1      ARM 串口输出函数uart_printf ARM如果能使用C函数库自带的printf函数格式输出,那多方便,但是默认的printf都是定位到stdout终端,而不是串口,本文章讲...
  • wfq0624
  • wfq0624
  • 2012年06月12日 23:42
  • 2296

ARM架构处理器MT6572的LK printf 与UART串口打印分析

相关源码文件:         bootable/bootloader/lk/include/printf.h         bootable/bootloader/lk/lib/libc/prin...

C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .

我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解。例如Printf():   Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int print...
  • mao0514
  • mao0514
  • 2013年12月16日 14:19
  • 1471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM汇编:printf
举报原因:
原因补充:

(最多只允许输入30个字)