;TPicSim10 ;Programm zum Test des 16F84-Simulators. ;Es wird die richtige Funktionsweise von PCL und PCLATH am Beispiel ;eines Tabellenzugriffs getestet ;(c) St. Lehmann ;19.04.2014 ;Definition einiger Symbole indirect equ 0 pcl equ 02h status equ 03h fsr equ 04h ra equ 05h rb equ 06h pclath equ 0ah intcon equ 0bh ;Definition des Prozessors device 16F84 ;Festlegen des Codebeginns org 0 start movlw 0 ;Index f?r Tabellenzugriff in 0FH movwf 0fh movlw 5 ;insgesamt 5 Tabellenzugriffe movwf 0eh movlw 10h ;Ergebnis wird ab 10H abgespeichert movwf fsr loop movlw 1 ;PCLATH setzen, damit auf den Bereich 256-511 zugegriffen werden kann movwf pclath movf 0fh,w call tabelle movwf indirect incf fsr incf 0fh decfsz 0eh goto loop clrf pclath movf 0fh,w call tabelle ;Fehler, der ADDWF PCL kommt nicht in die Tabelle. Grund: in W steht 5 ;im PC 109 bzw. nach dem Fetch 10A. Zu diesem Wert wird 5 addiert und ;die oberen Bits auf 0 gesetzt (PCLATH=0). Damit steht im PC der Wert ;0Fh. Dorthin springt der PIC durch den ADDWF-Befehl. Hier verweilt ;das Programm w?hrend der Stack immer weiter w?chst. ende goto ende ;Endlosschleife, verhindert Nirwana nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop Tabelle addwf pcl retlw 60h retlw 61h retlw 62h retlw 63h retlw 64h retlw 65h retlw 66h retlw 67h retlw 68h retlw 69h retlw 6Ah