Online Compiler Nasm

extern io_get_string, io_print_dec, io_print_char section .bss s resb 5 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) Этот код считывает строку из 5 символов, вычисляет сумму абсолютных разниц между первым и четвёртым, а также вторым и пятым символами, и выводит результат.

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