Online Compiler Nasm

%include "io.inc" section .bss x1 resb 1 y1 resb 1 x2 resb 1 y2 resb 1 section .text global main main: GET_CHAR[x1] GET_DEC 4, y1 GET_CHAR[x2] GET_CHAR[x2] GET_DEC 4, y2 movzx eax, byte[x1] sub eax, 'A' inc eax mov ebx, eax movzx eax, byte[x2] sub eax, 'A' inc eax sub eax, ebx cdq xor eax, edx sub eax, edx mov ecx, eax mov eax,[y2] sub eax,[y1] cdq xor eax, edx sub eax, edx add eax, ecx PRINT_DEC 4, eax ret
1) Этот код вычисляет минимальное количество ходов для шахматного коня между двумя клетками на доске, если считать, что конь ходит буквой "Г". Вводятся координаты двух клеток в формате: буква столбца (A-H) и номер строки (1-8) для каждой.

2) Подсказки:
- Обрати внимание, что для второй координаты дважды считывается символ (`GET_CHAR[x2]`), чтобы пропустить пробел или перевод строки между символами.
- Операции `cdq`, `xor eax, edx`, `sub eax, edx` используются для получения абсолютного значения разности (модуля) чисел в регистре `eax`.