rdos/kernel/debug.asm

45 lines
624 B
NASM

debug_init:
push bx
push dx
mov bx, 0x002E
mov dx, debug_reg_ir
call ivt_set
pop dx
pop bx
ret
; this kprints registers
; expect to be called as interrupt routine
debug_reg_ir:
push ss
push es
push ds
push di
push si
push bp
push sp
push dx
push cx
push bx
push ax
mov ax,cs
mov ds,ax
mov si,.fmt
call kprintf
pop ax
pop bx
pop cx
pop dx
pop sp
pop bp
pop si
pop di
pop ds
pop es
pop ss
iret
.fmt:
db "AX=%X BX=%X CX=%X DX=%X SP=%X BP=%X SI=%X DI=%X", 0x0A, 0x0D, "DS=%X ES=%X SS=%X IP=%X CS=%X FL=%X", 0