use32 ; включить 32-битный режим ассемблера org 0 ; адресация с нуля APP_HEADER: db 'MENUET01' ; 8-байтный идентификатор MenuetOS dd 1 ; версия заголовка (1 либо 2, см. док-ю) dd START ; адрес первой команды dd I_END ; размер программы dd MEM ; количество памяти dd STACKTOP ; адрес вершины стэка .cmdline: dd DEF_CMDLINE ; адрес буфера для параметров dd 0 ; под адрес на путь к файлу include "macros.inc" ; display_d -emul ; display_d START: mcall 68, 11 ; init shared buffer mcall 68, 22, SHARED_NAME, 16*2, 1 test eax, eax jz exit mov esi, DEF_CMDLINE mov edi, eax mov ecx, 16*2 @@: dec ecx js exit movsb cmp byte[esi - 1], 0 jne @b mov byte[edi - 1], ' ' jmp @b exit: mcall -1 SHARED_NAME: db 'DISPLAY_16_2_D',0 DEF_CMDLINE: rb 256 align 16 I_END: rb 1024; one page STACKTOP: align 16 MEM: