PIC Assembly Language
{"Image DocumentName": "PIC Assembly Language", "Image ImageDescription": "The PIC16F8X adopts the PDP11 paradigm (for the destination designator d is the second operand in a two register operand instruction) in a non-orthogonal way, however, as the above three different mov instructions clearly show. It would be much clearer to write, for example: mov fr, w, mov w, fr and mov # literal, w (as did the PDP11). As an example, (adapted from PIC s datasheet) this program fragment fills the 68 General Purpose Registers (GPR) addresses 0xC thru 0x4F, with the constant. oxFF: movlw 0xc ; oxc => w. movwf FSR ; 0xc => FSR. loop: movlw 0x50 ; 0x50 => W (last GPR number + 1) clrf INDF ;clear memory at address (FSR) decf INDF,1 ; set memory at addr (FSR) to FF. incf FSR, 1 ; FSR points to next file register. subwf FSR, w ; (FSR) - 50h => W. bnz loop ; if result # 0 goto loop.", "Image XResolution": "37", "Image YResolution": "37", "Image ResolutionUnit": "Pixels/Centimeter", "Image Software": "SlidePlayer", "Image YCbCrPositioning": "Centered"}