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
    ENABLE INTERRUPT
    END
    ERASECODE
    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