汇编过程

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264644.html

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论