I am trying to build some projects with some pics.
I am self taught, and think I know the hardware end and C programing
But assembler is new to me, so I am trying to learn it.
Before I ask my specific questions, a general one:
Do you know of any general (or PIC targeted) assembly language
I have tried searching google, but tend to find lots of x86 tutorials
I am currently trying to go through MPLabs tutorials, but their first
example has brought up two questions.
(I have copied the example below my questions)
My first question is: the line
clears the working register W if I understand correctly, where does the
abbreviation WREG come from, is it a convention (that I would be
Also, there is an instruction "clrw" which directly clears W, rather
than the more general "clrf"
why would that not be used.
The other question is: for the lines
clrf COUNT,A ; initialize counter
movf COUNT,W,A ; increase count and
what is the "A"
As I understand it, the variable count will point to a register, which
holds the count, and F or W indicate the register to send the results
to, but what is the "A"
Snippet of assembler
;Start of main program
; The main program code is placed here.
; *** main code goes here ***
----> clrf WREG
movwf PORTC ; clear PORTC
movwf TRISC ; configure PORTC as all outputs
----> clrf COUNT,A ; initialize counter
----> incf COUNT,F,A
----> movf COUNT,W,A ; increase count and
movwf PORTC ; display on PORTC
call Delay ; go to Delay subroutine
goto IncCount ; infinite loop
movwf DVAR2,A ; set outer delay loop
movwf DVAR,A ; set inner delay loop