Online Compiler Nasm

%include "io.inc" section .data vx dd 0 section .text extern io_get_dec, io_print_dec, io_newline global main main: mov ebp, esp call io_get_dec mov dword [vx], eax call io_get_dec shl eax, 8 or dword [vx], eax call io_get_dec shl eax, 16 or dword [vx], eax call io_get_dec shl eax, 24 or dword [vx], eax mov edi, dword [vx] call io_print_dec call io_newline xor eax, eax ret
1) Этот код последовательно считывает четыре десятичных числа, каждое из которых после считывания сдвигается на определенное количество бит влево и объединяется с общим значением в переменной `vx` с помощью операции `OR`. В итоге он печатает получившееся 32-битное число как одно десятичное значение.

2) Обрати внимание, что порядок считывания чисел определяет, какие байты итогового двойного слова они занимают. Первое число не сдвигается и становится младшим байтом.  
   Вспомни, что операция `OR` применяется для установки битов, а не для сложения значений.