Positron8 BASIC Compiler Manual
Compiler and documentation by Les Johnson.
Manual cover

Contents
The original topic hierarchy is retained. Additional topics and subsections found in the manual are marked Added.
- About this manual
- Introduction
- Original printed contents
- Positron8 Compiler Overview
- PICmicro™ Devices
- Device Specific issues
- Identifiers
- Line Labels
- Commenting Lines of Code
- Standard Variables
- Static Variables
- Global Variables
- Shared Variables
- Pin Variables
- Floating Point Mathematics
- Aliases
- Finer points for variable handling. Added
- Access RAM Variables. Added
- Heaped Variables. Added
- Variable Declares. Added
- Constants
- Symbols
- Numeric Representations
- Quoted String of Characters
- Null Terminated Added
- Ports and other Registers
- General Format
- Procedures
- A Typical Procedural BASIC Program Layout
- A Typical flat BASIC Program Layout
- Line Continuation Character '_'
- Creating and using Arrays
- Creating and using Strings
- Creating and using Flash Memory Strings
- Creating and using EEPROM Strings with Edata
- String Comparisons
- Limited 12-bit Core Device Compatibility.
- Programming Considerations for 12-bit core Devices.
- Relational Operators
- Boolean Logic Operators
- Mathematic Operations and Functions
- Standard operators
- Add '+' Added
- Subtract '-' Added
- Multiply '*' Added
- Multiply High '**' Added
- Multiply Middle '*/' Added
- Divide '/' Added
- Integer Modulus '//' Added
- Logical operators
- Logical and '&' Added
- Logical or '|' Added
- Logical Xor '^' Added
- Bitwise Shift Left '<<' Added
- Bitwise Shift Right '>>' Added
- Complement '~' Added
- Positron8 functions
- Trigonometry functions
- Bitwise Reverse '@'
- Decimal Digit extract '?'
- Abs
- fAbs
- Acos
- Asin
- Atan
- Cos
- Dcd
- Exp
- fRound
- ISin
- ICos
- ISqr
- Log
- Log10
- Ncd
- Pow
- Sin
- Sqr
- Tan
- Div32
- Standard operators
- Compiler commands and directives — quick reference Added
- Peripheral and Interfacing Commands Added
- LCD Commands Added
- Async Serial Commands Added
- Comparison and Loop Commands Added
- General BASIC Commands Added
- RAM String Variable Commands Added
- Flash memory and EEPROM Commands Added
- Directives Added
- Peripheral and Interfacing Commands
- ADin
- ADin Declares Added
- Bstart
- Bstop
- Brestart
- BusAck
- BusNack
- Busin
- Str modifier with Busin Added
- Busout
- Str modifier with Busout. Added
- Declares Added
- Button
- Counter
- DTMFout
- Freqout
- HbStart
- HbStop
- HbRestart
- HbusAck
- HbusNack
- Hbusin
- Hbusin Declares Added
- Str modifier with Hbusin Added
- Hbusout
- Str modifier with Hbusout. Added
- Hbusout Declares Added
- High (PinHigh)
- HPWM
- I2Cin
- Declares Added
- I2Cout
- Str modifier with I2Cout Added
- Declares Added
- Inkey
- Declare for Inkey Added
- Input (PinInput)
- Low (PinLow)
- Output (PinOutput)
- Oread
- Owrite
- The Str Modifier Added
- PinClear
- PinGet (GetPin)
- PinMode
- PinPullup
- PinSet
- Pot
- PulseIn
- PulseOut
- PWM
- RC5in
- RCin
- Servo
- Shin
- Inline Shin Command. Added
- Shout
- SonyIn
- Sound
- Sound2
- Toggle
- USBinit
- USBin
- USBout
- USBpoll
- Xin
- Xout
- Xout and Xin Declares Added
- ADin
- Async Serial Commands
- HRsin, HRsin2, HRsin3, HRsin4, Hrsin5
- HRsin Modifiers. Added
- Declares Added
- HRsout, HRsout2, HRsout3, HRsout4, HRsout5
- Declares Added
- HRsoutLn, HRsout2Ln, HRsout3Ln, HRsout4Ln, HRsout5Ln
- Declares Added
- HSerin, HSerin2, HSerin3, Hserin4, Hserin5
- Str modifier. Added
- Declares Added
- HSerout, HSerout2, HSerout3, HSerout4, HSerout5
- Declares Added
- HSeroutLn, HSerout2Ln, HSerout3Ln, HSerout4Ln, HSerout5Ln
- Declares Added
- HSerialx_ChangeBaud
- Rsin
- Declares Added
- Rsin Modifiers. Added
- Str modifier. Added
- Rsout
- Declares Added
- RsoutLn
- Declare Added
- Serin
- Serin Modifiers. Added
- Serout
- Serout Modifiers. Added
- Using Strings with Serout. Added
- Serout Flow Control. Added
- HRsin, HRsin2, HRsin3, HRsin4, Hrsin5
- LCD Commands
- Comparison and Loop Commands
- General BASIC Commands
- AddressOf
- Call
- Clear
- ClearBit
- Dec
- DelayCs
- DelayMs
- DelayUs
- Dig
- GetBit
- GoSub
- What is a Stack? Added
- Pushing. Added
- Popping. Added
- Technical Details of Stack implementation. Added
- GoTo
- Inc
- LoadBit
- Pop
- Ptr8, Ptr16, Ptr24, Ptr32
- Push
- Formatting a Push. Added
- What is a Stack? Added
- Popping. Added
- Technical Details of Stack implementation. Added
- Random
- Return
- Rol
- Ror
- Seed
- SetBit
- Set
- Snooze
- Sleep
- Stop
- Swap
- RAM String Variable Commands
- Flash Memory and EEPROM Commands
- Compiler Directives
- Asm..EndAsm
- Config
- Declare
- Oscillator Frequency Declare.
- Misc Declares.
- Variable Declares.
- ADin Declares.
- Busin - Busout Declares.
- Hbusin - Hbusout Declares.
- USART1 Declares for use with HRsin, HSerin, HRsout and HSerout.
- USART2 Declares for use with HRsin2, HSerin2, HRsout2 and HSerout2.
- USART3 Declares for use with HRsin3, HSerin3, HRsout3 and HSerout3.
- USART4 Declares for use with HRsin4, HSerin4, HRsout4 and HSerout4.
- USART5 Declares for use with HRsin5, HSerin5, HRsout5 and HSerout5.
- HPWM Declares.
- Alphanumeric (Hitachi HD44780) LCD Print Declares.
- Graphic LCD Declares.
- KS0108 Graphic LCD specific Declares.
- Toshiba T6963 Graphic LCD specific Declares.
- Keypad Declare.
- Rsin - Rsout Declares.
- Serin - Serout Declare.
- Shin - Shout Declare.
- Device
- Dim
- End
- Include
- Proc-EndProc
- Set_OSCCAL
- Sub-EndSub
- Symbol
- Interrupt Directives
- Using the Optimiser
- Using the Preprocessor
- Positron8 IDE Overview
- Menu Bar
- Main Toolbar
- Edit Toolbar
- Compile and Program Toolbar Added
- Code Explorer
- Device Node Added
- Results View
- Editor Options
- Highlighter Options
- Reserved Word Formatting Added
- Compile and Program Options
- Installing a Programmer
- Creating a custom Programmer Entry
- IDE Plugins
- ASCII Table
- Hex View
- Assembler Window
- Assembler Main Toolbar
- Assembler Editor Options
- Serial Communicator
- Serial Communicator Main Toolbar
- Protected Compiler Words