📄 x0.asm
字号:
; Project: HARTIK 3.0
; Description: Hard Real TIme Kernel for 386 & higher machines
; Author: Gerardo Lamastra
; Date: 9/5/96
; Revision: Beta 1.0
;
; The first things to do when an X application starts :
; Set up segment registers & stack; then execute startup code
; When the application returns the gate-jmp make us return to RM
; through X interface!
;
.386P
.MODEL FLAT
; Use X standard GDT selectors
INCLUDE sel.inc
EXTRN __startup : NEAR
EXTRN __stkbase : DWORD
EXTRN __stktop : DWORD
pmstack SEGMENT STACK
base label near
dd 4096 dup(0)
tos label near
pmstack ENDS
.code
PUBLIC _cstart_
_cstart_: ; For test print a purple 1 on 3rd line!
;mov ax,X_FLATDATA_SEL
;mov ds,ax
;mov esi,0B8000H
;add esi,480
;mov byte ptr ds:[esi],'1'
;mov byte ptr ds:1[esi],5
mov ax,PM_APPLDATA_SEL
mov ds,ax
mov es,ax
mov ss,ax
mov ax,X_FLATDATA_SEL
mov fs,ax
mov esp,OFFSET tos
mov __stkbase,OFFSET base
mov __stktop,OFFSET tos
call __startup
db 0eah ; Direct gate jmp
dd 0
dw X_RM_BACK_GATE
end _cstart_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -