assemblerprogramering av PIC
Postat: 8 december 2010, 23:51:08
Har just börjat lära om assemblerprogrammering av PIC. Jag använder MPLAB IDE ver 8,6. Har börjat med en PIC16F84A. Jag har hittat en tutorial på nätet som verkar ok. Det kommer emellertid upp ett och annat frågetecken då och då.
Det första jag har stött på var att i testprogrammet har man skrivit
addwf Spot1,W
och förklarat följande:
Notice the ‘,W’ on the add and subtract instructions. These instructions can store the result either into the W register, or the original memory location. If we had wanted the result to go back into the file register, we would have used ‘,F’ instead of ‘,W’.
Om man läser i databladet för 16f84 kan man läsa att syntaxen är:
addwf f,d
där d är:
Destination select; d = 0: store result in W,
d = 1: store result in file register f.
Default is d = 1
Om man kan använda W eller F i stället för 0 resp. 1 så gör ju det att det blir enklare att läsa programmet, men eftersom man inte kan utläsa det i databladet så antar jag att det är kompilatorn som översätter W till 0 osv. Jag antar att det kommer att dyka upp fler sådana fall med andra opkoder, så min fråga är : Vart hittar man informationen om vad som gäller. Det måste ju finnas någon fil i MPLAB som hanterar detta.
Det första jag har stött på var att i testprogrammet har man skrivit
addwf Spot1,W
och förklarat följande:
Notice the ‘,W’ on the add and subtract instructions. These instructions can store the result either into the W register, or the original memory location. If we had wanted the result to go back into the file register, we would have used ‘,F’ instead of ‘,W’.
Om man läser i databladet för 16f84 kan man läsa att syntaxen är:
addwf f,d
där d är:
Destination select; d = 0: store result in W,
d = 1: store result in file register f.
Default is d = 1
Om man kan använda W eller F i stället för 0 resp. 1 så gör ju det att det blir enklare att läsa programmet, men eftersom man inte kan utläsa det i databladet så antar jag att det är kompilatorn som översätter W till 0 osv. Jag antar att det kommer att dyka upp fler sådana fall med andra opkoder, så min fråga är : Vart hittar man informationen om vad som gäller. Det måste ju finnas någon fil i MPLAB som hanterar detta.