diff --git a/rom/debug.asm b/rom/debug.asm index 9a0b8b9..42d4eba 100644 --- a/rom/debug.asm +++ b/rom/debug.asm @@ -49,7 +49,9 @@ init: push ds shl ax, cl ; load ES for relocate mov es, ax - ; store interrupt vector + ; store interrupt vectors + mov word [1*4], int3entry + mov word [1*4+2], es mov word [3*4], int3entry mov word [3*4+2], es ; load DS for relocate @@ -187,12 +189,21 @@ loop: ; new line & show prompt runcmd: cmp al, 'r' je printregs + cmp al, 'g' + je go + cmp al, 't' + je step ; print a question mark xor bx, bx mov ax, 0x0e3F int 0x10 ret +go: and word [reg_fl+1], 0xfe + jmp return + +step: or word [reg_fl+1], 0x03 + return: ; restore stack pointer mov ss, [reg_ss] mov sp, [reg_sp]