source: trunk/minix/lib/i386/em/em_sti.s@ 20

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

Minix 3.1.2a

File size: 568 bytes
Line 
1.sect .text; .sect .rom; .sect .data; .sect .bss
2.sect .text
3.define .sti
4.define .sts
5
6 ! #bytes in ecx
7 ! address in ebx
8 ! save edi/esi. they might be register variables
9.sts:
10 pop edx
11 sar ecx,1
12 jnb 1f
13 pop eax
14 movb (ebx),al
15 jmp edx
161:
17 sar ecx,1
18 jnb 1f
19 pop eax
20 o16 mov (ebx),ax
21 jmp edx
221:
23 push edx
24 mov edx,edi
25 mov edi,ebx
26 pop ebx
27 jmp 1f
28.sti:
29 ! only called with count >> 4
30 mov edx,edi
31 mov edi,ebx
32 pop ebx
33 sar ecx,2
341:
35 mov eax,esi
36 mov esi,esp
37 rep movs
38 mov esp,esi
39 mov edi,edx
40 mov esi,eax
41 jmp ebx
Note: See TracBrowser for help on using the repository browser.