Sida 1 av 1
PIC - nybörjare
Postat: 3 maj 2012, 12:14:27
av Camro
Hej alla!
Jag är en nybörjare inom microcontrollers. Har en fråga som säkert är enkel för många, men inte självklar för mig. Undrar över skillnaden mellan DC och C flaggorna, om jag förstått det rätt så blir C-flaggan hög om resultatet av en addition eller subtraktion blir större än 255 eller mindre än noll. Men på vilket sätt skiljer sig DC flaggan från C-flaggan
Ödmjuka hälsningar från Camro

Re: PIC - nybörjare
Postat: 3 maj 2012, 12:42:48
av SeniorLemuren
DC: Digit carry/borrow
1 = A carry-out from the 4th low order bit of the result occurred
0 = No carry-out from the 4th low order bit of the result
bit (for ADDWF and ADDLW instructions)
bit 0:
C: Carry/borrow
1 = A carry-out from the most significant bit of the result occurred
0 = No carry-out from the most significant bit of the result occurred
Note: For borrow the second operand the polarity is reversed. A subtraction is executed by adding the two’s complement of. For rotate (RRF, RLF) instructions, this bit is loaded with either the high or low order bit of the source register.
Re: PIC - nybörjare
Postat: 3 maj 2012, 20:25:48
av exile
Typ samma sak som för C men för (4bitar "tal") istället för en byte.
Används vad jag vet (eller fått för mig) för att räkna med
BCD (binärkodad decimal).
Re: PIC - nybörjare
Postat: 3 maj 2012, 20:42:35
av sodjan
Nja, problemet är att det inte (som på PIC18 serien) finns någon
"Decimal Adjust W" (DAW) som faktiskt *använder* DC flaggan till
något vettigt. För BCD aritmetik behöver man också veta om de
fyra lägsta bitarna är > 9, och det fixar DAW instruktionen.
Jag ser det inte så där riktigt självklart hur man ska använda DC
flaggen rent praktiskt. Man kan emulera DAW på en PIC16, men det
är inte helt praktiskt...
Re: PIC - nybörjare
Postat: 3 maj 2012, 22:51:56
av Camro
Tack för alla svar, fortsätter att studera microcontroller.....Säkert kommer det fler frågor allt eftersom jag gräver djupare.
Re: PIC - nybörjare
Postat: 3 maj 2012, 22:57:56
av sodjan
Det absolut viktigaste du bör ha lärt dig av detta är var
svaret faktiskt redan fanns. Visst, det kan vara svårt att
tolka förklaringen i databladet, men det lät inte på sättet som
du formulerade frågan som att du ens hade läst den. D.v.s
det som SeniorLemuren citerade...
Re: PIC - nybörjare
Postat: 4 maj 2012, 12:39:11
av Camro
Det var tolkningen av databladet som var problemet. Kanske borde jag skrivit att det var tolkningen av databladet som var problemet, bättring utlovas framöver

Re: PIC - nybörjare
Postat: 4 maj 2012, 13:12:40
av sodjan
Ja, det är ju tydligare och bättre med något i stil med:
"Jag har läst förklaringen i tabell 12-1 på sidan xxx, men förstår
inte vad de menar med att bla-bla-bla-bla..."
än bara en generell fråga som det var nu. T.ex så hade ju SeniorLemurens
citering av exakt det stycket som du tyligen hade läst varit helt onödigt.
En bra fråga är halva svaret, så att säga.
Re: PIC - nybörjare
Postat: 4 maj 2012, 19:38:20
av exile
Visst kan man använda DC utan att ha daw instruktionen (addera 6 och eventuellt ta bort 6 ) men det är klart att det blir lite mer code, sen hur användbar den är kan man fråga sig (utan daw instruktionen)
Exempel på användning av DC