forked from KolibriOS/kolibrios
Unify fdo.inc and debug-fdo.inc files.
git-svn-id: svn://kolibrios.org@7657 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
9f3f8b346e
commit
fab3b3a411
@ -1,13 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
$Revision$
|
||||||
|
|
||||||
_esp equ esp
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; Formatted Debug Output (FDO)
|
; Formatted Debug Output (FDO)
|
||||||
; Copyright (c) 2005-2006, mike.dld
|
; Copyright (c) 2005-2006, mike.dld
|
||||||
@ -22,6 +20,12 @@ _esp equ esp
|
|||||||
; __DEBUG__ equ 1
|
; __DEBUG__ equ 1
|
||||||
; __DEBUG_LEVEL__ equ 5
|
; __DEBUG_LEVEL__ equ 5
|
||||||
|
|
||||||
|
_esp equ esp
|
||||||
|
|
||||||
|
macro put_board {
|
||||||
|
call sys_msg_board
|
||||||
|
}
|
||||||
|
|
||||||
macro debug_func name {
|
macro debug_func name {
|
||||||
if used name
|
if used name
|
||||||
name@of@func equ name
|
name@of@func equ name
|
||||||
@ -243,7 +247,7 @@ debug_beginf
|
|||||||
pushad
|
pushad
|
||||||
movzx ecx, al
|
movzx ecx, al
|
||||||
mov ebx, 1
|
mov ebx, 1
|
||||||
call sys_msg_board
|
put_board
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
debug_endf
|
debug_endf
|
||||||
@ -257,7 +261,7 @@ debug_beginf
|
|||||||
movzx ecx, byte[edx]
|
movzx ecx, byte[edx]
|
||||||
or cl, cl
|
or cl, cl
|
||||||
jz .l2
|
jz .l2
|
||||||
call sys_msg_board
|
put_board
|
||||||
inc edx
|
inc edx
|
||||||
jmp .l1
|
jmp .l1
|
||||||
.l2:
|
.l2:
|
||||||
@ -391,6 +395,17 @@ macro DEBUGF _level,_format,[_arg] {
|
|||||||
end if
|
end if
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro DEBUGFG _level, _group, _format, [_arg] {
|
||||||
|
common
|
||||||
|
if _group eqtype
|
||||||
|
DEBUGF _level, _format,_arg
|
||||||
|
else
|
||||||
|
if _level >= _group
|
||||||
|
DEBUGF 999, _format,_arg
|
||||||
|
end if
|
||||||
|
end if
|
||||||
|
}
|
||||||
|
|
||||||
macro __include_debug_strings dummy,[_id,_fmt,_len] {
|
macro __include_debug_strings dummy,[_id,_fmt,_len] {
|
||||||
common
|
common
|
||||||
local c1,a1,a2
|
local c1,a1,a2
|
||||||
|
@ -12,6 +12,12 @@
|
|||||||
; __DEBUG__ equ 1
|
; __DEBUG__ equ 1
|
||||||
; __DEBUG_LEVEL__ equ 5
|
; __DEBUG_LEVEL__ equ 5
|
||||||
|
|
||||||
|
_esp equ esp
|
||||||
|
|
||||||
|
macro put_board {
|
||||||
|
mcall 63
|
||||||
|
}
|
||||||
|
|
||||||
macro debug_func name {
|
macro debug_func name {
|
||||||
if used name
|
if used name
|
||||||
name@of@func equ name
|
name@of@func equ name
|
||||||
@ -52,11 +58,11 @@ macro DEBUGS_N _sign,_num,[_str] {
|
|||||||
jmp ..label
|
jmp ..label
|
||||||
..str db _str,0
|
..str db _str,0
|
||||||
..label:
|
..label:
|
||||||
add esp,4*8+4
|
|
||||||
mov edx, ..str
|
mov edx, ..str
|
||||||
sub esp,4*8+4
|
|
||||||
else
|
else
|
||||||
|
esp equ esp+4*8+4
|
||||||
mov edx, _str
|
mov edx, _str
|
||||||
|
esp equ _esp
|
||||||
end if
|
end if
|
||||||
if ~_num eq
|
if ~_num eq
|
||||||
if _num eqtype eax
|
if _num eqtype eax
|
||||||
@ -138,7 +144,8 @@ macro DEBUGD_N _sign,_num,_dec {
|
|||||||
else if _dec eqtype 0
|
else if _dec eqtype 0
|
||||||
mov eax, _dec
|
mov eax, _dec
|
||||||
else
|
else
|
||||||
add esp,4*8+4
|
; add esp,4*8+4
|
||||||
|
esp equ esp+4*8+4
|
||||||
if _num eq
|
if _num eq
|
||||||
mov eax, dword _dec
|
mov eax, dword _dec
|
||||||
else if _num = 1
|
else if _num = 1
|
||||||
@ -156,7 +163,8 @@ macro DEBUGD_N _sign,_num,_dec {
|
|||||||
else
|
else
|
||||||
mov eax, dword _dec
|
mov eax, dword _dec
|
||||||
end if
|
end if
|
||||||
sub esp,4*8+4
|
esp equ _esp
|
||||||
|
; sub esp,4*8+4
|
||||||
end if
|
end if
|
||||||
mov cl, _sign
|
mov cl, _sign
|
||||||
call fdo_debug_outdec
|
call fdo_debug_outdec
|
||||||
@ -187,11 +195,11 @@ macro DEBUGH_N _sign,_num,_hex {
|
|||||||
if ~_hex eq eax
|
if ~_hex eq eax
|
||||||
mov eax, _hex
|
mov eax, _hex
|
||||||
end if
|
end if
|
||||||
|
mov edx, 8
|
||||||
else if _hex in <ax,bx,cx,dx,si,di,bp,sp>
|
else if _hex in <ax,bx,cx,dx,si,di,bp,sp>
|
||||||
if ~_hex eq ax
|
if ~_hex eq ax
|
||||||
movzx eax, _hex
|
movzx eax, _hex
|
||||||
end if
|
end if
|
||||||
shl eax,16
|
|
||||||
if (_num eq)
|
if (_num eq)
|
||||||
mov edx, 4
|
mov edx, 4
|
||||||
end if
|
end if
|
||||||
@ -199,7 +207,6 @@ macro DEBUGH_N _sign,_num,_hex {
|
|||||||
if ~_hex eq al
|
if ~_hex eq al
|
||||||
movzx eax, _hex
|
movzx eax, _hex
|
||||||
end if
|
end if
|
||||||
shl eax,24
|
|
||||||
if (_num eq)
|
if (_num eq)
|
||||||
mov edx, 2
|
mov edx, 2
|
||||||
end if
|
end if
|
||||||
@ -207,14 +214,18 @@ macro DEBUGH_N _sign,_num,_hex {
|
|||||||
else if _hex eqtype 0
|
else if _hex eqtype 0
|
||||||
mov eax, _hex
|
mov eax, _hex
|
||||||
else
|
else
|
||||||
add esp,4*8+4
|
; add esp,4*8+4
|
||||||
|
esp equ esp+4*8+4
|
||||||
mov eax, dword _hex
|
mov eax, dword _hex
|
||||||
sub esp,4*8+4
|
esp equ _esp
|
||||||
|
; sub esp,4*8+4
|
||||||
end if
|
end if
|
||||||
if ~_num eq
|
if ~_num eq
|
||||||
mov edx, _num
|
mov edx, _num
|
||||||
else
|
else
|
||||||
|
if ~_hex eqtype eax
|
||||||
mov edx, 8
|
mov edx, 8
|
||||||
|
end if
|
||||||
end if
|
end if
|
||||||
call fdo_debug_outhex
|
call fdo_debug_outhex
|
||||||
popad
|
popad
|
||||||
@ -226,27 +237,27 @@ macro DEBUGH_N _sign,_num,_hex {
|
|||||||
debug_func fdo_debug_outchar
|
debug_func fdo_debug_outchar
|
||||||
debug_beginf
|
debug_beginf
|
||||||
pushad
|
pushad
|
||||||
mov cl,al
|
movzx ecx, al
|
||||||
mov ebx, 1
|
mov ebx, 1
|
||||||
mov eax,63
|
put_board
|
||||||
mcall
|
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
debug_endf
|
debug_endf
|
||||||
|
|
||||||
debug_func fdo_debug_outstr
|
debug_func fdo_debug_outstr
|
||||||
debug_beginf
|
debug_beginf
|
||||||
mov eax,63
|
|
||||||
mov ebx, 1
|
mov ebx, 1
|
||||||
.l1: dec esi
|
.l1:
|
||||||
|
dec esi
|
||||||
js .l2
|
js .l2
|
||||||
mov cl,[edx]
|
movzx ecx, byte[edx]
|
||||||
or cl, cl
|
or cl, cl
|
||||||
jz .l2
|
jz .l2
|
||||||
mcall
|
put_board
|
||||||
inc edx
|
inc edx
|
||||||
jmp .l1
|
jmp .l1
|
||||||
.l2: ret
|
.l2:
|
||||||
|
ret
|
||||||
debug_endf
|
debug_endf
|
||||||
|
|
||||||
debug_func fdo_debug_outdec
|
debug_func fdo_debug_outdec
|
||||||
@ -260,20 +271,23 @@ debug_beginf
|
|||||||
mov al, '-'
|
mov al, '-'
|
||||||
call fdo_debug_outchar
|
call fdo_debug_outchar
|
||||||
pop eax
|
pop eax
|
||||||
@@: push 10
|
@@:
|
||||||
pop ecx
|
movi ecx, 10
|
||||||
push -'0'
|
push -'0'
|
||||||
.l1: xor edx,edx
|
.l1:
|
||||||
|
xor edx, edx
|
||||||
div ecx
|
div ecx
|
||||||
push edx
|
push edx
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz .l1
|
jnz .l1
|
||||||
.l2: pop eax
|
.l2:
|
||||||
|
pop eax
|
||||||
add al, '0'
|
add al, '0'
|
||||||
jz .l3
|
jz .l3
|
||||||
call fdo_debug_outchar
|
call fdo_debug_outchar
|
||||||
jmp .l2
|
jmp .l2
|
||||||
.l3: ret
|
.l3:
|
||||||
|
ret
|
||||||
debug_endf
|
debug_endf
|
||||||
|
|
||||||
debug_func fdo_debug_outhex
|
debug_func fdo_debug_outhex
|
||||||
@ -284,7 +298,8 @@ debug_beginf
|
|||||||
add cl, 8
|
add cl, 8
|
||||||
shl cl, 2
|
shl cl, 2
|
||||||
rol eax, cl
|
rol eax, cl
|
||||||
.l1: rol eax,4
|
.l1:
|
||||||
|
rol eax, 4
|
||||||
push eax
|
push eax
|
||||||
and eax, 0x0000000F
|
and eax, 0x0000000F
|
||||||
mov al, [__fdo_hexdigits+eax]
|
mov al, [__fdo_hexdigits+eax]
|
||||||
|
Loading…
Reference in New Issue
Block a user