汇编语言学习系列 加法实现

以下代码示范a和b两个整数相加,编译环境Ubuntu14.04(32位)。

  • 代码
.section .data
        a: .int 10
        b: .int 20
        format: .asciz "%d\n"
.section .text
.global _start
_start:
        movl a, %edx  #将a送入寄存器edx
        addl b, %edx  #将a+b的值送入寄存器edx
        pushl %edx
        pushl $format
        call printf
        movl $0, (%esp)
        call exit
  • 编译

 as plus.s -o plus.o

  • 链接

ld -lc -I /lib/ld-linux.so.2 plus.o -o plus

  • 执行

 ./plus

 

posted @ 2015-02-03 21:11  Ydoing  阅读(649)  评论(0编辑  收藏  举报