美文网首页
[汇编]AT&T格式汇编代码:编译、连接、生成,Hell

[汇编]AT&T格式汇编代码:编译、连接、生成,Hell

作者: AkuRinbu | 来源:发表于2018-09-15 18:53 被阅读104次

使用教材

《汇编语言程序设计》
https://www.jianshu.com/p/8473cd0e92b6

查看系统上安装的 binutils 包

anno@anno-m:~$ dpkg -l | grep binutil
ii  binutils  2.24-5ubuntu14.1  amd64   GNU assembler, linker and binary utilities

汇编语言 使用 AT&T 格式

  • test.s
#hello world!
.section .data
output:
   .ascii "Hello world!\n"
   len = . - output
.section .text
.globl _start
_start:
   movl $4, %eax           # 系统调用 _write
   movl $1, %ebx           # 文件描述符
   movl $output, %ecx      # 字符缓冲区
   movl $len, %edx         # 显示的字符数
   int $0x80
  
   movl $1, %eax          
   movl $0, %ebx    
   int $0x80               # 系统调用 _exit

汇编代码:编译、连接、运行

  • 1、as :把汇编语言程序 test.s 转换成目标文件test.o

  • 2、ld:从生成的目标文件test.o 创建可执行文件test

  • 3、运行可执行文件test,在屏幕上输出Hello world!

anno@anno-m:~/Desktop$ as -o test.o test.s
anno@anno-m:~/Desktop$ ld -o test test.o
anno@anno-m:~/Desktop$ ./test
Hello world!

相关文章

  • [汇编]AT&T格式汇编代码:编译、连接、生成,Hell

    使用教材 《汇编语言程序设计》https://www.jianshu.com/p/8473cd0e92b6 查看系...

  • 6.828 操作系统 lab1: 阅读boot.S

    补充知识 补充1. AT&T汇编 由于内核代码采用的gcc编译器使用AT&T的汇编格式,首先补充下关于AT&T汇编...

  • 代码的编译过程

    预处理 编译生成汇编代码 源码->汇编 汇编生成目标文件 链接各种库才能产生最终的正确可执行文件 编译的过程 假如...

  • C语言编译 - 编译过程

    一、C语言编译过程简介: 预处理:替换 编译:生成目标文件的汇编文件 汇编:生成目标文件的二进制文件 连接:生成可...

  • 基础知识

    程序的生成过程:预处理:#define,include编译:生成汇编语言程序汇编:生成机器代码链接:动态链接(程序...

  • c语言-预处理

    编译过程 -E 预编译 生成*.i文件,进行文本级别的处理。 -S 编译 将.i文件编译成汇编代码 -C 汇编编译...

  • 6、汇编和可执行文件(需要重新看视频整理)

    汇编≈机器码 编译器将源代码转换成汇编码(机器码) 代码经过编译器编译形成与之对应的汇编代码,而这些汇编代码不是可...

  • AT&T汇编

    参考链接 Linux下的汇编 Linux 下用汇编语言编写的代码具有两种不同的形式。第一种是完全的汇编代码,指的是...

  • 代码混淆

    LLVM编译过程: 预处理,词法分析,token,语法分析,AST,代码生成,LLVM IR,优化,生成,汇编代码...

  • lab1 二进制炸弹

    汇编与反汇编 汇编与反汇编的区别 phase_1 比较字符串是否相同 二进制炸弹 常见汇编指令详解 AT&T 格式...

网友评论

      本文标题:[汇编]AT&T格式汇编代码:编译、连接、生成,Hell

      本文链接:https://www.haomeiwen.com/subject/vndtnftx.html