📄 dos.inc
字号:
;storage attribes
ATTDR equ 90h ;未访问的只读的高扩展的数据段
ATTDW equ 92h ;........写..................
ATTC equ 98h ;只执行的代码
ATTCER equ 9ah ;执行并可读的代码
;system attribes
ATTLDT equ 82h ;局部描述符表段
ATTTASKGAT equ 85h ;任务门
ATTTSS equ 89h ;可用的386TSS
ATTCGAT equ 8ch ;386调用门
ATTIGAT equ 8eh ;386中断门
ATTTGAT equ 8fh ;386陷阱门
;dpl and rpl
DPL0 equ 00h ;DPL=0
DPL2 equ 40h ;DPL=2
RPL0 equ 00h ;RPL=0
RPL2 equ 02h
D32 equ 4000h ;描述符中D为1,32位
TIL equ 04h ;选择子TI为1,从局部描述符LDT中读取
PL equ 01H ;存在位
RWR equ 0H ;不可写
RWW equ 2 ;可读,可写,可执行
usu equ 0 ;系统级
uss equ 4 ;用户级
;storage or system segment descriptor
DESCRIPTOR struc
limitl dw 0
basel dw 0
basem db 0
attributes dw 0
baseh db 0
DESCRIPTOR ends
;gate descriptor
GATE struc
offsetl dw 0
selector dw 0
dcount db 0;双字计数字段
gtype db 0
offseth dw 0
GATE ends
;gdtr or idtr
G_IDC struc
limit dw 0
base dd 0
G_IDC ends
;tss
taskss struc
trlink dw ?,0 ;低16位保存前一任务的TSS描述符的选择子
tresp0 dd ? ;
trss0 dw ?,0
tresp1 dd ?
trss1 dw ?,0
tresp2 dd ?
trss2 dw ?,0
trcr3 dd ?
treip dd ?
treflag dw ?,?
treax dd ?
trecx dd ?
tredx dd ?
trebx dd ?
tresp dd ?
trebp dd ?
tresi dd ?
tredi dd ?
tres dw ?,0
trcs dw ?,0
trss dw ?,0
trds dw ?,0
trfs dw ?,0
trgs dw ?,0
trldt dw ?,0
trflag dw 0
triomap dw $+2
taskss ends
jmp_16 macro selector,offsetv
db 0eah
dw offsetv
dw selector
endm
call_16 macro selector,offsetv
db 09ah
dw offsetv
dw selector
endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -