x0.asm
来自「这是一个符合posix.13 pse51的实时内核」· 汇编 代码 · 共 61 行
ASM
61 行
; 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 + =
减小字号Ctrl + -
显示快捷键?