initldt.asm

来自「操作系统实验教程核心技术与编程实例书中地例子代码」· 汇编 代码 · 共 29 行

ASM
29
字号
INIT_LDT   PROC	 FAR		;初始化 LDT
	PUSH DS
	MOV AX,USER1_LDT_SEG
	MOV DS,AX

	MOV SI,OFFSET USER1_LDT_INIT_BEGIN
	MOV CX,USER1_LDT_INIT_COUNT
INIT_LDT_LBL1:
	MOV AX,[SI].STRUCT_SEG.BASE_L
	MOVZX EAX,AX
	SHL EAX,4
	SHLD EDX,EAX,16
	MOV [SI].STRUCT_SEG.BASE_L,AX
	MOV [SI].STRUCT_SEG.BASE_M,DL
	MOV [SI].STRUCT_SEG.BASE_H,DH
	ADD SI,SIZE STRUCT_SEG
LOOP INIT_LDT_LBL1
	POP DS

	XOR DX,DX
	MOV CX,16
	MOV AX,USER1_LDT_SEG
	MUL CX
	MOV USER1_LDT_SIZE,USER1_LDT_LEN
	MOV USER1_LDT_ADDR,AX
	MOV USER1_LDT_ADDR+2,DX
	RET
INIT_LDT   ENDP

⌨️ 快捷键说明

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