Adding Two Numbers in GNU Assembler

Below is a flat script to add two numbers using GNU Assembler.

  
                
                [section .text]
                global _start
                
                _start:
                    mov $0, %eax   ; Initialize register A to 0
                    mov $0, %ebx   ; Initialize register B to 0
                    
                    mov $1, %esi   ; Load address of input number (1)
                    mov $2, %edi   ; Load address of second input number (2)
                    
                    mov %esi, %rax  ; Move from ESI to RAX
                    mov %edi, %rbx  ; Move from EDI to RBX
                    
                    mov %rax, %eax  ; Move from RAX to EAX
                    mov %rbx, %ebx  ; Move from RBX to EBX
                    
                    mov $1, %eax    ; Set result to 1
                    mov $0, %ebx    ; Clear register B
                    
                    ret              ; Return from function