segment .data a dq 100 b dq 200 diff dq 0 segment .text global main main: push rbp mov rbp, rsp sub rsp, 16 mov rax, 10 sub [a], rax ; subtract 10 from a sub [b], rax ; subtract 10 from b mov rax, [b] ; move b into rax sub rax, [a] ; set rax to b-a mov [diff], rax ; move the difference to diff xor rax, rax ; was "mov rax, 0" leave ret