; This program tests the numbers a, b and c to
; see if they can be the legs and hypotenuse of
; a right triangle: a^2 + b^2 = c^2
segment .data
a dq 246 ; one leg of a triangle
b dq 328 ; another leg
c dq 410 ; hypotenuse ?
segment .text
global main
main:
mov rax, [a] ; move a into rax
imul rax, rax ; a squared
mov rdx, [b] ; move b into rdx
imul rdx, rdx ; b squared
mov rcx, [c] ; move c into rcx
imul rcx, rcx ; c squared
add rax, rdx ; rax has a^2+b^2
sub rax, rcx ; is rax 0?
xor rax, rax
ret