Subversion Repositories Kolibri OS

Rev

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

Rev 2305 Rev 2382
Line 7... Line 7...
7
    end if
7
    end if
8
  \}
8
  \}
9
}
9
}
10
 
10
 
Line 11... Line 11...
11
$Revision: 2305 $
11
$Revision: 2382 $
-
 
12
 
-
 
13
 
-
 
14
;// mike.dld, 2006-29-01 [
Line 12... Line 15...
12
 
15
 
13
; macros definition
16
; macros definition
14
macro diff16 title,l1,l2
17
macro diff16 title,l1,l2
15
{
18
{
Line 78... Line 81...
78
	mov   op2,op3
81
        mov     op2, op3
79
	mov   op1,op2
82
        mov     op1, op2
80
 }
83
 }
81
 
84
 
Line 82... Line -...
82
 
-
 
83
if __CPU_type eq p5		; CMOVcc isnt supported on the P5
85
macro __list_add new, prev, next
84
 
86
{
85
cmove	fix	cmovz
87
        mov     [next+LHEAD.prev], new
86
macro cmovz reg1, reg2 {
88
        mov     [new+LHEAD.next], next
87
 
-
 
88
local	.jumpaddr
-
 
89
 
-
 
90
	jnz	.jumpaddr
-
 
91
	mov	reg1, reg2
89
        mov     [new+LHEAD.prev], prev
92
       .jumpaddr:
90
        mov     [prev+LHEAD.next], new
93
}
91
}
Line 94... Line -...
94
 
-
 
95
cmovne	fix	cmovnz
92
 
96
macro cmovnz reg1, reg2 {
-
 
97
 
-
 
98
local	.jumpaddr
93
macro list_add new, head
99
 
-
 
100
	jz	.jumpaddr
94
{
101
	mov	reg1, reg2
95
        mov     eax, [head+LHEAD.next]
102
       .jumpaddr:
96
    __list_add new, head, eax
Line 103... Line 97...
103
}
97
}
104
 
98
 
105
macro cmovg reg1, reg2 {
-
 
106
 
-
 
107
local	.jumpaddr
-
 
108
 
99
macro list_add_tail new, head
109
	jle	.jumpaddr
100
{
110
	mov	reg1, reg2
101
        mov     eax, [head+LHEAD.prev]
Line 111... Line 102...
111
       .jumpaddr:
102
    __list_add new, eax, head
112
}
103
}
113
 
104
 
114
macro cmovl reg1, reg2 {
-
 
115
 
105
macro list_del entry
116
local	.jumpaddr
106
{
117
 
107
        mov     edx, [entry+list_fd]
118
	jge	.jumpaddr
108
        mov     ecx, [entry+list_bk]
Line 119... Line -...
119
	mov	reg1, reg2
-