?? context.asm
字號:
[BITS 16]
%define FUN(name) global name
%define VAR(name) extern name
;##########################################################
global __task_init_bkp
FUN(___switch_start)
___switch_start:
mov bp, sp
mov ax, [bp+4] ; load next sp
mov bx, [bp+6]
mov ss, bx
mov sp, ax
retf
__task_init_bkp:
pop ds
popf
retf
;##########################################################
FUN(___switch_to)
___switch_to:
push bp
mov bp, sp
push si
push di
push es
push seg __task_bkp
push __task_bkp
les bx, [bp+0x06] ; current ptr
mov [es:bx+2], ss
mov [es:bx+0], sp
mov ax, [bp+0x0a] ; load next sp
mov bx, [bp+0x0c]
mov ss, bx
mov sp, ax
retf
__task_bkp:
pop es
pop di
pop si
pop bp
retf
;##########################################################
extern ___timer_interrupt
FUN(___timer_intr_s)
___timer_intr_s:
pusha
push es
push ds
call far ___timer_interrupt
pop ds
pop es
popa
iret
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -