1. , 3.13.
2. .
3. .
4. .
5. (F7) STATUS, FSR 20h 31h.
6. , , .
#include P16F877.inc
;******************* ZAPOLN *********************************
; (0FFh) 32- 21h
;************************************************************************
TMP equ 20h;
; TMP
MASKA equ 0ffh;
org 0x00;
goto START; START
org 0x06;
START:
bcf STATUS,RP0; 0-
bcf STATUS,RP1;
movlw 21h; w = 21h,
movwf FSR; FSR = w,
movlw 20h; w = 20h
movwf TMP; TMP = w,
NEXT:
movlw MASKA; w = 0FFh(MASKA)
movwf INDF; @FSR = w = FFh,
incf FSR,F; FSR = FSR+1
decfsz TMP,F; TMP = TMP-1
goto NEXT; NEXT, TMP>0
; TMP=0
end
3.13
:
1. , : FFh, ABh, DDh, . . : 4Fh 0ABh. : 0xFF hFF.
2. : incf FSR,1, FSR, : incf FSR,0 W. , : incf FSR,F incf FSR,W.
3. MASKA 21h 41h.
4. : LAB- \ Lab_Digital \ Mps_2\ \ zapoln.asm
1. W ?
2. , :
DAT equ 0x78
bsf STATUS, 5
bcf STATUS, RP1
movlw DAT
movwf TRISB
3. :
clrw
movwf TMP
comf TMP,W
4. :
START: movlw 21h
movwf FSR
movlw 5fh
movwf TMP
clrf INDF
incf FSR,F
decfsz TMP,F
goto $-3
end
3.4 4
ɻ
|
|
, , , , .
6 , 8- . , , .
3.6
ADDWF | f, d | W f | C,DC,Z |
ADDWF | f, W | (f) + (W) (W) | |
ADDWF | f, F | (f) + (W) (f) | |
ADDLW | k | W | C,DC,Z |
(W) + (k) (W) | |||
DECF | f, d | 1 f | Z |
DECF | f, W | (f) - 1 (W) | |
DECF | f, F | (f) 1 (f) | |
INCF | f, d | 1 f | Z |
INCF | f, W | (f) + 1 (W) | |
INCF | f, F | (f) + 1 (f) | |
SUBWF | f, d | W f | C,DC,Z |
SUBWF | f, W | (f) - (W) (W) | |
SUBWF | f, F | (f) - (W) (f) | |
SUBLW | k | W | C,DC,Z |
k - (W) (W) |
, (STATUS<0>), .
, 4 : a1, a2, a3, itog1. , , 3.7, . , . itog1.