Gast
#2080119
Hi, ich stelle gerade von PIC16F auf 18F um und habe ein wenig mit einigen der neuen Befehle zu kämpfen. Einer der Befehle ist der rcall Befehl. Das was im Datenblatt zur "INtruction" steht ist mir recht klar, ich kann damit den PC vor/zurückschieben. Wenn ich ein kleines Beispielprog mal in MPASM schreibe (relocatable code): movlw b'11111100' ;2er Complement = +4 movwf Example,ACCESS rcall Example goto Tut1 goto Main goto Tut2 goto Main goto Tut3 Main: goto Main sollte rcall nach meiner Vorstellung den ProgrammCounter um 4 Stellen weiter schieben. Da es sich beim PIC18F um 16bit Anweisungen handelt sollten dies wie ich denke 2 Zeilen im Programm sein, allerdings rcall weder zu Main noch zu einem der TutX Unterprogs. Was mache ich falsch ? Grundlegend scheint das PCL Register sich zu ändern: in der Zeile vor dem rcall Befehl steht der Counter in MPSIM auf b'10111110' (0xbe), ein ein augeblick später aber bei b'01111100' (0x7c), irgedwas durchschau ich da nicht bitte helft mit mal auf die Sprünge (<- das könnt Ihr Wörtlich nehmen) ???