+++ /dev/null
-;; $Id: regdump.inc,v 1.2 2004/12/14 22:46:25 hpa Exp $
-;; -----------------------------------------------------------------------
-;;
-;; Copyright 2003 H. Peter Anvin - All Rights Reserved
-;;
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, Inc., 53 Temple Place Ste 330,
-;; Boston MA 02111-1307, USA; either version 2 of the License, or
-;; (at your option) any later version; incorporated herein by reference.
-;;
-;; -----------------------------------------------------------------------
-
-;;
-;; regdump.inc
-;;
-;; Dump as much as possible of the register state; for debugging
-;;
-
-disk_dumpregs:
- mov ah,02h
- call dumpregs
- int 13h
- ret
-
-dumpregs:
- push gs
- push fs
- push es
- push ds
- push ss
- push cs
- pushad
- pushfd
-
- push cs
- pop ds
-
- mov bp,sp
- mov di,regnames
-
- mov cx,9 ; 9 32-bit registers
-.reg8:
- mov si,[di]
- inc di
- inc di
- call cwritestr
- mov eax,[bp]
- add bp,4
- call writehex8
- loop .reg8
-
- mov cx,7 ; 6 16-bit registers
-.reg4:
- mov si,[di]
- inc di
- inc di
- call cwritestr
- mov eax,[bp]
- inc bp
- inc bp
- call writehex4
- loop .reg4
-
- call crlf
-
- popfd
- popad
- add sp,4 ; Skip CS, SS
- pop ds
- pop es
- pop fs
- pop gs
- ret
-
-regnames:
- dw .eflags
- dw .edi
- dw .esi
- dw .ebp
- dw .esp
- dw .ebx
- dw .edx
- dw .ecx
- dw .eax
- dw .cs
- dw .ss
- dw .ds
- dw .es
- dw .fs
- dw .gs
- dw .ip
-
-.eflags db 'EFL: ', 0
-.edi db 13,10,'EDI: ', 0
-.esi db ' ESI: ', 0
-.ebp db ' EBP: ', 0
-.esp db ' ESP: ', 0
-.ebx db 13,10,'EBX: ', 0
-.edx db ' EDX: ', 0
-.ecx db ' ECX: ', 0
-.eax db ' EAX: ', 0
-.cs db 13,10,'CS: ',0
-.ss db ' SS: ',0
-.ds db ' DS: ',0
-.es db ' ES: ',0
-.fs db ' FS: ',0
-.gs db ' GS: ',0
-.ip db ' IP: ',0
-
-