   Well it's something like qbasic, meaning that it's a lot like most basic's...

   You can only have one basic command per line. The exception is a comment / remark starts with a semi colan and can be ot the end of a line 

Print "example"     ;This is an example

   Basic commands can be all caps, all small or start with a cap.

PRINT
print
Print

   FASM Basic does not use line numbers.

   Right now FASM Basic only supports a few varable types.

Short = 8 bit number
Integer = 16 bit number
Long = 32 bit number
String = text

   All varables must be defined. They are case sensitive.

DEF     A, Short    ,32         
DEF     B, Integer  ,12312      
DEF     C, Long     ,2000000    
DEF     D, String   ,"String Varable"

   INPUT, only works with strings right now, but you can also print text with the input command.

Input D			; Waits for the user to type in text and hit enter, The text is stored in D
Input "Enter: ",D	; Prints 'Enter: ' then waits for user input
Input D,E,F		; Would wait for user to enter text 3 times, hitting enter after each
Input "Text"            ; Will just print the word 'Text'
Input "Enter1: ",D," Enter2: ",E," Enter3: ",F
			; Puts up the text and inputs 3 entries

   PRINT, puts text or varables on the screen. /n causes a print command to start a new line.

Print "text"		; Puts the word 'text' on the screen
Print A			; Puts the value stored in A on the screen at the current location
Print A,B		; Puts the value of A then the B on the screen, with no space between them
Print "Numbers 1 & 2 : ",A," ",B
			; puts the text in quotes on the screen, then A, then a space, then B
Print "Line1",/n,"Line2"; puts text on 2 lines

   BEEP, makes the computer beep once

   CLS, clears the screen

   COLOR, sets the color text to be printed (new text, what's on the screen stays the same Color 5 )		
   END_PROGRAM, must be the last line of your program

   GOTO, takes the program from where it is and continues exicuation at a lable.

...					; some random program lines 
...
Goto NewStuff				; tells program to go to the lable 'NewStuff'
Print "Text that will never get printed"; so this line gets skipped
NewStuff:				; and the program keeps going here
...
...

   GOSUB, goes to a lable, but returns 
...
...
Gosub NewStuff
Print "This gets printed second",/n
...
...
NewStuff:
Print "This line gets printed first",/n
Return
...
...

   RETURN, returns from a gosub command

   LET, well it' doesn't do any thing right now....

   LOCATE, the screen location to put text at

Locate 0,0		; text will start printing on the screen in the upper left corner

   PEEK, puts the value of a memory location into register al

Peek 123456

   POKE, puts a value to a memory location

Poke 123456,255

   REBOOT, reboots the computer

   IN_PORT, puts the value of a port into register al

In_port 245

   OUT_PORT, outputs a value to a port

Out_port 245,128

   SLEEP, the computer waits until a key is pressed to do any thing, the key pressed ends up in reg AX

   SCREEN, sets the screen mode
	0 = Standard Dos text mode
	1 = 320 x 200 4 color
	2 = 640 x 200 2 color
	7 = 320 x 200 16 color
	8 = 640 x 200 16 color
	9 = 640 x 350 4 color
	11 = 640 x 480 2 color
	12 = 640 x 480 16 color
	13 = 320 x 200 256 color
	14 = DexOS Text mode
	15 = Vesa text mode 132 x 60
	100 = 640 x 400 256 color	; only 0-15 fully working right now
	101 = 640 x 480 256 color
	103 = 800 x 600 256 color
	105 = 1024 x 768 256 color
	107 = 1280 x 1024 256 color
	110 = 320 x 200 16m color
	112 = 640 x 480 16m color
	115 = 800 x 600 16m color
	118 = 1024 x 768 16m color
	119 - 1280 x 1024 16m color

Screen 14	; puts you in DexOS text mode	

   SOUND, makes a tone, the frequency of the tone is the first number and the duration is the second

Sound 45,18	; 45 hrz tone for about one second

   CURSORON, turns the cursor on

   CURSOROFF, turns the cursor off

   PAUSE, pauses the computer for a given time, 18.5 is about one second (you can only use intigers)

Pause 37	; pauses for about 2 seconds


Thanks to rCX for starting this project, TonyMac and Dex for starting it in DexOS. A really big thanks to every one at the FASM board for endless great info on FASM and to Tomasz Grysztar for the great toy, um I mean tool :)

Steve
http://home.comcast.net/~dexos/

DexOS home page:
http://www.dex4u.com/


