Subversion Repositories Kolibri OS

Rev

Rev 1376 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1376 Rev 2382
Line 2... Line 2...
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 6... Line 6...
6
 
6
 
Line 7... Line 7...
7
$Revision: 1376 $
7
$Revision: 2382 $
Line 8... Line 8...
8
 
8
 
9
_esp equ esp
9
_esp equ esp
Line 60... Line 60...
60
 common
60
 common
61
  if is_str = 1
61
  if is_str = 1
62
   jmp ..label
62
        jmp     ..label
63
   ..str db _str,0
63
   ..str db _str,0
64
   ..label:
64
   ..label:
65
;   add  esp,4*8+4
-
 
66
esp equ esp+4*8+4
-
 
67
   mov  edx,..str
65
        mov     edx, ..str
68
esp equ _esp
-
 
69
;   sub  esp,4*8+4
-
 
70
  else
66
  else
-
 
67
esp equ esp+4*8+4
71
   mov  edx,_str
68
        mov     edx, _str
-
 
69
esp equ _esp
72
  end if
70
  end if
73
  if ~_num eq
71
  if ~_num eq
74
   if _num eqtype eax
72
   if _num eqtype eax
75
    if _num in 
73
    if _num in 
76
     mov esi,_num
74
        mov     esi, _num
Line 252... Line 250...
252
debug_endf
250
debug_endf
Line 253... Line 251...
253
 
251
 
254
debug_func fdo_debug_outstr
252
debug_func fdo_debug_outstr
255
debug_beginf
253
debug_beginf
-
 
254
        mov     eax, 1
256
        mov     eax,1
255
  .l1:
257
  .l1:  dec     esi
256
        dec     esi
258
        js      .l2
257
        js      .l2
259
        movzx   ebx,byte[edx]
258
        movzx   ebx, byte[edx]
260
        or      bl,bl
259
        or      bl, bl
261
        jz      .l2
260
        jz      .l2
262
        mov     ecx,sys_msg_board
261
        mov     ecx, sys_msg_board
263
        call    ecx ; sys_msg_board
262
        call    ecx ; sys_msg_board
264
        inc     edx
263
        inc     edx
-
 
264
        jmp     .l1
265
        jmp     .l1
265
  .l2:
266
  .l2:  ret
266
        ret
Line 267... Line 267...
267
debug_endf
267
debug_endf
268
 
268
 
269
debug_func fdo_debug_outdec
269
debug_func fdo_debug_outdec
Line 275... Line 275...
275
        neg     eax
275
        neg     eax
276
        push    eax
276
        push    eax
277
        mov     al,'-'
277
        mov     al, '-'
278
        call    fdo_debug_outchar
278
        call    fdo_debug_outchar
279
        pop     eax
279
        pop     eax
-
 
280
    @@:
280
    @@: push    10
281
        push    10
281
        pop     ecx
282
        pop     ecx
282
        push    -'0'
283
        push    -'0'
-
 
284
  .l1:
283
  .l1:  xor     edx,edx
285
        xor     edx, edx
284
        div     ecx
286
        div     ecx
285
        push    edx
287
        push    edx
286
        test    eax,eax
288
        test    eax, eax
287
        jnz     .l1
289
        jnz     .l1
-
 
290
  .l2:
288
  .l2:  pop     eax
291
        pop     eax
289
        add     al,'0'
292
        add     al, '0'
290
        jz      .l3
293
        jz      .l3
291
        call    fdo_debug_outchar
294
        call    fdo_debug_outchar
292
        jmp     .l2
295
        jmp     .l2
-
 
296
  .l3:
293
  .l3:  ret
297
        ret
294
debug_endf
298
debug_endf
Line 295... Line 299...
295
 
299
 
296
debug_func fdo_debug_outhex
300
debug_func fdo_debug_outhex
297
  __fdo_hexdigits db '0123456789ABCDEF'
301
  __fdo_hexdigits db '0123456789ABCDEF'
298
debug_beginf
302
debug_beginf
299
        mov     cl,dl
303
        mov     cl, dl
300
        neg     cl
304
        neg     cl
301
        add     cl,8
305
        add     cl, 8
302
        shl     cl,2
306
        shl     cl, 2
-
 
307
        rol     eax, cl
303
        rol     eax,cl
308
  .l1:
304
  .l1:  rol     eax,4
309
        rol     eax, 4
305
        push    eax
310
        push    eax
306
        and     eax,0x0000000F
311
        and     eax, 0x0000000F
307
        mov     al,[__fdo_hexdigits+eax]
312
        mov     al, [__fdo_hexdigits+eax]
308
        call    fdo_debug_outchar
313
        call    fdo_debug_outchar