;DODAWANIE DWOCH LICZB DWUBAJTOWYCH WYNIK 2 LUB 3 BAJTOWY list p=16f1517 #include <p16f1517.inc> ORG 0x000 ; poczatek programu L1L equ 0x23 ; młodszy bajt liczby L1 - dwubajtowej L1H equ 0x22 ; starszy bajt liczby L1 - dwubajtowej L2L equ 0x25 ; młodszy bajt liczby L2 - dwubajtowej L2H equ 0x24 ; starszy bajt liczby L2 - dwubajtowej WynL1 equ 0x35 ; wynik dwubjatowy WynL2 equ 0x34 ; wynik dwubjatowy WynH1 equ 0x33 ; wynik trzybajtowy ; wyczyszczenie rejestrów clrf L1L clrf L1H clrf L2L clrf L2H clrf WynH1 clrf WynL1 clrf WynL2 ; dodajemy liczby FDE8 i D0EA ;dodawanie młodszych bajtów movlw 0x4D ; ładujemy do akumulatora młodszy bajt liczby L1, movwf L1L ; przenosiamy do rejestru L1L movlw 0x5B ; ładujemy do akumulatora młodszy bajt liczby L2, movwf L2L ; przenosimy do rejestru L2L addwf L1L,w ; dodajemy do L1L to co w akumulatorze movwf WynL1 ; przeniesienie do WynL1 wyniku dodawania młodszych bajtów liczb L1 i L2 ; jeśli nastapiło przeniesienie btfsc STATUS,C ;sprawdz bit C rejestru status, incf WynL2 ; zwiększamy WynL2 bo wystąpiło przeniesienie ; dodawanie starszych bajtów movlw 0x50 ; ładujemy do akumulatora starszy bajt liczby L1, movwf L1H ; przenosiamy do rejestru L1H movlw 0x65 ; ładujemy do akumulatora starszy bajt liczby L2 movwf L2H ; przenosiamy do rejestru L2H addwf L1H,w ; dodajemy do L1H to co w akumulatorze ; sprawdzamy przeniesienie - jeśli nastąpiło to 3 bajtowy wynik btfsc STATUS,C ;sprawdz bit C rejestru status, incf WynH1 ;zwiększamy WynH1 bo wystąpiło przeniesienie ; zapisujemy drugi bajt wyniku addwf WynL2,w ; dodajemy do WynL2 to co w akumulatorze movwf WynL2 ; przenosimy do rejestru WynL2 end ; koniec
Standard input is empty
prog.asm:4: error: parser: instruction expected prog.asm:5: error: label or instruction expected at start of line prog.asm:7: error: parser: instruction expected prog.asm:18: error: parser: instruction expected prog.asm:19: error: symbol `clrf' redefined prog.asm:19: error: parser: instruction expected prog.asm:20: error: symbol `clrf' redefined prog.asm:20: error: parser: instruction expected prog.asm:21: error: symbol `clrf' redefined prog.asm:21: error: parser: instruction expected prog.asm:22: error: symbol `clrf' redefined prog.asm:22: error: parser: instruction expected prog.asm:23: error: symbol `clrf' redefined prog.asm:23: error: parser: instruction expected prog.asm:24: error: symbol `clrf' redefined prog.asm:24: error: parser: instruction expected prog.asm:27: error: parser: instruction expected prog.asm:28: error: parser: instruction expected prog.asm:29: error: symbol `movlw' redefined prog.asm:29: error: parser: instruction expected prog.asm:30: error: symbol `movwf' redefined prog.asm:30: error: parser: instruction expected prog.asm:31: error: parser: instruction expected prog.asm:33: error: symbol `movwf' redefined prog.asm:33: error: parser: instruction expected prog.asm:36: error: parser: instruction expected prog.asm:37: error: parser: instruction expected prog.asm:40: error: symbol `movlw' redefined prog.asm:40: error: parser: instruction expected prog.asm:41: error: symbol `movwf' redefined prog.asm:41: error: parser: instruction expected prog.asm:42: error: symbol `movlw' redefined prog.asm:42: error: parser: instruction expected prog.asm:43: error: symbol `movwf' redefined prog.asm:43: error: parser: instruction expected prog.asm:44: error: symbol `addwf' redefined prog.asm:44: error: parser: instruction expected prog.asm:47: error: symbol `btfsc' redefined prog.asm:47: error: parser: instruction expected prog.asm:48: error: symbol `incf' redefined prog.asm:48: error: parser: instruction expected prog.asm:51: error: symbol `addwf' redefined prog.asm:51: error: parser: instruction expected prog.asm:52: error: symbol `movwf' redefined prog.asm:52: error: parser: instruction expected
Standard output is empty