2023-06-29 04:09:31 +00:00
|
|
|
struc tss
|
2023-07-02 14:47:18 +00:00
|
|
|
.link: resw 1
|
|
|
|
resw 1
|
|
|
|
.esp0: resd 1
|
|
|
|
.ss0: resw 1
|
|
|
|
resw 1
|
|
|
|
.esp1: resd 1
|
|
|
|
.ss1: resw 1
|
|
|
|
resw 1
|
|
|
|
.esp2: resd 1
|
|
|
|
.ss2: resw 1
|
|
|
|
resw 1
|
|
|
|
.cr3: resd 1
|
|
|
|
.eip: resd 1
|
|
|
|
.eflags: resd 1
|
|
|
|
.eax: resd 1
|
|
|
|
.ecx: resd 1
|
|
|
|
.edx: resd 1
|
|
|
|
.ebx: resd 1
|
|
|
|
.esp: resd 1
|
|
|
|
.ebp: resd 1
|
|
|
|
.esi: resd 1
|
|
|
|
.edi: resd 1
|
|
|
|
.es: resw 1
|
|
|
|
resw 1
|
|
|
|
.cs: resw 1
|
|
|
|
resw 1
|
|
|
|
.ss: resw 1
|
|
|
|
resw 1
|
|
|
|
.ds: resw 1
|
|
|
|
resw 1
|
|
|
|
.fs: resw 1
|
|
|
|
resw 1
|
|
|
|
.gs: resw 1
|
|
|
|
resw 1
|
|
|
|
.ldtr: resw 1
|
|
|
|
resw 1
|
|
|
|
.iopb: resw 1
|
|
|
|
resw 1
|
2023-06-29 04:09:31 +00:00
|
|
|
endstruc
|
|
|
|
|
|
|
|
struc gdt_entry
|
|
|
|
.limit_low: resw 1
|
2023-07-02 14:47:18 +00:00
|
|
|
.base_low: resw 1
|
|
|
|
.base_mid: resb 1
|
|
|
|
.access: resb 1
|
|
|
|
.flags: resb 1
|
2023-06-29 04:09:31 +00:00
|
|
|
.base_high: resb 1
|
|
|
|
endstruc
|
|
|
|
|
|
|
|
struc idt_entry
|
|
|
|
.limit_low: resw 1
|
2023-07-02 14:47:18 +00:00
|
|
|
.selector: resw 1
|
|
|
|
.zero: resb 1
|
|
|
|
.attr: resb 1
|
2023-06-29 04:09:31 +00:00
|
|
|
.base_high: resw 1
|
|
|
|
endstruc
|
|
|
|
|
|
|
|
struc intframe
|
|
|
|
;; registers
|
|
|
|
.edi: resd 1
|
|
|
|
.esi: resd 1
|
|
|
|
.ebp: resd 1
|
|
|
|
.esp: resd 1
|
|
|
|
.ebx: resd 1
|
|
|
|
.edx: resd 1
|
|
|
|
.ecx: resd 1
|
|
|
|
.eax: resd 1
|
|
|
|
|
|
|
|
;;
|
2023-07-02 14:47:18 +00:00
|
|
|
.gs: resd 1
|
|
|
|
.fs: resd 1
|
|
|
|
.es: resd 1
|
|
|
|
.ds: resd 1
|
2023-06-29 04:09:31 +00:00
|
|
|
.intno: resd 1
|
|
|
|
|
|
|
|
;; by x86 hardware
|
2023-07-02 14:47:18 +00:00
|
|
|
.err: resd 1
|
|
|
|
.eip: resd 1
|
|
|
|
.cs: resd 1
|
2023-06-29 04:09:31 +00:00
|
|
|
.eflags: resd 1
|
|
|
|
|
|
|
|
;; crossring
|
|
|
|
.useresp: resd 1
|
2023-07-02 14:47:18 +00:00
|
|
|
.ss: resd 1
|
2023-06-29 04:09:31 +00:00
|
|
|
endstruc
|