source: bootcd/isolinux/syslinux-6.03/core/regdump.inc

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 1.6 KB
Line 
1;; -----------------------------------------------------------------------
2;;
3;;   Copyright 2003-2008 H. Peter Anvin - All Rights Reserved
4;;
5;;   This program is free software; you can redistribute it and/or modify
6;;   it under the terms of the GNU General Public License as published by
7;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8;;   Boston MA 02111-1307, USA; either version 2 of the License, or
9;;   (at your option) any later version; incorporated herein by reference.
10;;
11;; -----------------------------------------------------------------------
12
13;;
14;; regdump.inc
15;;
16;; Dump as much as possible of the register state; for debugging
17;;
18
19disk_dumpregs:
20        mov ah,02h
21        call dumpregs
22        int 13h
23        ret
24
25dumpregs:
26        push gs
27        push fs
28        push es
29        push ds
30        push ss
31        push cs
32        pushad
33        pushfd
34
35        push cs
36        pop ds
37
38        mov bp,sp
39        mov di,regnames
40
41        mov cx,9                ; 9 32-bit registers
42.reg8:
43        mov si,[di]
44        inc di
45        inc di
46        call writestr
47        mov eax,[bp]
48        add bp,4
49        call writehex8
50        loop .reg8
51
52        mov cx,7                ; 6 16-bit registers
53.reg4:
54        mov si,[di]
55        inc di
56        inc di
57        call writestr
58        mov eax,[bp]
59        inc bp
60        inc bp
61        call writehex4
62        loop .reg4
63
64        call crlf
65
66        popfd
67        popad
68        add sp,4                ; Skip CS, SS
69        pop ds
70        pop es
71        pop fs
72        pop gs
73        ret
74
75regnames:
76        dw .eflags
77        dw .edi
78        dw .esi
79        dw .ebp
80        dw .esp
81        dw .ebx
82        dw .edx
83        dw .ecx
84        dw .eax
85        dw .cs
86        dw .ss
87        dw .ds
88        dw .es
89        dw .fs
90        dw .gs
91        dw .ip
92
93.eflags db 'EFL: ', 0
94.edi    db 13,10,'EDI: ', 0
95.esi    db ' ESI: ', 0
96.ebp    db ' EBP: ', 0
97.esp    db ' ESP: ', 0
98.ebx    db 13,10,'EBX: ', 0
99.edx    db ' EDX: ', 0
100.ecx    db ' ECX: ', 0
101.eax    db ' EAX: ', 0
102.cs     db 13,10,'CS: ',0
103.ss     db ' SS: ',0
104.ds     db ' DS: ',0
105.es     db ' ES: ',0
106.fs     db ' FS: ',0
107.gs     db ' GS: ',0
108.ip     db ' IP: ',0
Note: See TracBrowser for help on using the repository browser.