Subversion Repositories Kolibri OS

Rev

Rev 353 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 353 Rev 485
Line 7... Line 7...
7
include 'check.inc'
7
include 'check.inc'
8
include 'file_sys.inc'
8
include 'file_sys.inc'
9
include 'textwork.inc'
9
include 'textwork.inc'
10
;include 'ini.inc'
10
;include 'ini.inc'
Line -... Line 11...
-
 
11
 
-
 
12
__CPU_type	equ	p5
-
 
13
SYSENTER_VAR	equ	0
-
 
14
 
11
 
15
 
12
macro movr reg,val
16
macro movr reg,val
13
{
17
{
14
if val < 65536
18
if val < 65536
15
	push	val
19
	push	val
16
	pop	reg
20
	pop	reg
17
else
21
else
18
	mov	reg,val
22
	mov	reg,val
19
end if
23
end if
Line -... Line 24...
-
 
24
}
-
 
25
 
-
 
26
macro mcall a,b,c,d,e,f {   ; mike.dld, updated by Ghost for Fast System Calls
-
 
27
 local	..ret_point
-
 
28
 __mov eax,a
-
 
29
 __mov ebx,b
-
 
30
 __mov ecx,c
-
 
31
 __mov edx,d
-
 
32
 __mov esi,e
-
 
33
 __mov edi,f
-
 
34
 
-
 
35
 if __CPU_type eq p5
-
 
36
	int	0x40
-
 
37
 else
-
 
38
  if __CPU_type eq p6
-
 
39
	push	ebp
-
 
40
	mov	ebp, esp
-
 
41
	push	..ret_point	; it may be 2 or 5 byte
-
 
42
	sysenter
-
 
43
 ..ret_point:
-
 
44
	pop	edx
-
 
45
	pop	ecx
-
 
46
 
-
 
47
  else
-
 
48
   if __CPU_type eq k6
-
 
49
	push	ecx
-
 
50
	syscall
-
 
51
	pop	ecx
-
 
52
   else
-
 
53
	display 'ERROR : unknown CPU type'
-
 
54
	int	0x40
-
 
55
   end if
-
 
56
  end if
-
 
57
 end if
-
 
58
}
-
 
59
 
-
 
60
macro __mov reg,a,b {	    ; mike.dld
-
 
61
 if (~a eq)&(~b eq)
-
 
62
   mpack reg,a,b
-
 
63
 else if (~a eq)&(b eq)
-
 
64
   mov reg,a
-
 
65
 end if
-
 
66
}
20
}
67
 
21
 
68
 
22
;--- § £®«®¢®ª ---
69
;--- § £®«®¢®ª ---
23
macro meos_header par_buf,cur_dir_buf
70
macro meos_header par_buf,cur_dir_buf
24
{
71
{