微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

汇编过程

section    .text
   global _start        ;must be declared for using gcc

_start:                    ;tell linker entry point
   mov    ecx,'4'
   sub     ecx, '0'

   mov     edx, '5'
   sub     edx, '0'

   call    sum          ;call sum procedure
   mov     [res], eax
   mov    ecx, msg    
   mov    edx, len
   mov    ebx,1            ;file descriptor (stdout)
   mov    eax,4            ;system call number (sys_write)
   int    0x80            ;call kernel

   mov    ecx, res
   mov    edx, 1
   mov    ebx, 1            ;file descriptor (stdout)
   mov    eax, 4            ;system call number (sys_write)
   int    0x80            ;call kernel

   mov    eax,1            ;system call number (sys_exit)
   int    0x80            ;call kernel
sum:
   mov     eax, ecx
   add     eax, edx
   add     eax, '0'
   ret

section .data
msg db The sum is:, 0xA,0xD 
len equ $- msg   

segment .bss
res resb 1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐