Rich (BB code):
#include<p18f458.inc>
EOD set ox00
counterPOSS set ox01
counterNEGG set ox02
total_data equ D'150'
org Ox00
goto START
org 0x08
retfie
org 0x18
retfie
org Ox100
START MOVLW UPPER DATA_ARR
MOVFF TBLPTRU
MOVLW HIGH DATA_ARR
MOVFF TBLPTRH
MOVLW LOW DATA_ARR
MOVFF TBLPTRL
CLRF counterPOSS
CLRF counterNEGG
CLRF EOD
LFSR FSR0,Ox300
LFSR FSR1,Ox400
LAGI TBLRD*+
BTFSS TABLAT,7 ;CHECK BIT7==1
BRA POSS ;NO
BRA NEGG ;YES
POSS INCF counterPOSS,F ; INCREASE counterNEGG
MOVFF TABLAT,POSTINC0 ; MOVE FROM TABLAT TO FSR0
INCF EOD,F
CHECK MOVLW D'150'
CPFSEQ EOD,
BRA HABIS ;YES
BRA LAGI ;NO
NEGG INCF counterNEGG,F ; INCREASE counterPOSS
MOVFF TABLAT,POSTINC1 ; MOVE FROM TABLAT FSR1
BRA CHECK
HABIS BRA HABIS;
RADIX DEC
ORG Ox150
DATA_ARR DB 3,97,4,88,120,14,63,0,165,26
DB 28,118,149,80,0,107,171,8,162,25
DB 96,110,11,6,77,0,29,196,123,88
DB 10,57,49,188,20,24,63,0,165,216
DB 12,170,242,119,0,23,52,50,155,81
DB 16, 74,69,01,13,0,89,198,64,53
DB 36,0,211,61,177,0,9,196,123,88
DB 14,70,255,119,0,0,52,150,55,191
DB 6, 174,0,01,133,0, 9,18,22,188
DB 60,200,131,22,59,0,66,19,173,0
DB 20, 78,73,05,138,4,94,202,68,57
DB 42,215,0,0,81,5,14,200,127,98
DB 18,78,205,19,100,60,02,50,0,0
DB 65, 74,70,0,33,0, 89,108,220,08
DB 36,20,0,212,159,0,06,119,173,152
END
Last edited by a moderator: