section .text
global _start ; Entry point for the program
_start:
; Step 1: Load values into two registers
MOV EAX, 5 ; Load the value 5 into register EAX
MOV EBX, 10 ; Load the value 10 into register EBX
; Step 2: Add the values in EAX and EBX, store result in ECX
ADD ECX, EAX ; Add the value of EAX to ECX (ECX = EAX + 0 initially)
ADD ECX, EBX ; Add the value of EBX to ECX (ECX = 5 + 10 = 15)
; Now ECX holds the result 15
; Step 3: Exit the program (no output to the screen)
MOV EAX, 1 ; syscall number for exit (1)
XOR EBX, EBX ; Exit code 0
INT 0x80 ; Trigger interrupt to invoke syscall and exit the program
c2VjdGlvbiAudGV4dAogICAgZ2xvYmFsIF9zdGFydCAgOyBFbnRyeSBwb2ludCBmb3IgdGhlIHByb2dyYW0KCl9zdGFydDoKICAgIDsgU3RlcCAxOiBMb2FkIHZhbHVlcyBpbnRvIHR3byByZWdpc3RlcnMKICAgIE1PViBFQVgsIDUgICAgICAgOyBMb2FkIHRoZSB2YWx1ZSA1IGludG8gcmVnaXN0ZXIgRUFYCiAgICBNT1YgRUJYLCAxMCAgICAgIDsgTG9hZCB0aGUgdmFsdWUgMTAgaW50byByZWdpc3RlciBFQlgKCiAgICA7IFN0ZXAgMjogQWRkIHRoZSB2YWx1ZXMgaW4gRUFYIGFuZCBFQlgsIHN0b3JlIHJlc3VsdCBpbiBFQ1gKICAgIEFERCBFQ1gsIEVBWCAgICAgOyBBZGQgdGhlIHZhbHVlIG9mIEVBWCB0byBFQ1ggKEVDWCA9IEVBWCArIDAgaW5pdGlhbGx5KQogICAgQUREIEVDWCwgRUJYICAgICA7IEFkZCB0aGUgdmFsdWUgb2YgRUJYIHRvIEVDWCAoRUNYID0gNSArIDEwID0gMTUpCgogICAgOyBOb3cgRUNYIGhvbGRzIHRoZSByZXN1bHQgMTUKCiAgICA7IFN0ZXAgMzogRXhpdCB0aGUgcHJvZ3JhbSAobm8gb3V0cHV0IHRvIHRoZSBzY3JlZW4pCiAgICBNT1YgRUFYLCAxICAgICAgIDsgc3lzY2FsbCBudW1iZXIgZm9yIGV4aXQgKDEpCiAgICBYT1IgRUJYLCBFQlggICAgIDsgRXhpdCBjb2RlIDAKICAgIElOVCAweDgwICAgICAgICAgOyBUcmlnZ2VyIGludGVycnVwdCB0byBpbnZva2Ugc3lzY2FsbCBhbmQgZXhpdCB0aGUgcHJvZ3JhbQo=