summaryrefslogtreecommitdiff
path: root/kernel/asm.s
diff options
context:
space:
mode:
authorJake Mannens <jakem_5@hotmail.com>2020-08-02 08:27:25 +1000
committerJake Mannens <jakem_5@hotmail.com>2020-08-02 08:27:25 +1000
commit5d29745034c854886fb5988fca65cc3757f69a3e (patch)
tree445acaa25ee13b0f2e5dbba1acee6c39aa8c4d0f /kernel/asm.s
parent4d6fe1c317f0a541922f4cf945365fd31e608e10 (diff)
Modified assembly routines to use x86's advanced addressing modes.HEADmaster
Diffstat (limited to 'kernel/asm.s')
-rw-r--r--kernel/asm.s7
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/asm.s b/kernel/asm.s
index 4e1e376..32153e4 100644
--- a/kernel/asm.s
+++ b/kernel/asm.s
@@ -70,8 +70,7 @@ set_tss:
push ebx
mov eax, [ebp+12]
mov ebx, [ebp+8]
- shl ebx, 3
- add ebx, gdt+40
+ lea ebx, [ebx*8+gdt+40]
mov [ebx+2], ax
shr eax, 16
mov [ebx+4], al
@@ -92,9 +91,7 @@ clear_tss:
mov ebp, esp
push ebx
mov ebx, [ebp+8]
- shl ebx, 3
- add ebx, gdt+40
- mov byte [ebx+5], 0
+ mov byte [ebx*8+gdt+40+5], 0
pop ebx
pop ebp
ret