Hi leute ich weiss zwar das es hier nicht grade das Forum für Assembler ist
aber ich hoffe ihr könnt mir helfen !
Und zwar habe ich das proble wenn ich das script starte
sagt dercompiler das ich eine feher in der Main habe
(Semantik Fehler - Funktion main() muß definiert werden)
Spoiler anzeigen
INKRROUTINE movf PORTA,w ;PORT A in das Hilfsregister TEMP1 kopieren
movwf TEMP1
;Testen ob die beiden Bits des "alten" Zustands gleich sind
clrf TEMP2
btfsc INKRSTATUS,INKR2ALT
bsf TEMP2,INKR1ALT
movf INKRSTATUS,w
xorwf TEMP2,f
btfsc TEMP2,INKR1ALT
goto UPINKRWEITER ;INKR1 ist ungleich zu INKR2 -> folgende
; Befehle ueberspringen
;Testen, ob die beiden Bits des "neuen" Zustands ungleich sind
clrf TEMP2
btfsc TEMP1,INKR2
bsf TEMP2,INKR1
movf TEMP1,w
xorwf TEMP2,f
btfss TEMP2,INKR1
goto UPINKRWEITER ;INKR1 ist gleich zu INKR2 -> folgende
; Befehle ueberspringen
;Ermittlung in welche Richtung gedreht wurde
movf TEMP1,w ;TEMP1 und INKRSTATUS
xorwf INKRSTATUS,f ; Exklusiv-Oder verknuepfen
btfss INKRSTATUS,INKR1
goto UPINKRRE
UPINKRLI movf TEMP1,w ;Bei einer ermittelten Linksdrehung die
andlw MASKEINKR ; Eingaenge an denen der Drehimpulsgeber
movwf INKRSTATUS ; angeschlossen ist ausmaskieren und in das
; Register INKRSTATUS kopieren
bsf INKRSTATUS,INKRLINKS ; Flag INKRLINKS setzen
goto UPINKRENDE
UPINKRRE movf TEMP1,w ;Bei einer ermittelten Rechtsdrehung die
andlw MASKEINKR ; Eingaenge an denen der Drehimpulsgeber
movwf INKRSTATUS ; angeschlossen ist ausmaskieren und in das
; Register INKRSTATUS kopieren
bsf INKRSTATUS,INKRRECHTS ; Flag INKRRECHTS setzen
goto UPINKRENDE
;Bei Nichterfuellung der ersten beiden Bedingungen (Bits des alten
Zustands
;gleich und Bits des neuen Zustands ungleich)
UPINKRWEITER movf TEMP1,w ;Eingaenge an denen der Drehimpulsgeber
andlw MASKEINKR ; angeschlossen ist ausmaskieren und in das
movwf INKRSTATUS ; Register INKRSTATUS kopieren
UPINKRENDE return