.sect .text; .sect .rom; .sect .data; .sect .bss .sect .text .define .lar4 .lar4: ! ebx, descriptor address ! eax, index sub eax,(ebx) mov ecx,8(ebx) imul ecx pop ebx pop edx ! base address add edx,eax sar ecx,1 jnb 1f xor eax,eax movb al,(edx) push eax jmp ebx 1: sar ecx,1 jnb 1f xor eax,eax o16 mov ax,(edx) push eax jmp ebx 1: xchg edx,esi ! saved esi mov eax,ecx sal eax,2 sub esp,eax mov eax,edi ! save edi mov edi,esp rep movs mov edi,eax mov esi,edx jmp ebx