Title Page
1.  Introduction
  1.1.  The PICmicros
  1.2.  About This Manual
  1.3. Sample Programs
2.  Getting Started
  2.1.  Software Installation
  2.2.  Your First Program
  2.3.  Program That PICmicro
  2.4.  It's Alive
  2.5.  I've Got Troubles
    2.5.1.  PICmicro Specific Issues
    2.5.2.  Code Crosses Page
 Boundary Messages
    2.5.3.  Out of Memory Errors
  2.6.  Coding Style
    2.6.1.  Comments
    2.6.2.  Pin and Variable Names
    2.6.3.  Labels
    2.6.4.  GOTO
3.  Command Line Options
  3.1.  Usage
  3.2.  Options
    3.2.1.  Option -A
    3.2.2.  Option -C
    3.2.3.  Option -E
    3.2.4.  Option -H or -?
    3.2.5.  Option -I
    3.2.6.  Option -L
    3.2.7.  Option -O
    3.2.8.  Option -P
    3.2.9.  Option -S
    3.2.10.  Option -V
4.  PICBASIC PRO™ Basics
  4.1.  Identifiers
  4.2.  Line Labels
  4.3.  Variables
  4.4.  Aliases
  4.5.  Arrays	
  4.6.  Constants
  4.7.  Symbols
  4.8.  Numeric Constants
  4.9.  String Constants
  4.10.  Ports and Other Registers
  4.11.  Pins
  4.12.  Comments
  4.13.  Multi-statement Lines
  4.14.  Line-extension Character
  4.15.  INCLUDE
  4.16.  DEFINE
  4.17.  Math Operators
    4.17.1.  Multiplication
    4.17.2.  Division
    4.17.3.  Shift
    4.17.4.  ABS
    4.17.5.  COS
    4.17.6.  DCD
    4.17.7.  DIG
    4.17.8.  DIV32
    4.17.9.  MAX and MIN
    4.17.10.  NCD
    4.17.11.  REV
    4.17.12.  SIN
    4.17.13.  SQR
    4.17.14.  Bitwise Operators
  4.18.  Comparison Operators
  4.19.  Logical Operators	
5.  PICBASIC PRO™ Statement Reference
  @
  ADCIN
  ASM..ENDASM
  BRANCH
  BRANCHL
  BUTTON
  CALL
  CLEAR
  CLEARWDT
  COUNT
  DATA	
  DEBUG
  DEBUGIN
  DISABLE
  DISABLE DEBUG
  DISABLE INTERRUPT
  DTMFOUT
  EEPROM
  ENABLE
  ENABLE DEBUG
  ERASECODE
  ENABLE INTERRUPT
  END
  FOR..NEXT
  FREQOUT
  GOSUB
  GOTO
  HIGH
  HPWM
  HSERIN
  HSEROUT
  I2CREAD
  I2CWRITE
  IF..THEN
  INPUT
  LCDIN
  LCDOUT
  {LET}
  LOOKDOWN
  LOOKDOWN2
  LOOKUP
  LOOKUP2
  LOW
  NAP
  ON DEBUG
  ON INTERRUPT
  OUTPUT
  OWIN
  OWOUT
  PAUSE
  PAUSEUS
  PEEK
  PEEKCODE
  POKE
  POKECODE
  POT
  PULSIN
  PULSOUT
  PWM
  RANDOM
  RCTIME
  READ
  READCODE
  RESUME
  RETURN
  REVERSE
  SELECT CASE
  SERIN
  SERIN2
  SEROUT
  SEROUT2
  SHIFTIN
  SHIFTOUT
  SLEEP
  SOUND
  STOP
  SWAP
  TOGGLE
  USBIN
  USBINIT
  USBOUT
  WHILE..WEND
  WRITE
  WRITECODE
  XIN
  XOUT	
6.  Structure of a Compiled Program
  6.1.  Target Specific Headers
  6.2.  The Library Files
  6.3.  PBP Generated Code
  6.4.  .ASM File Structure	
7.  Other PICBASIC PRO™ Considerations
  7.1.  How Fast is Fast Enough?
  7.2.  Configuration Settings
  7.3.  RAM Usage
  7.4.  Reserved Words
  7.5.  Life After 2K
  7.6.  12-bit core considerations
8.  Assembly Language Programming
  8.1.  Two Assemblers - No Waiting
  8.2.  Programming in Assembly Language
  8.3.  Placement of In-line Assembly
  8.4.  Another Assembly Issue
9.  Interrupts
  9.1.  Interrupts in General
  9.2.  Interrupts in BASIC
  9.3.  Interrupts in Assembler
10.  PICBASIC PRO™ / PicBasic /
 Stamp Differences
  10.1.  Execution Speed
  10.2.  Digital I/O
  10.3.  Low Power Instructions
  10.4.  Missing PC Interface
  10.5.  No Automatic Variables
  10.6.  No Nibble Variable Types
  10.7   No Dirs
  10.8   No Automatic Zeroing of Variables
  10.9.  Math Operators
  10.10.  [ ] Versus ( )
  10.11.  ABS
  10.12.  DATA, EEPROM, READ and WRITE
  10.13.  DEBUG
  10.14.  FOR..NEXT
  10.15.  GOSUB and RETURN
  10.16.  I2CREAD and I2CWRITE
  10.17.  IF..THEN
  10.18.  MAX and MIN
  10.19.  SERIN and SEROUT
  10.20.  SLEEP
Appendix A
Serin2/Serout2
Mode Examples
Appendix B
Defines
Appendix C
Reserved Words
Appendix D
ASCII Table
Appendix E
Summary of Microchip
Assembly Instruction Set
Appendix F
Contact Information