⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loader.s~

📁 简单的操作系统源代码
💻 S~
字号:
#include "pm.h".code16.text    jmp LABEL_BEGINLABEL_GDT: Descriptor          0,                        0, 0LABEL_DESC_CODE32: Descriptor  0,       (SegCode32Len - 1), (DA_C + DA_32)LABEL_DESC_VIDEO: Descriptor  0xB800,               0xffff, DA_DRW.set GdtLen, (.-LABEL_GDT)Gdtptr :.2byte (GdtLen - 1)        .4byte 0.set SelectorCode32, (LABEL_DESC_CODE32 - LABEL_GDT).set SelectorVideo , (LABEL_DESC_VIDEO  - LABEL_GDT)LABEL_BEGIN:       mov %cs,%ax       mov %ax,%ds       mov %ax,%es       mov %ax,%ss       mov $0x100, %sp	xor %eax,%eax	mov %cs,%ax	shl $4,%eax	addl $(LABEL_SEG_CODE32),%eax	movw %ax,(LABEL_DESC_CODE32 + 2)	shr $16,%eax	movb %al,(LABEL_DESC_CODE32 + 4)	movb %ah,(LABEL_DESC_CODE32 + 7)	xor %eax,%eax	mov %ds, %ax	shl $4,%eax	add $(LABEL_GDT), %eax	movl %eax,(GdtPtr + 2)	lgdtw GdtPtr	cli		inb $0x92,%al	orb $0b00000010,%al	outb %al,$0x92	movl %cr0,%eax	orl $1,%eax	movl %eax,%cr0		ljmpl $SelectorCode32,$0LABEL_SEG_CODE32:	.code32	mov $(SelectorVideo),%ax	mov %ax,%gs	movl $((80*10 + 0)*2),%edi	movb $0xC,%ah	movb $'K',%al	mov %ax,%gs:(%edi)	jmp .		.set Seg_code32Len, .-LABEL_SEG_CODE32

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -