0
$ NASM -f ELF64 -o thisfile.o thisfile.asm
它說: 「在64位模式下不支持指令」 的jmp
和popfd
行
這是全代碼:
SELECTOR_KERNEL_CS equ 8
extern cstart
extern gdt_ptr
[SECTION .bss]
StackSpace resb 2 * 1024
StackTop:
[section .text]
global _start
_start:
mov esp, StackTop
sgdt [gdt_ptr]
call cstart
lgdt [gdt_ptr]
;lidt [idt_ptr]
jmp SELECTOR_KERNEL_CS:csinit
csinit:
push 0
popfd ; Pop top of stack into EFLAGS
hlt
謝謝!那麼我需要如何改變所有'jmp SELECTOR:LABEL'? –