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

📄 pm.inc

📁 ucos在x86上的移植代码。吐血推荐啊
💻 INC
字号:
; pm.inc :
;    保护模式ASM代码的通用声明文件.
; 
;	Copyright(c) 2007, Alex P.Wonder
; phoenixwonder@gmail.com
; 

; GDT Entry :
;		%1: 段基址
; 	        %2: 段界限
;		%3: 段属性
%macro Descriptor 3
	dw %2 & 0ffffh				;段界限1
	dw %1 & 0ffffh				;段基址1
	db (%1 >> 16) & 0ffh	;段基址2
	dw ((%2 >> 8) & 0f00h) | (%3 & 0f0ffh)	;属性1 + 段界限2 + 属性2
	db (%1 >> 24) & 0ffh  ;段基址3
%endmacro

DA_C 					equ 	0098h 	;10011000b
DA_32					equ 	4000h		;
DA_LIMIT_4K		equ		8000h		;
DA_DPL3				equ		0060h		;
DA_DRW				equ		0093h		;
DA_CR					equ		009fh

EA_RPL3				equ		0003h

; 中断/陷阱门结构:
;   %1 - Selector
;		%2 - HandlerAddr
;		%3 - Attribute
%macro Gate 3
	dw %2 & 0ffffh ; 0..15
	dw %1
	dw (%3 & 0ff00h) ;| 8000h 
	dw (%2 >> 16) & 0ffffh ; 16..31
%endmacro

KernelEntryPhyAddr	equ 0x30400	;内核运行时的内存地址

GA_INTERRUPT	equ 8e00h 
GA_TRAP				equ 8f00h
GA_DPL3				equ 6000h

DA_386IGate   equ 8e00h

;///////////////////////////////////////////
;DA_LDT        	EQU      82h     
;DA_TaskGate    EQU      85h     
;DA_386TSS    	EQU      89h     
;DA_386CGate    EQU      8Ch     
;DA_386IGate    EQU      8Eh     
;DA_386TGate    EQU      8Fh     
;
;SA_RPL0        EQU    0     
;SA_RPL1        EQU    1     
;SA_RPL2        EQU    2     
;SA_RPL3        EQU    3     
;
;SA_TIG        EQU    0     
;SA_TIL        EQU    4 

;%macro Gate 4
;   dw    (%2 & 0FFFFh)                 
;   dw    %1                     
;   dw    (%3 & 1Fh) | ((%4 << 8) & 0FF00h)     
;   dw    ((%2 >> 16) & 0FFFFh)             
;%endmacro 

⌨️ 快捷键说明

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