📄 doseml.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Project : FDOS 0.0.7
;; Author : Stefan Tappertzhofen (tappertzhofen@t-online.de)
;; Webpage : http://www.visual-opal.de
;; Date : 2. September 2003
;; Info : Multi Kernel DOS Emulator
;; Filename : doseml.asm
;; Compile Syntax : nasm doseml.asm -f bin -o doseml.bin
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV AX, CS ; Segment Register vorbereiten
MOV DS, AX
MOV ES, AX
begin:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; DOS Interrupt setzten
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DOS Kernel einlesen:
PUSH DS
PUSH ES
MOV AH, 20
MOV BX, 8500h
MOV DX, ImageName
INT 21h
POP ES
POP DS
CMP AH, 3
JE Err
PUSH ES
PUSH DS
MOV AX, 6620h
MOV ES, AX
MOV DS, AX
XOR AX, AX
MOV DI, AX
MOV AX, 50h
STOSW
MOV AX, 8500h
STOSW
POP DS
POP ES
MOV SI, MSG_Test
MOV AH, 9h
INT 21h
MOV AH, 4Ch
INT 21h
JMP TOut
Err:
PUSH ES
PUSH DS
MOV AX, 6620h
MOV ES, AX
MOV DS, AX
XOR AX, AX
MOV DI, AX
STOSW
STOSW
POP DS
POP ES
MOV SI, MSG_FileNotFnd
MOV AH, 1
INT 21h
TOut:
POP EDI
POP ESI
POP EDX
POP ECX
POP EBX
POP EAX
POP DS
POP ES
MOV DH, 0
MOV AH, 0
INT 21h
Hang:
JMP SHORT Hang
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Datenblock
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MSG_Welcome DB 13,10,'Multi Kernel DOS Emulator 0.1 beta',13,10,
DB '(c) Stefan Tappertzhofen 2002 - 2003',13,10,13,10,0
MSG_Test DB 'If you can read this the FDOS Kernel was exchanged correctly',13,10,
DB 13,10,'$',0
MSG_Test2 DB 'Back to FDOS...',13,10,
DB ';o)',13,10,0
MSG_FileNotFnd DB 'DOS Kernel File not found.',13,10,0
ImageName DB 'DOS SYS'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -