Protected mode works but is ugly, CS, SS work, failed lidt real mode attempt
This commit is contained in:
16
TODO.md
16
TODO.md
@@ -23,14 +23,15 @@
|
||||
- https://github.com/torvalds/linux/blob/v4.2/arch/x86/boot/boot.h#L78
|
||||
- http://stackoverflow.com/questions/6793899/what-does-the-0x80-port-address-connects
|
||||
|
||||
- lgdtl
|
||||
- lgdt:
|
||||
|
||||
- http://stackoverflow.com/questions/21128311/the-physical-address-of-global-descriptor-table
|
||||
- http://stackoverflow.com/questions/7415515/problem-accessing-control-registers-cr0-cr2-cr3
|
||||
- http://stackoverflow.com/questions/10671147/how-do-x86-page-tables-work?rq=1
|
||||
- http://stackoverflow.com/questions/14354626/how-to-create-two-separate-segments-in-global-descriptor-table
|
||||
- http://stackoverflow.com/questions/14812160/near-and-far-jmps
|
||||
|
||||
- lidtl, interrupts, IDTR
|
||||
- lidt, interrupts, IDTR:
|
||||
|
||||
- http://stackoverflow.com/questions/3392831/what-happens-in-an-interrupt-service-routine
|
||||
- http://stackoverflow.com/questions/1817577/what-does-int-0x80-mean-in-assembly-code
|
||||
@@ -44,15 +45,18 @@
|
||||
|
||||
- Segment registers and protected mode. Then try to answer all of:
|
||||
|
||||
http://stackoverflow.com/questions/18736663/what-does-the-colon-mean-in-x86-assembly-gas-syntax-as-in-dsbx
|
||||
- http://reverseengineering.stackexchange.com/questions/2006/how-are-the-segment-registers-fs-gs-cs-ss-ds-es-used-in-linux
|
||||
- http://stackoverflow.com/questions/10810203/what-is-the-fs-gs-register-intended-for
|
||||
- http://stackoverflow.com/questions/12760109/data-segment-in-x86-programs
|
||||
- http://stackoverflow.com/questions/14480579/when-does-segment-registers-change
|
||||
- http://stackoverflow.com/questions/14661916/gdt-segmented-memory
|
||||
- http://stackoverflow.com/questions/15335003/x86-protected-mode-segment-registers-purpose
|
||||
- http://stackoverflow.com/questions/17210620/assembler-calculating-a-memory-address-with-register-base?lq=1
|
||||
http://stackoverflow.com/questions/18736663/what-does-the-colon-mean-in-x86-assembly-gas-syntax-as-in-dsbx
|
||||
- http://stackoverflow.com/questions/18247106/implementing-gdt-with-basic-kernel
|
||||
- http://stackoverflow.com/questions/20717890/how-to-interpret-gs0x14?lq=1
|
||||
- http://stackoverflow.com/questions/22446104/do-the-x86-segment-registers-have-special-meaning-usage-on-modern-cpus-and-oses?lq=1
|
||||
- http://stackoverflow.com/questions/22962251/how-to-enter-64-bit-mode-on-a-x86-64/22963701#22963701
|
||||
- http://stackoverflow.com/questions/26058665/fs-register-in-assembly-code?lq=1
|
||||
- http://stackoverflow.com/questions/3819699/what-does-ds40207a-mean-in-assembly
|
||||
- http://stackoverflow.com/questions/4903906/assembly-using-the-data-segment-register-ds answer with minimal example and mention QEMU vs real hardwre http://wiki.osdev.org/Segmentation
|
||||
@@ -60,11 +64,9 @@
|
||||
- http://stackoverflow.com/questions/5364270/concept-of-mov-ax-cs-and-mov-ds-ax?lq=1
|
||||
- http://stackoverflow.com/questions/6611346/amd64-fs-gs-registers-in-linux
|
||||
- http://stackoverflow.com/questions/7844963/how-to-interpret-segment-register-accesses-on-x86-64?lq=1
|
||||
- http://stackoverflow.com/questions/928082/why-does-the-mov-instruction-have-to-be-used-this-way?lq=1
|
||||
- http://stackoverflow.com/questions/14661916/gdt-segmented-memory
|
||||
- http://stackoverflow.com/questions/18247106/implementing-gdt-with-basic-kernel
|
||||
- http://stackoverflow.com/questions/9172837/idt-without-gdt-using-grub
|
||||
- http://stackoverflow.com/questions/22962251/how-to-enter-64-bit-mode-on-a-x86-64/22963701#22963701
|
||||
- http://stackoverflow.com/questions/9249315/what-is-gs-in-assembly?rq=1
|
||||
- http://stackoverflow.com/questions/928082/why-does-the-mov-instruction-have-to-be-used-this-way?lq=1
|
||||
|
||||
64-bit:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user