Assembly LanguageI Arithmetic Operations 4 Create your own a
Assembly Language–I (Arithmetic Operations)
4. Create your own arithmetic example and code it in Assembly language.
In all the above problems:
1. Present, in the write-up, the problem and the Assembly--Code
2. Give, in the write-up, the result (printScreen)
3. Discuss the results
Solution
The following example 3 and 4 digits, store the digits in the EAX and EBX
register, respectively, add the values, store the result in a memory location
\'sum\' and finally display the result.
a. Program in Assembly Language:
section   .text
    global _start    ;must be declared for using gcc
   
 _start:             ;tell linker entry point
    mov   eax,\'3\'
    sub     eax, \'0\'
   
    mov    ebx, \'4\'
    sub     ebx, \'0\'
    add    eax, ebx
    add   eax, \'0\'
   
    mov    [sum], 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,sum
    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
   
 section .data
    msg db \"The sum is:\", 0xA,0xD
    len equ $ - msg
    segment .bss
    sum resb 1
 b. Output on the screen
   The sum is:
    7
c. Performed sum operation of 3 and 4 and got the 7 as result.


