zoukankan      html  css  js  c++  java
  • ARM汇编Hello,World

    1. 编译运行环境见

    http://www.cnblogs.com/linucos/archive/2013/03/01/2938517.htm

    2. 汇编例子

      .data  
      msg:  .asciz  "hello, world\n"  
     
      .text  
      .global main                                                                                                                       
      main:  
      push    {r0,r1,r2,lr}
      ldr     r1, =msg         @ address  
      mov     r0, #1          @ stdout  
      mov     r2, #13         @ length  
      swi     #0x900004       @ sys_write  
      pop     {r0,r1,r2,pc}

    3. 编译运行

    arm-linux-gnueabi-gcc asmhello.s -o asmhello

    qemu上运行./asmhello 即可

    4. C例子

     #include <stdio.h>
     
      int main(void)
      {
          fprintf(stderr, "%s\n", __FILE__);                                                                                             
          return 0;
      }

    5. 编译运行

    arm-linux-gnueabi-gcc  hello.c -o hello

    6. C例子反汇编

    arm-linux-gnueabi-objdump -d hello > hello.dis

    发现:main函数返回用 pop {r7,pc}实际对应的是push {r7,lr}

  • 相关阅读:
    工作流资源模式
    工作流资源模式
    工作流资源模式
    工作流资源模式
    工作流模式-工作流资源模式43种
    pmbok中文第六版官方在线版(班主任推荐)
    PMP项目管理知识体系指南(PMBOK指南)第六版,无水印、无密码、带目录、高清
    五、行为型模式
    四、结构型模式
    一、UML
  • 原文地址:https://www.cnblogs.com/linucos/p/2963311.html
Copyright © 2011-2022 走看看