OK. Dels blev det kortare (speciellt efter "CLRF PORTB" instruktionen), dels så går det att förstå hur det fungerar. Versionen med "step -1" förstår jag inte, och det *ser ut* som om den inte fungerar...
Sedan kan man tycka att, eftersom MikroBasic vet att det är en PIC18 som används, så kunde de använda en CPFxxx ("Compare file with W...") instruktion istället för kombinationen MOVF->SUBWF->BNC. Men antagligen har de samma kodgenerator just här för PIC16 och PIC18...
Hur som helst, koden med "step 1" verkar OK, medans den med "step -1" är lite skum, så vitt jag kan se... Man skulle kunna köra asm koden som ett eget projekt i MPASM (alltså som ett vanligt asm program) och följa koden i SIM-ulatorn (MPSIM). Man får bara lägga till lite definitioner för variablerna...
Jag vet inte om det var till någon hjälp, men det visar i alla fall att det kan vara bra att kunna läsa den ASM kod som kompilatorn genererar, och det gäller inte bara för Basic utan alla högnivåspråk.
Jo, det blev en intressant lektion. ASM är bra att kunna som sagt.
Får se om jag stöter på en lösning på varför det inte fungerar.
Men som sagt, koderna var bara lite test för att se lite hur det fungerade (och inte fungerade) i MikroBasic. När jag ska programmera något så brukar jag dela upp det i flera småtester för att sedan göra det slutgiltiga programmet när jag är nöjd med alla smådelar. Mycket smidigare än att modifiera massa grejjer i ett stort program tills man är nöjd...
Har aldrig programmerat i Proton, men koden för FOR-loopen är likadan. Enda skillnaden är att min inte vill fungera.
Ska se vad MikroBasic's support svarar på mitt mail, (om jag nu får det någon gång...)