Online Compiler Nasm

extern io_get_string, io_print_dec, io_print_char section .bss s resb 8 section .text global main main: mov eax, s call io_get_string movzx eax, byte [s] movzx ebx, byte [s + 3] sub eax, ebx mov ecx, eax sar ecx, 31 xor eax, ecx sub eax, ecx mov ebx, eax movzx eax, byte [s + 1] movzx ecx, byte [s + 4] sub eax, ecx mov edx, eax sar edx, 31 xor eax, edx sub eax, edx add eax, ebx call io_print_dec xor eax, eax ret
1) Этот код считывает строку, затем вычисляет сумму абсолютных разностей между символами в позициях 0 и 3, а также 1 и 4, и выводит результат.

2) Обрати внимание, что инструкция `sar ecx, 31` используется для получения знака числа (0 для положительного, -1 для отрицательного) — это часть вычисления модуля.  
   Учти, что строка в `s` имеет длину 8 байт, но код работает только с первыми пятью символами (индексы 0, 1, 3, 4).