Presentation is loading. Please wait.

Presentation is loading. Please wait.

PIC – ch. 2b. Move to GPR Move [copy] contents of WREG  GPR/RAM MOVLW99H;WREG=99H MOVWF0H ;move [copy] WREG contents to location 0h … -Cant move literal.

Similar presentations


Presentation on theme: "PIC – ch. 2b. Move to GPR Move [copy] contents of WREG  GPR/RAM MOVLW99H;WREG=99H MOVWF0H ;move [copy] WREG contents to location 0h … -Cant move literal."— Presentation transcript:

1 PIC – ch. 2b

2 Move to GPR Move [copy] contents of WREG  GPR/RAM MOVLW99H;WREG=99H MOVWF0H ;move [copy] WREG contents to location 0h … -Cant move literal [immediate] values directly into the general-purpose RAM locations in the PIC18. -They must be moved there via WREG. Q: Can literal values directly into SFR?

3 ADDWF ADDLW15H; =15h + [WREG] ADDWFfileReg, D; =[WREG] + [fileReg] Sources: Content of WREG fileReg: Content of file register (special or general) Destination: D  indicates destination bit If D = 0, destination of the result is WREG, or If D = 1, destination is file register

4 Or, ADDWFfileReg, w; =[WREG] + [fileReg] ; destination of the result is WREG ADDWFfileReg, f; =[WREG] + [fileReg] ; destination of the result is fileReg

5 Q. How to clear WREG?  MOVLW0

6 Q. State the contents of file reg. RAM locations 12H and WREG after… MOVLW0 ;WREG = 0 MOVWF12H ; move WREG to location 12 to clear it MOVLW22h ; WREG=22 ADDWF12h, F ;add WREG to loc 12h Loc 12h  22446688 WREG  22222222

7 Q. State the contents of file reg. RAM locations 12H and WREG after… MOVLW0 ;WREG = 0 MOVWF12H ; move WREG to location 12 to clear it MOVLW22h ; WREG=22 ADDWF12h, w ;add WREG to loc 12h Loc 12h  22222222 WREG  22446688

8 Table 2.2 ALU instructions – using both WREG & fileReg ADDWFfileReg, d ; d =W / d =F default is F ADDWFCfileReg, d ;… with carry ANDWF- AND IORWF- OR XORWF- Ex-OR w with f SUBFWB- subtract f from w with borrow SUBWF- subtract w from f SUBWFB- subtract w from f with borrow

9 Table 2.3 File Reg. instructions – using fileReg or WREG as destination COMF fileReg, d ; -complement/invert f DECF-dec f DECFSZ-dec f & skip if zero DECFSNZ -dec f & skip if not zero INC-inc f

10 MOVF-move fileReg NEGF-negative f Rotate right, rotate left SWAPF-swap nipples in fileReg BTG-bit toggle fileReg

11 2.4 PIC Status Flag Register The STATUS register is of most importance to programming the PIC, it contains the arithmetic status of the ALU (Arithmetic Logic Unit), the RESET status and the bank select bit for data memory. 8-bit register Only 5 bits to use by PIC18 Other 3 bits – not used and read as 0

12 C – carry DC – digital carry Z – zero OV– overflow N – negative

13 C It is affected after an 8-bit addition or subtraction, for unsigned arithmetic Ch. 5

14 DC – digital carry / Auxiliary carry flag For BCD [binary coded decimal] arithmetic. When there is a carry from bit-3 to bit-4 during an ADD or SUB – it is set, else, cleared.

15 Z If the result is zero, then Z= 1 Used in arithmetic or logic ops. Z for looping Ch. 3

16 OV – overflow flag OV = 1, when the result of a signed number operation is too large, causing the high-order bit to overflow into the sign bit. For signed arithmetic  OV, N For unsigned arithmetic  C

17 N – negative flag For signed no., bit-7 as the sign bit. If bit-7 = 0  Z=0  result is positive If bit-7 = 1  Z=1  result is negative Ch. 5

18 Some instructions affect all flags – E.g., ADDWL Some inst. – only Z or N flag bits, or both – E.g., ANDWL Some inst. – no flags at all! – E.g., all move instructions, except MOVF

19 Q. Status of C, DC, Z after addition of 38h and 2Fh for - MOVLW38H ADDLW2FH ========= 38h  0011 1000 2Fh  0010 1111 ----------------------------- 67h  0110 0111WREG = 67h

20 C = 0 no carry beyond bit#7 DC = 1carry from b#3 to b#4 Z = 0WREG has a value not zero

21 Q? MOVLW9Ch ADDLW64h

22 C = 1 DC = 1 Z= 1

23 See Table 2.4

24 Conditional branch [jump] InstructionsAction – BCbranch if C = 1 – BNCbranch if C != 0 – BZbranch if Z = 1 – BNZbranch if Z != 0 – BNbranch if N = 1 – BNCbranch if N != 0 – BOVbranch if OV = 1 – BNOV More – ch.3

25 Next…


Download ppt "PIC – ch. 2b. Move to GPR Move [copy] contents of WREG  GPR/RAM MOVLW99H;WREG=99H MOVWF0H ;move [copy] WREG contents to location 0h … -Cant move literal."

Similar presentations


Ads by Google