Sou iniciante no programa Assembly, tenho que desenvolver um programa para executar a função: f = ( a + b ) - ( c + d ). Os valores de a, b, c e d serão inseridos pelo usuário interativamente. O programa deverá ser criado para arquitetura x86-64 e executar na imagem do Ubuntu (ou outra distribuição Linux). Preciso de ajuda não sei mexe muito bem na linguagem, pois fiz em C com assembly mas o professor não aceitou 
#include <stdio.h>
int a, b, c, d;
int main(){
printf("Por favor, entre com o valor a: ");
scanf("%i", &a);
printf("Por favor, entre com o valor b: ");
scanf("%i", &b);
printf("Por favor, entre com o valor c: ");
scanf("%i", &c);
printf("Por favor, entre com o valor d: ");
scanf("%i", &d);
printf("Fazendo calculo, aguarde..\n");
asm(
// MOVENDO VARIAVEIS PARA REGISTRADORES
"MOVL a, %eax;"
"MOVL b, %ebx;"
"MOVL c, %ecx;"
"MOVL d, %edx;"
// OPERANDO SOMA A+B
"ADDL %eax, %ebx;"
// OPERANDO SOMA C+D
"ADDL %ecx, %edx;"
// FAZENDO (A+B) - (C+D)
"SUBL %edx, %ebx;"
// RETORNANDO RESULTADO
"MOVL %ebx, a;"
);
// PRINTANDO RESULTADO
printf("Resultado: %i\n", a);
return 0;
}