skimask, happy birthday.
I created a new code:
Code:
Zahl VAR WORD
DEFINE OSC 20
WHILE Zahl < 60000
Zahl = Zahl + 1
WEND
There was no lst created but a mac, asm and hex.
mac:
Code:
NOLIST
LABEL?L macro Label
RST?RP
ifdef PM_USED
LALL
Label
XALL
else
Label
endif
endm
ADD?WCW macro Win, Cin, Wout
if (Wout == Win)
if (Cin == 1)
CHK?RP Wout
incf Wout, F
btfsc STATUS, Z
incf Wout + 1, F
else
movlw low (Cin)
CHK?RP Wout
addwf Wout, F
if (((Cin) >> 8) == 0)
btfsc STATUS, C
incf Wout + 1, F
else
movlw (Cin) >> 8
btfsc STATUS, C
addlw 1
addwf Wout + 1, F
endif
endif
else
movlw low (Cin)
CHK?RP Win
addwf Win, W
MOVE?AB Wout
if (((Cin) >> 8) == 0)
MOVE?BA Win + 1
btfsc STATUS, C
addlw 1
MOVE?AB Wout + 1
else
movlw (Cin) >> 8
btfsc STATUS, C
addlw 1
CHK?RP Win
addwf Win + 1, W
MOVE?AB Wout + 1
endif
endif
endm
CMPGE?WCL macro Win, Cin, Label
MOVE?WW Win, R0
MOVE?CB (Cin) >> 8, R1 + 1
MOVE?CA low (Cin)
L?CALL CMPGE
BIT?GOTO 0, STATUS, Z, Label
endm
CMPGE_USED = 1
GOTO?L macro Label
L?GOTO Label
endm
LIST
asm:
Code:
PM_USED EQU 1
INCLUDE "16F628A.INC"
; Define statements.
#define OSC 20
RAM_START EQU 00020h
RAM_END EQU 0014Fh
RAM_BANKS EQU 00003h
BANK0_START EQU 00020h
BANK0_END EQU 0007Fh
BANK1_START EQU 000A0h
BANK1_END EQU 000EFh
BANK2_START EQU 00120h
BANK2_END EQU 0014Fh
EEPROM_START EQU 02100h
EEPROM_END EQU 0217Fh
R0 EQU RAM_START + 000h
R1 EQU RAM_START + 002h
R2 EQU RAM_START + 004h
R3 EQU RAM_START + 006h
R4 EQU RAM_START + 008h
R5 EQU RAM_START + 00Ah
R6 EQU RAM_START + 00Ch
R7 EQU RAM_START + 00Eh
R8 EQU RAM_START + 010h
FLAGS EQU RAM_START + 012h
GOP EQU RAM_START + 013h
RM1 EQU RAM_START + 014h
RM2 EQU RAM_START + 015h
RR1 EQU RAM_START + 016h
RR2 EQU RAM_START + 017h
_Zahl EQU RAM_START + 018h
_PORTL EQU PORTB
_PORTH EQU PORTA
_TRISL EQU TRISB
_TRISH EQU TRISA
INCLUDE "KKK.MAC"
INCLUDE "PBPPIC14.LIB"
LABEL?L L00001
CMPGE?WCL _Zahl, 0EA60h, L00002
ADD?WCW _Zahl, 001h, _Zahl
GOTO?L L00001
LABEL?L L00002
END
How do you filter out the information needed?
Bookmarks