⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commands.inc

📁 一个从底层支持中文显示的操作系统的源代码,以及目标IMG文件,可在VMWare下运行.
💻 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 + -