
малко пояснения за PIC 16F84A ??
днеска реших да инсталирам пак MPLAB за да видя какво съм забравил и какво си спомням от Асемблера и написах една простичка програма която 1-во зарежда константа в 5 псоледователни клетки от паметта и след това нулира клетките. Простичко....
Но след като стигне до нулирането на 5-тата кл. би трябвало програмата да свърши (така съм му кзал), но не е така. Стойностите на Работния р-р започват да броят до 0 и като стигне 0 айде пак от 255

защо е така ? аз ли бъркам нещо ?
моля за малко пояснения
ето го и кода:
list p=16F84A
#include <p16F84A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
ORG H'00'
GOTO start
ch1 EQU B'11000000' давам имена на адресите
ch2 EQU B'11000001'
ch3 EQU B'11000010'
ch4 EQU B'11000011'
ch5 EQU B'11000100'
start MOVLW D'24' зареждам работния р-р с 24
MOVWF ch1 зареждам адресите с 24
MOVLW D'24'
MOVWF ch2
MOVLW D'24'
MOVWF ch3
MOVLW D'24'
MOVWF ch4
MOVLW D'24'
MOVWF ch5
MOVLW ch1 зареждам адреса на 1-вото число
MOVWF FSR в FSR
CLRF INDF нулирам 1-вото число
et1 INCF FSR,1 зареждам адреса на следващото число
CLRF INDF нулирам го
BTFSS FSR,2 проверявам 3-тия по ред бит на FSR, ако е 1 означава че е обработен и 5-тия адрес и би трябвало прог. да иде на E N D, ако е 0 ще се формира още един адрес
GOTO et1
GOTO et2
et2 NOP
end
Да не би да е така, защото NOP нетрябва да стои преди END ?
май имаше нещо такова но не съм сигурен
....а проблема настъпва точно когато стигне до NOP