%imacro wllist 1-2.nolist global ..@wllist_%1?%[%%l] ..@wllist_%1?%[%%l]: %2 %endmacro section code wllist g_ginitgroup_sinit wllist n_sinit_linit_code_386 wllist n_sinit_linit_code_no386 wllist n_sinit_lemptylist mov ax, init mov ds, ax extern init_code_386 extern init_code_386.end extern init_code_386.amount extern init_code_no386 extern init_code_no386.end extern init_code_no386.amount mov si, init_code_386 mov cx, init_code_386.amount l: lodsw loop l cmp si, init_code_386.end jne error mov si, init_code_no386 mov cx, init_code_no386.amount q: lodsw xchg di, ax mov byte [cs:di], 90h loop q cmp si, init_code_no386.end jne error align 64 nop nop wllist linit_code_386 mov ax, 1234h nop wllist linit_code_386 inc ax wllist linit_code_no386 o32 push ax wllist linit_code_no386 o32 push bx wllist linit_code_no386 o32 push cx wllist linit_code_no386 o32 push dx wllist r4_w2_linit_code_no386 pop edx pop ecx pop ebx pop eax xor bx, bx wllist r3_linit_code_no386 mov bx, 2642h wllist r0_linit_code_no386 wllist r0x0_linit_code_no386 wllist r0h_linit_code_no386 wllist r0_0_0b_linit_code_no386 mov al, '^' wllist linit_code_no386, equ $ - 1 wllist r0_w26h_lemptylist mov ax, 4C00h int 21h error: mov ax, 4CFFh int 21h group initgroup init section init align=1