;; $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