Sida 1 av 1

Nybörjarfråga angånde Assembler (PIC)

Postat: 15 december 2006, 09:30:58
av mickej
Jag håller på att läsa lite om assembler programmering,
men jag har stött på en litet problem..
Jag förstår inte vart dom har fått siffran 5 ifrån i följande kommando, (BSF 03h,5)

se exemple nedan....


#######################
We are going to give you some example code on what we have just learnt. Dont try and compile this yet, we will do that when we come to our first program. We are just trying to show how the above is actually programmed and introduce a couple of instructions along the way. We are going to set up Port A as per the example above.

First, we need to switch from Bank 0 to Bank 1. We do this by setting the STATUS register, which is at address 03h, bit 5 to 1.

BSF 03h,5

The BSF Means Bit Set F. The letter F means that we are going to use a memory location, or register. We are using two numbers after this instruction 03h, which is the STATUS register address, and the number 5 which corresponds to the bit number. So, what we are saying is Set bit 5 in address 03h to 1.

We are now in Bank 1.

http://www.hobbyprojects.com/pic_tutori ... rial2.html
##############################

Postat: 15 december 2006, 09:59:11
av mickej
Hmmmm, jag tror att jag har hittat det...
bit 5 är lika med RP0 i Status Register.

Har jag rätt ????

Postat: 15 december 2006, 09:59:24
av Nisse
Hmm, svaret står ju i ditt eget exempel:

"and the number 5 which corresponds to the bit number. So, what we are saying is Set bit 5 in address 03h to 1.

Femman betyder alltså att det är bit nummer fem som sätts till 1.

Mvh
Nisse

Postat: 15 december 2006, 10:02:26
av sodjan
Ett rent skit-exempel !!

Kommandot ska skrivas :

BSF STATUS, RP0

och inget annat !!

Dessutom, *var* det har fått "5" från står ju i texten som du själv har klippt in...

Slutligen, använd BANKSEL istället för att strula med RPx bitarna direkt,
men det kan du kolla på senare. Det kanske bara var funktionen på
BSF du undrade över !?

Postat: 15 december 2006, 10:09:06
av mickej
nej, jag undrade bara hur man ska veta att det ska vara bit 5.
men jag hittade det i datasheet..

.M

Postat: 15 december 2006, 10:13:58
av sodjan
OK, ja det är bit 5 om det är bit 5 man ska ändra... :roll: