📄 commands.inc
字号:
;===========================================================
;
; WarmOS
; by HotHeart(xujiwei)
; Email: vipxjw@163.com
;
; Commands
; inside commands
;
; History:
; 2006.02.10 modifid ver information
; 2006.01.17 add command time & date
; 2005.08.30 finished command execute
; finished some base command
; VER,INFO,HELP,CLS
; 2005.08.29 file created
;
;===========================================================
;===========================================================
; command table
; format
; dw command_str function_addr
; eg.
; dw csHelp,cmdHelp
;===========================================================
align 4
CommandTable:
dw csVer,cmdVer
dw csInfo,cmdInfo
dw csCls,cmdCls
dw csHelp,cmdHelp
dw csShutdown,cmdShutdown
dw csTime,cmdTime
dw csDate,cmdDate
CommandTable_end:
;===========================================================
; command string
;===========================================================
align 4
csVer db 'VER',0
csInfo db 'INFO',0
csCls db 'CLS',0
csHelp db 'HELP',0
csShutdown db 'SHUT',0
csTime db 'TIME',0
csDate db 'DATE',0
;===========================================================
; command execute
;===========================================================
;===========================================================
; ver
;===========================================================
align 4
szKernelVersion db 'WarmOS 0.6',13,10
db '最后更新:2006-01-17',13,10
db '更新信息请联系我:',13,10
db 'EMAIL: vipxjw@163.com',13,10,0
align 4
cmdVer:
push ds
pusha
mov ax,cs
mov ds,ax
mov ax,0
mov bx,szKernelVersion
int 0x40
popa
pop ds
ret
;===========================================================
; info
;===========================================================
align 4
szKernelInfo: incbin "info.txt"
db 0
align 4
cmdInfo:
push ds
pusha
mov ax,cs
mov ds,ax
mov ax,0
mov bx,szKernelInfo
int 0x40
popa
pop ds
ret
;===========================================================
; cls
;===========================================================
align 4
cmdCls:
mov ax,3
int 0x40
ret
;===========================================================
; cls
;===========================================================
align 4
szHelpInfo:
db 'WarmOS目前支持的命令:',13,10
db 'ver cls time date info help shut',13,10,0
align 4
cmdHelp:
mov ax,0
mov bx,szHelpInfo
int 0x40
ret
;===========================================================
; time
;===========================================================
align 4
szTimeInfo db "现在的时间是:"
cmdTimeDH dw 0
db ':'
cmdTimeDM dw 0
db ':'
cmdTimeDS dw 0
db 13,10,0
align 4
cmdTime:
mov ah,2
int 0x1A
movzx ax,ch
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdTimeDH],ax
movzx ax,cl
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdTimeDM],ax
movzx ax,dh
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdTimeDS],ax
mov ax,0
mov bx,szTimeInfo
int 0x40
ret
;===========================================================
; time
;===========================================================
align 4
szDateInfo db "现在的日期是:"
cmdDateDC dw 0
cmdDateDY dw 0
db '-'
cmdDateDM dw 0
db '-'
cmdDateDD dw 0
db 13,10,0
align 4
cmdDate:
mov ah,4
int 0x1A
movzx ax,ch
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdDateDC],ax
movzx ax,cl
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdDateDY],ax
movzx ax,dh
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdDateDM],ax
movzx ax,dl
ror ax,4
shr ah,4
add ax,0x3030
mov [cmdDateDD],ax
mov ax,0
mov bx,szDateInfo
int 0x40
ret
;===========================================================
; cls
;===========================================================
align 4
szPowerOff db '现在您可以安全地关闭计算机了。',0
align 4
cmdShutdown:
mov ax,0x5301
xor bx,bx
int 0x15
mov ax,0x530e
xor bx,bx
mov cx,0x0102
int 0x15
mov ax,0x5307
mov bx,0x0001
mov cx,0x0003
int 0x15
mov ax,3
int 0x40
mov ax,2
mov bx,26*256+15
int 0x40
mov ax,0
mov bx,szPowerOff
int 0x40
jmp $
FN db 'hello',0
FN_EXPAND times 12 db ' '
db 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -