. service tells you which device it couldn't stat
[minix3.git] / lib / i386 / em / em_lar4.s
blob643ec961f839ee556448941a874c475814bdd203
1 .sect .text; .sect .rom; .sect .data; .sect .bss
2 .sect .text
3 .define .lar4
5 .lar4:
6 ! ebx, descriptor address
7 ! eax, index
8 sub eax,(ebx)
9 mov ecx,8(ebx)
10 imul ecx
11 pop ebx
12 pop edx ! base address
13 add edx,eax
14 sar ecx,1
15 jnb 1f
16 xor eax,eax
17 movb al,(edx)
18 push eax
19 jmp ebx
21 sar ecx,1
22 jnb 1f
23 xor eax,eax
24 o16 mov ax,(edx)
25 push eax
26 jmp ebx
28 xchg edx,esi ! saved esi
29 mov eax,ecx
30 sal eax,2
31 sub esp,eax
32 mov eax,edi ! save edi
33 mov edi,esp
34 rep movs
35 mov edi,eax
36 mov esi,edx
37 jmp ebx