Hoppas nån som har lite koll på PIC kan hjälpa mig med detta:
Jag har skrivit mitt allra första assemlbler-program (för PIC) i MPLAB:
;*************************************************************
list p=16f628A ; list directive to define processor
#include <p16f628A.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _ER_OSC_CLKOUT & _MCLRE_ON & _LVP_ON
;*************************************************************
clrf PORTA
movlw 0x07
movwf CMCON ;CMCON är 0000 0111
bsf STATUS,5
bcf STATUS,6
movlw b'00010000' ;Tala om vad som är in- och utportar
movwf TRISA
bcf STATUS,5 ;Väljer bank0 igen
bsf PORTA,0 ;Tänder LED på port RA0
bsf PORTA,1 ;Tänder LED på port RA1
END
;*************************************************************
När jag simulerar i MPLAB SIM får jag mycket riktigt PORTA att bli 0x03, så bit 0 och 1 verkar sättas som jag vill. När jag skickar över detta till PIC:en, tänds dock inte mina lysdioder på RA0 och RA1. Jag har verifierat att PIC:en och lysdioderna är rätt inkopplade med ett annat program.
Simulatorn spottar ur sig nåt om Stack underflow, som jag tyvärr inte har en susning om vad det betyder. Jag vet vad stacken är, och overflow har jag hört talas om, men underflow...? Alla tips är välkomna!
