--- PROCESSOR : PIC-Typ angeben ---
--- END : Programmende ---
--- DIM : Variable deklarieren ---
--- IF : bedingte Verzweigung ---
--- INC / DEC : Variable incrementieren/decrementieren ---
--- WHILE : Programmschleife, wiederhole solange <expression> = TRUE ---
--- FOR : Programmschleife ---
--- GOTO : Unbedingter Sprung ---
--- GOSUB : Subroutine aufrufen ---
--- BANKSEL : Setzt die Bits RP0 und RP1 ---
--- SET/CLR : Setzt/Löscht ein Bit ---
--- Rangfolge der Operatoren ---
--- Kommentar im Quelltext ---




--- PROCESSOR : PIC-Typ angeben ---

Syntax:
  PROCESSOR <pic-type>

Bsp.:
  PROCESSOR 16F628A

Bemerkung:
  Diese Anweisung muss am Anfang der Quelldatei stehen



--- END : Programmende ---

Syntax:
  END

Bsp.:
  IF ... THEN
     END
  ELSE
     ...
  ENDIF
  END

Bemerkung:
  Diese Anweisung hält den PIC an
  Um aus diesem Zustand heraus zu kommen, muss man den PIC resetten



--- DIM : Variable deklarieren ---

Syntax:
  DIM <identifier> AS <type> [, <identifier> AS <type>[, ...]]

Types:
  byte : Standartdatentyp (8 Bit)
  extern : eine Variable die nicht in dieser Quelldatei deklariert wurde (8 Bit)

Bsp.:
  DIM x AS BYTE, portb AS EXTERN



--- IF : bedingte Verzweigung ---

Syntax:
  IF <expression> THEN
     <block>
  [ELSE
     <block>]
  ENDIF

Bsp.:
  DIM x AS BYTE
  IF x = 5 THEN
     ...
  ELSE
     ...
  ENDIF

  IF x <> 2 THEN
     ...
  ENDIF



--- INC / DEC : Variable incrementieren/decrementieren ---

Syntax:
   INC <identifier>
   DEC <identifier>

Bsp.:
   DIM x AS BYTE, y AS BYTE
   INC x
   DEC y



--- WHILE : Programmschleife, wiederhole solange <expression> = TRUE ---

Syntax:
   WHILE <expression>
     <block>
   WEND

Bsp.:
   DIM x AS BYTE
   WHILE x < 15
     INC x
   WEND



--- FOR : Programmschleife ---

Syntax:
   FOR <identifier> = <expression> TO|DOWNTO <expression>
     <block>
   NEXT <identifier>

Bsp.:
   DIM x AS BYTE
   FOR x = 1 TO 10
     ...
   NEXT x



--- GOTO : Unbedingter Sprung ---

Syntax:
   GOTO <label>

Bsp.:
   Schleife:
   GOTO Schleife



--- GOSUB : Subroutine aufrufen ---

Syntax:
   GOSUB <label>

Bsp.:
   GOSUB funktion
   END
   funktion:
   ...
   RETURN



--- BANKSEL : Setzt die Bits RP0 und RP1 ---

Syntax:
   BANKSEL <variable>

Bsp.:
   DIM portb AS EXTERN, trisb AS EXTERN
   BANKSEL trisb
   trisb = 5
   BANKSEL portb
   portb = 6



--- SET / CLR : Setzt/Löscht ein Bit ---

Syntax:
   SET <variable>(<bitnummer>)
   CLR <variable>(<bitnummer>)

Bsp.:
   DIM portb AS EXTERN
   SET portb(4)
   CLR portb(5)



--- Rangfolge der Operatoren ---

   1. NOT Nicht-Operator
   2. SHL, SHR ShiftLeft,ShiftRight
   3. +, - Addition, Subtraktion
   4. AND Und-Operator
   5. OR, XOR Oder-, Exklusivoder-Operator
   6. =,<>,>,<, Gleich-, Ungleich-, Größer-, Kleiner-
     >=,<= Größergleich-, Kleinergleich-Operator



--- Kommentar im Quelltext ---

Einzeiliger Kommentar:
   // Kommentar
oder
   rem Kommentar

Kommentar über mehrere Zeilen:
   /*
     Kommentar
   */