Subversion Repositories Kolibri OS

Rev

Rev 2143 | Rev 2465 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
426 mikedld 1
 
2
3
 
4
  match =: Num =$,a \{
5
    if __REV < Num
6
      __REV = Num
7
    end if
8
  \}
9
}
10
11
 
12
13
 
593 mikedld 14
 
426 mikedld 15
16
 
17
macro diff16 title,l1,l2
18
{
19
  local s,d
20
  s = l2-l1
21
  display title,': 0x'
22
  repeat 16
506 mikedld 23
    d = 48 + s shr ((16-%) shl 2) and $0F
24
    if d > 57
426 mikedld 25
      d = d + 65-57-1
26
    end if
27
    display d
28
  end repeat
29
  display 13,10
30
}
31
macro diff10 title,l1,l2
32
 {
33
  local s,d,z,m
34
  s = l2-l1
35
  z = 0
36
  m = 1000000000
37
  display title,': '
38
  repeat 10
39
   d = '0' + s / m
40
   s = s - (s/m)*m
41
   m = m / 10
42
   if d <> '0'
43
    z = 1
44
   end if
45
   if z <> 0
46
    display d
47
   end if
48
  end repeat
49
  display 13,10
50
 }
51
52
 
521 diamond 53
54
 
426 mikedld 55
; may be useful for kernel debugging
56
; example 1:
57
;       dbgstr 'Hello, World!'
58
; example 2:
59
;       dbgstr 'Hello, World!', save_flags
60
macro dbgstr string*, f
61
{
62
local a
63
iglobal_nested
64
a db 'K : ',string,13,10,0
65
endg_nested
66
if ~ f eq
67
        pushfd
2434 Serge 68
end if
426 mikedld 69
        push    esi
2434 Serge 70
        mov     esi, a
71
        call    sys_msg_board_str
72
        pop     esi
73
if ~ f eq
426 mikedld 74
        popfd
2434 Serge 75
end if
426 mikedld 76
}
77
; \end{diamond}[29.09.2006]
78
1055 Galkov 79
 
80
 {
81
        mov     op2, op3
2434 Serge 82
        mov     op1, op2
83
 }
1055 Galkov 84
2143 serge 85
 
86
{
87
        mov     [next+LHEAD.prev], new
2434 Serge 88
        mov     [new+LHEAD.next], next
89
        mov     [new+LHEAD.prev], prev
90
        mov     [prev+LHEAD.next], new
91
}
2143 serge 92
93
 
94
{
95
        mov     eax, [head+LHEAD.next]
2434 Serge 96
    __list_add new, head, eax
2143 serge 97
}
98
99
 
100
{
101
        mov     eax, [head+LHEAD.prev]
2434 Serge 102
    __list_add new, eax, head
2143 serge 103
}
104
105
 
106
{
107
        mov     edx, [entry+list_fd]
2434 Serge 108
        mov     ecx, [entry+list_bk]
109
        mov     [edx+list_bk], ecx
110
        mov     [ecx+list_fd], edx
111
}
2143 serge 112