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

📄 pm.asm

📁 一个微型操作系统源码
💻 ASM
字号:
GLOBAL  _READ_MSW, _READ_CR0, _WRITE_CR0, _LGDT, _UPDATE_CS

SEGMENT _TEXT PUBLIC CLASS=CODE USE16

_READ_MSW:
        smsw    ax
        retn

_READ_CR0:
        mov     eax, cr0	; read CR0 to eax
        mov     edx, eax
        shr     edx, 16		; dx:ax = CR0 (return value)
        retn

_WRITE_CR0:
        push    bp
        mov     bp, sp
        mov     eax, [ss:bp+4]	; eax = 32-bit parameter
        mov     cr0, eax
        pop     bp
        retn

_LGDT:
	push	bp
	mov	bp, sp
	push	bx
	mov     bx, [ss:bp+4]	; ds:bx = pointer to GDTR structure
	lgdt	[ds:bx]		; load GDTR
	pop	bx
	pop	bp
	retn

_UPDATE_CS:
	push	bp
	mov	bp, sp
	mov     ax, [ss:bp+4]	; ax = new cs
        push    ax		; push segment
        push    word .1		; push offset
        retf			; we have a new cs now
.1:
	pop	bp
	retn

SEGMENT _DATA PUBLIC CLASS=DATA

⌨️ 快捷键说明

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