org
07c00h
jmp LABEL_BEGIN
%macro Descriptor 3
dw %2 & 0FFFFh ;
dw %1 & 0FFFFh ;
db (%1 >> 16) & 0FFh ;
dw ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh) ;
db (%1 >> 24) & 0FFh ;
%endmacro ;
[SECTION .gdt]
LABEL_GDT: Descriptor 0, 0,0;
GdtLen equ $-LABEL_GDT;
GdtPtr dw GdtLen-1;
dd 0;
[SECTION .s16]
[BITS 16]
LABEL_BEGIN:
jmp $
times 490-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
jmp LABEL_BEGIN
%macro Descriptor 3
dw %2 & 0FFFFh ;
dw %1 & 0FFFFh ;
db (%1 >> 16) & 0FFh ;
dw ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh) ;
db (%1 >> 24) & 0FFh ;
%endmacro ;
[SECTION .gdt]
LABEL_GDT: Descriptor 0, 0,0;
GdtLen equ $-LABEL_GDT;
GdtPtr dw GdtLen-1;
dd 0;
[SECTION .s16]
[BITS 16]
LABEL_BEGIN:
jmp $
times 490-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志