kern
view src/regs.S @ 80:4db99a52863e
fixed the "endianess" of the text messages in the ATA identify info block. this
is the first time I've seen wrong byteorder in ascii text, the ATA committee
should be commended.
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 06 Dec 2011 13:35:39 +0200 |
parents | 6c9138a87e02 |
children |
line source
1 .text
2 .align 4
4 .globl get_regs
5 get_regs:
6 pushl %ebp
7 movl %esp, %ebp
9 pushl %edx
10 movl 8(%ebp), %edx
12 movl %eax, (%edx)
13 movl %ebx, 4(%edx)
14 movl %ecx, 8(%edx)
16 /* juggle edx */
17 movl %edx, %eax
18 popl %edx
19 movl %edx, 12(%eax)
20 pushl %edx
21 movl %eax, %edx
23 /* those two are pointless in a function */
24 movl %esp, 16(%edx)
25 movl %ebp, 20(%edx)
27 movl %esi, 24(%edx)
28 movl %edi, 28(%edx)
30 pushf
31 popl %eax
32 movl %eax, 32(%edx)
34 movw %cs, 36(%edx)
35 movw %ss, 40(%edx)
36 movw %ds, 44(%edx)
37 movw %es, 48(%edx)
38 movw %fs, 52(%edx)
39 movw %gs, 56(%edx)
41 pushl %ebx
42 movl %cr0, %ebx
43 movl %ebx, 60(%edx)
44 /*movl %cr1, %ebx
45 movl %ebx, 64(%edx)*/
46 movl %cr2, %ebx
47 movl %ebx, 68(%edx)
48 movl %cr3, %ebx
49 movl %ebx, 72(%edx)
50 popl %ebx
52 popl %edx
53 popl %ebp
54 ret