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:
Ivan Baravy 2019-05-16 00:49:45 +00:00
parent 9f3f8b346e
commit fab3b3a411
2 changed files with 117 additions and 87 deletions

View File

@ -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 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$Revision$
_esp equ esp
;
; Formatted Debug Output (FDO)
; Copyright (c) 2005-2006, mike.dld
@ -22,6 +20,12 @@ _esp equ esp
; __DEBUG__ equ 1
; __DEBUG_LEVEL__ equ 5
_esp equ esp
macro put_board {
call sys_msg_board
}
macro debug_func name {
if used name
name@of@func equ name
@ -243,7 +247,7 @@ debug_beginf
pushad
movzx ecx, al
mov ebx, 1
call sys_msg_board
put_board
popad
ret
debug_endf
@ -257,7 +261,7 @@ debug_beginf
movzx ecx, byte[edx]
or cl, cl
jz .l2
call sys_msg_board
put_board
inc edx
jmp .l1
.l2:
@ -391,6 +395,17 @@ macro DEBUGF _level,_format,[_arg] {
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] {
common
local c1,a1,a2

View File

@ -12,6 +12,12 @@
; __DEBUG__ equ 1
; __DEBUG_LEVEL__ equ 5
_esp equ esp
macro put_board {
mcall 63
}
macro debug_func name {
if used name
name@of@func equ name
@ -52,11 +58,11 @@ macro DEBUGS_N _sign,_num,[_str] {
jmp ..label
..str db _str,0
..label:
add esp,4*8+4
mov edx, ..str
sub esp,4*8+4
else
esp equ esp+4*8+4
mov edx, _str
esp equ _esp
end if
if ~_num eq
if _num eqtype eax
@ -138,7 +144,8 @@ macro DEBUGD_N _sign,_num,_dec {
else if _dec eqtype 0
mov eax, _dec
else
add esp,4*8+4
; add esp,4*8+4
esp equ esp+4*8+4
if _num eq
mov eax, dword _dec
else if _num = 1
@ -156,7 +163,8 @@ macro DEBUGD_N _sign,_num,_dec {
else
mov eax, dword _dec
end if
sub esp,4*8+4
esp equ _esp
; sub esp,4*8+4
end if
mov cl, _sign
call fdo_debug_outdec
@ -187,11 +195,11 @@ macro DEBUGH_N _sign,_num,_hex {
if ~_hex eq eax
mov eax, _hex
end if
mov edx, 8
else if _hex in <ax,bx,cx,dx,si,di,bp,sp>
if ~_hex eq ax
movzx eax, _hex
end if
shl eax,16
if (_num eq)
mov edx, 4
end if
@ -199,7 +207,6 @@ macro DEBUGH_N _sign,_num,_hex {
if ~_hex eq al
movzx eax, _hex
end if
shl eax,24
if (_num eq)
mov edx, 2
end if
@ -207,14 +214,18 @@ macro DEBUGH_N _sign,_num,_hex {
else if _hex eqtype 0
mov eax, _hex
else
add esp,4*8+4
; add esp,4*8+4
esp equ esp+4*8+4
mov eax, dword _hex
sub esp,4*8+4
esp equ _esp
; sub esp,4*8+4
end if
if ~_num eq
mov edx, _num
else
if ~_hex eqtype eax
mov edx, 8
end if
end if
call fdo_debug_outhex
popad
@ -226,27 +237,27 @@ macro DEBUGH_N _sign,_num,_hex {
debug_func fdo_debug_outchar
debug_beginf
pushad
mov cl,al
movzx ecx, al
mov ebx, 1
mov eax,63
mcall
put_board
popad
ret
debug_endf
debug_func fdo_debug_outstr
debug_beginf
mov eax,63
mov ebx, 1
.l1: dec esi
.l1:
dec esi
js .l2
mov cl,[edx]
movzx ecx, byte[edx]
or cl, cl
jz .l2
mcall
put_board
inc edx
jmp .l1
.l2: ret
.l2:
ret
debug_endf
debug_func fdo_debug_outdec
@ -260,20 +271,23 @@ debug_beginf
mov al, '-'
call fdo_debug_outchar
pop eax
@@: push 10
pop ecx
@@:
movi ecx, 10
push -'0'
.l1: xor edx,edx
.l1:
xor edx, edx
div ecx
push edx
test eax, eax
jnz .l1
.l2: pop eax
.l2:
pop eax
add al, '0'
jz .l3
call fdo_debug_outchar
jmp .l2
.l3: ret
.l3:
ret
debug_endf
debug_func fdo_debug_outhex
@ -284,7 +298,8 @@ debug_beginf
add cl, 8
shl cl, 2
rol eax, cl
.l1: rol eax,4
.l1:
rol eax, 4
push eax
and eax, 0x0000000F
mov al, [__fdo_hexdigits+eax]