incf "fungerar ej"
incf "fungerar ej"
Hur gör man när man vill öka w med 1 ?
har testat med: incf w, w
men det blir inte rätt
visserligen skulle man kunna ta
addlw 01
men då påverkas c-flagga, och det är inte alltid så bra..
Finns det nåt smart trick ?
PIC 12F675
har testat med: incf w, w
men det blir inte rätt
visserligen skulle man kunna ta
addlw 01
men då påverkas c-flagga, och det är inte alltid så bra..
Finns det nåt smart trick ?
PIC 12F675
> har testat med: incf w, w
> men det blir inte rätt
Nej, för W är inte ett "File Register".
Som Marta skrev så kan man använda WREG (W-registret mappat som ett SFR) på PIC18 serien.
Det intressanta är varför du vill öka W med ett. Det vanligaste är att den
typen av räknare ligger i ett GPR...
> addlw 01, men då påverkas c-flagga, och det är inte alltid så bra..
INCF påverkar Z-flaggan, jag vet inte vilket som är "bäst"...
> men det blir inte rätt
Nej, för W är inte ett "File Register".
Som Marta skrev så kan man använda WREG (W-registret mappat som ett SFR) på PIC18 serien.
Det intressanta är varför du vill öka W med ett. Det vanligaste är att den
typen av räknare ligger i ett GPR...
> addlw 01, men då påverkas c-flagga, och det är inte alltid så bra..
INCF påverkar Z-flaggan, jag vet inte vilket som är "bäst"...
Du måste skriva lite mera om vad Du vill åstadkomma för att kunna få bra råd om hur Du skall lösa ett visst problem. Det finns mer eller mindre standardiserade lösningar på många saker, men för att kunna säga något mera så krävs mer info från Dig än en fråga om en specifik instruktiion.
Du känner väl till http://www.piclist.org ? På denna site kan Du hitta en hel del lösningar på standardproblem. Genom att studera små program därifrån kan Du också lära Dig en hel del om hur Du skall utnyttja instruktionssetet.
Vissa av de som presenterar material där skriver kod som är mycket svår att följa innan man själv har lärt sig, men det finns även en hel del som kan vara nyttigt för en nybörjare att ta del av.
Du känner väl till http://www.piclist.org ? På denna site kan Du hitta en hel del lösningar på standardproblem. Genom att studera små program därifrån kan Du också lära Dig en hel del om hur Du skall utnyttja instruktionssetet.
Vissa av de som presenterar material där skriver kod som är mycket svår att följa innan man själv har lärt sig, men det finns även en hel del som kan vara nyttigt för en nybörjare att ta del av.
Tack för intressanta svar!
Jag håller på att skriva en rutin som omvandlar decimal ascii-sträng till 24bits flyt-tal.
Har tidigare skrivet ett litet bibliotek med rutiner för f-add, f-mult, f-div, f-log. f-sqrt osv...
Kan inte återge hela koden, men här är en liten lösryckt bit,
ville skriva:
; ställ in pekare till ascii-siffror
movf rg2, w
addwf rg3, w ; antal ascii-siffror
decf w, w ; FEL
movwf rg9 ; pekar på ascii entals-siffra
fick ist bli:
; ställ in pekare till ascii-siffror
movf rg2, w
addwf rg3, w ; antal ascii-siffror
movwf rg9
decf rg9, f ; pekar på ascii entals-siffra
Så i detta fall var det enkelt att komma runt "problemet" med att decf inte funkar på w, jag vet att jag varit i liknande situation tidigare.
Jag håller på att skriva en rutin som omvandlar decimal ascii-sträng till 24bits flyt-tal.
Har tidigare skrivet ett litet bibliotek med rutiner för f-add, f-mult, f-div, f-log. f-sqrt osv...
Kan inte återge hela koden, men här är en liten lösryckt bit,
ville skriva:
; ställ in pekare till ascii-siffror
movf rg2, w
addwf rg3, w ; antal ascii-siffror
decf w, w ; FEL
movwf rg9 ; pekar på ascii entals-siffra
fick ist bli:
; ställ in pekare till ascii-siffror
movf rg2, w
addwf rg3, w ; antal ascii-siffror
movwf rg9
decf rg9, f ; pekar på ascii entals-siffra
Så i detta fall var det enkelt att komma runt "problemet" med att decf inte funkar på w, jag vet att jag varit i liknande situation tidigare.
Skriver du det helt från scratch ?
Du kan ju annars sno/låna mycket ideer från www.piclist.com, t.ex :
http://www.piclist.com/techref/microchip/math/index.htm
En annan fråga är varför du skriver dessa FP rutiner, är det för något specifikt behov ?
Notera att det är *väldigt* ovanligt att man behöver floating-point beräkningar,
och om man ändå *tror* att man behöver det så har man fel i 9 av 10 fall...
Du kan ju annars sno/låna mycket ideer från www.piclist.com, t.ex :
http://www.piclist.com/techref/microchip/math/index.htm
En annan fråga är varför du skriver dessa FP rutiner, är det för något specifikt behov ?
Notera att det är *väldigt* ovanligt att man behöver floating-point beräkningar,
och om man ändå *tror* att man behöver det så har man fel i 9 av 10 fall...

Säkert är det så.. med väl genomtänkt program så behövs inte FP-rutiner så ofta.
Ja, skriver scratch, mycket jobb men så har man koll på det hela.
Jag gör det som hobby och då kan man göra lite vad man känner för o tycker är kul.
Tycker det är kul med utmaningen att få det att funka.
Rutiner för in o utmatning av decimala tal kan ju vara bra iaf.
Tänker mig att kunna ansluta PIC till terminal-program, läsa av/ställa invärden för nån mät- eller styranordning.
Kollar ibland på "Piclist", hittar ofta nåt man inte tänkt på, ibland nåt som är dåligt kommenterat o man får luska länge för att begripa.
Ja, skriver scratch, mycket jobb men så har man koll på det hela.
Jag gör det som hobby och då kan man göra lite vad man känner för o tycker är kul.
Tycker det är kul med utmaningen att få det att funka.
Rutiner för in o utmatning av decimala tal kan ju vara bra iaf.
Tänker mig att kunna ansluta PIC till terminal-program, läsa av/ställa invärden för nån mät- eller styranordning.
Kollar ibland på "Piclist", hittar ofta nåt man inte tänkt på, ibland nåt som är dåligt kommenterat o man får luska länge för att begripa.