%include "asm_io.inc" segment .data prompt1 db "Enter a number: ", 0 ; null terminator prompt2 db "Enter another number: ", 0 outmsg1 db "You entered ", 0 outmsg2 db " and ", 0 outmsg3 db ", the sum of these is ", 0 segment .bss input1 resd 1 input2 resd 1 segment .text global _asm_main _asm_main: enter 0,0 ; start up routine pusha mov eax,prompt1 call print_string ; see .inc file call read_int mov [input1], eax mov eax, prompt2 call print_string call read_int mov [input2], eax mov eax, [input1] add eax, [input2] mov ebx, eax dump_regs 1 dump_mem 2, outmsg1, 1 ;; the final end mov eax, outmsg1 call print_string mov eax, [input1] call print_int mov eax, outmsg2 call print_string mov eax, [input2] call print_int mov eax, outmsg3 call print_string mov eax, ebx call print_int call print_nl popa mov eax, 0 ; return to c, letting it die leave ret