掌握Quick Basic编程的,都是OS操作系统自编程的精英人才

序言

在DOS时期,Basic还是非常受欢迎的,几乎是操作系统的必带,后来微软又靠Visual Basic很成功的火了一把。学过BASICA, GWBASIC, Quick Basic的人对BASIC的平民化感觉很友好,相信有一批人后来成了VB的主力军。知识获取不容易,不要轻言过时或放弃,也不要听信他人之言觉得QBASIC不高大尚,也不要过度痴迷于Assembler和二进制代码,今天说一说用QBasic语言自己编写操作系统,让QBasic继续发挥其无以比拟的优势。

1. 下载并安装DevOS Studio IDE

下载地址:
https://sourceforge.net/projects/devos-studio/

安装过程无需人为干预,就不细写了,注意安装时以管理员身份安装、安装过程中若发现.NET有些部件已有会让退出关闭,说的是安装.NET过程关闭,不是安装程序关闭,点击关闭后它继续安装后续其它的。安装完成后,界面是下图的样子(如果不是以管理员身份安装的,这时程序读写Program files (x86)下的文件会出错,真是如此也没关系,点继续就是了)。
在这里插入图片描述

2. 编写Hello World操作系统

打开左上角的Project,选New Project,选文件夹和项目名称。
在这里插入图片描述
现在开始编程,语言就是QBasic语言(原基础上增加了几个新语句),见下面的图。
在这里插入图片描述

编写好程序后,选Compile/Emulate,可以 Compile 编译,然后点选DOSBox模拟器(程序自带的)进行模拟。
在这里插入图片描述

如果模拟结果满意,可进入部署 Deploy,部署在软盘上或高密2.88MB软盘上。
在这里插入图片描述

先选个Floppy Disk吧,出现下面的界面,自己定义img映像文件名,保存,让程序生成自启动的软盘映像。
在这里插入图片描述
至此,简单的操作系统就制作完成了。可以找个DOSBOX虚拟机试一下。
在这里插入图片描述
在DOSBox-x虚拟机里 Mount a disk or CD image file,加载刚才生成的映像文件。然后,在虚拟机中执行 boot -l a ,让虚拟机从A盘重新启动,即启动你自己的OS,屏幕会显示出 Your OS has been booted! ,表明你编写的OS已经成功了。

3. 再来两个复杂一点的

Do
Input "Num1: ", n1
Input "Num2: ", n2
Print n1 + n2
Pause
Loop

上面是输入数据进行相加运算的OS,下面的一个是类似Command.com提示符的OS
Do
Input “command> “, cmd$
If cmd$ = “about” then
Print “Hello World! - v1.0”
ElseIf cmd$ = “cls” then
CLS
ElseIf cmd$ = “shutdown” then
Shutdown
ElseIf cmd$ = “reboot” then
Reboot
ElseIf cmd$ = “bcolor” then
Input “BColor: “, bcnum
Color , bcnum
CLS
ElseIf cmd$ = “fcolor” then
Input “FColor: “, fcnum
Color fcnum
ElseIf cmd$ = “help” then
Print " about:”; " Show info”
Print " bcolor:”; " Change background color”
Print " clock:”; " Clear the screen”
Print " cls:"; " Clear the screen"
Print " fcolor:"; " Change foreground color"
Print " help:"; " Show commands"
Print " reboot:"; " Restart computer"
Print " shutdown:"; " Turn off computer"
Print
ElseIf cmd$ = “clock” then
Print Time$
Print Date$
Print
Else
Print “Invalid Command”
End If
Loop

4. 支持的语句

· ABS
· ABSOLUTE
· ACCESS
· AND
· ANY
· APPEND
· AS
· ASC
· ATN
· BASE
· BEEP
· BINARY
· BLOAD
· BSAVE
· CALL
· CASE
· CDBL
· CHAIN
· CHDIR
· CHR$
· CINT
· CIRCLE
· CLEAR
· CLNG
· CLOSE
· CLS
· COLOR
· COM
· CONST
· COS
· CSNG
· CSRLIN
· CVD
· CVDMBF
· CVI
· CVL
· CVS
· CVSMBF
· DATA
· DATE$
· DECLARE
· DEF FN
· DEF SEG
· DEFDBL
· DEFINT
· DEFLNG
· DEFSNG
· DEFSTR
· DEFtype
· DIM
· DO
· DOUBLE
· DRAW
· ELSE
· ELSEIF
· END
· ENDIF
· ENVIRON$
· EOF
· EQV
· ERASE
· ERDEV$
· ERL
· ERR
· ERROR
· EXIT
· EXP
· FIELD
· FILEATTR
· FILES
· FIX
· FOR
· FRE
· FREEFILE
· FUNCTION
· GET
· GOSUB
· GOTO
· HEX$
· IF
· IMP
· INKEY$
· INP
· INPUT
· INPUT$
· INSTR
· INT
· INTEGER
· IOCTL
· IOCTL$
· IS
· KEY
· KILL
· LBOUND
· LCASE$
· LEFT$
· LEN
· LET
· LINE
· LINE INPUT
· LIST
· LOC
· LOCATE
· LOCK
· LOF
· LOG
· LONG
· LOOP
· LPOS
· LPRINT
· LPRINT USING
· LSET
· LTRIM$
· MID$
· MKD
· MKDIR
· MKDMBF$
· MKI$
· MKL$
· MKS$
· MKSMBF$
· MOD
· NAME
· NEXT
· NOT
· OCT$
· OFF
· ON
· ON COM
· ON ERROR
· ON KEY
· ON PEN
· ON PLAY
· ON STRIG
· ON TIMER
· OPEN
· OPTION
· OR
· OUT
· OUTPUT
· PAINT
· PALETTE
· PALETTE USING
· PCOPY
· PEEK
· PEN
· PLAY
· PMAP
· POINT
· POKE
· POS
· PRESET
· PRINT
· PRINT USING
· PSET
· PUT
· RANDOM
· RANDOMIZE
· READ
· REDIM
· REM
· RESET
· RESTORE
· RESUME
· RETURN
· RIGHT$
· RMDIR
· RND
· RSET
· RTRIM$
· RUN
· SCREEN
· SEEK
· SELECT CASE
· SGN
· SHARED
· SHELL
· SIN
· SINGLE
· SLEEP
· SOUND
· SPACE$
· SPC
· SQR
· STATIC
· STEP
· STICK
· STOP
· STR$
· STRIG
· STRING
· STRING$
· SUB
· SWAP
· SYSTEM
· TAB
· TAN
· THEN
· TIME$
· TIMER
· TO
· TROFF
· TRON
· TYPE
· UBOUND
· UCASE$
· UNLOCK
· UNTIL
· USING
· VAL
· VARPTR
· VARPTR$
· VARSEG
· VIEW
· VIEW PRINT
· WAIT
· WEND
· WHILE
· WIDTH
· WINDOW
· WRITE
· XOR
· $DYNAMIC
· $STATIC

5. 增加的新语句

· CURSORPOSITION
· CURSORSIZE
· DELAY
· HALT
· HIDECURSOR
· INITMOUSE
· MOUSE
· PAUSE
· REBOOT
· SCREENMODE
· SCREENSIZE
· RESETSCREEN
· SHOWCURSOR
· SHUTDOWN

6. 其它

DevOS还支持图形化OS
在这里插入图片描述
学重要,学以致用更重要,学过的不用或弃用就太可惜了。
哈哈,QBasic神工具,到处可用的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值