Online Compiler Nasm

%include "io.inc" section .data x dd 12345678h section .text global CMAIN CMAIN: movzx eax, byte [x] PRINT_HEX 1, eax NEWLINE movzx eax, byte [x+1] PRINT_HEX 1, eax NEWLINE movzx eax, byte [x+2] PRINT_HEX 1, eax NEWLINE movzx eax, byte [x+3] PRINT_HEX 1, eax NEWLINE xor eax, eax ret
Этот код выводит четыре байта 32-битного числа x (0x12345678) по одному, начиная с младшего байта. В памяти x хранится в little-endian порядке, поэтому байты выводятся как 0x78, 0x56, 0x34, 0x12.

- Обратите внимание, что PRINT_HEX с первым параметром 1 выводит только один байт, но вы передаёте полный регистр eax. Убедитесь, что в eax действительно только один значащий байт — movzx обнуляет старшие биты, поэтому всё корректно.
- Если задача была вывести байты в обратном порядке (начиная со старшего), то порядок индексов в [x+...] нужно изменить.