source: trunk/minix/lib/ack/i386/em/em_lar4.s@ 9

Last change on this file since 9 was 9, checked in by Mattia Monga, 13 years ago

Minix 3.1.2a

File size: 571 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.sect .text
3.define .lar4
4
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
201:
21 sar ecx,1
22 jnb 1f
23 xor eax,eax
24 o16 mov ax,(edx)
25 push eax
26 jmp ebx
271:
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
Note: See TracBrowser for help on using the repository browser.