home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
os2
/
gtak212b.zip
/
SOURCE.ZIP
/
OS2-ST01
/
debug.asm
next >
Wrap
Assembly Source File
|
1991-07-21
|
2KB
|
135 lines
SUBTTL Debug Module
INCLUDE DEFS.INC
debug_def equ 1
include debug.inc
ScreenH equ 0Bh
ScreenL equ 0000h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
StartData
public tracelvl
line dw 0
col dw 0
hex db '0123456789ABCDEF'
tracelvl db 1
EndData
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
StartCode
public out_char
public out_text
public out_byte
public init_debug
out_char proc near
if trace
push gs
push fs
push es
pusha
push ax
mov ax, ScreenH ;Screen -> ES:DI
mov bx, ScreenL
mov cx, 25 * 80 * 2
mov dh, 1
DevHlp DevHlp_PhysToVirt
jc short oc_f
pop ax
cmp al, '$'
je short oc_lf
cmp al, 0Ah
jne short oc_nrm
oc_lf: mov col, 0 ;LF = CR-LF
inc line
cmp line, 25
jne short oc_r
dec line
lea si, [di + (80 * 2)] ;Scroll
mov cx, 24 * 80
cld
rep movs word ptr es:[di], word ptr es:[si]
mov cx, 80
mov ax, 0720h
rep stos word ptr es:[di]
jmp short oc_r
oc_nrm: imul bx, line, 80
add bx, col
shl bx, 1
mov ah, 07h
mov es:[di+bx], ax
cmp col, 79
je short oc_r
inc col
oc_r: DevHlp DevHlp_UnPhysToVirt
oc_f: popa
pop es
pop fs
pop gs
endif
ret
out_char endp
out_text proc near
if trace
xchg si, [esp]
push ax
ot1: lods byte ptr cs:[si]
cmp al, 0
je ot2
call out_char
jmp ot1
ot2: pop ax
xchg si, [esp]
endif
ret
out_text endp
out_byte proc near
if trace
push bx
mov ah, al
shr al, 4
mov bx, offset hex
xlat
call out_char
mov al, ah
and al, 0Fh
xlat
call out_char
pop bx
endif
ret
out_byte endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
init_debug proc near
outtext 2, 'DBG init$'
init_r: clc
ret
init_debug endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EndCode
end