..I'm paste same line xxxxxxxxxxxxx n time, 3 time (until this argument is smaller than 1024) works, and after wont
any line i tried lcdout "test test test" or any other.... same result after this 6xxx bytes

Code:
Free_cycle:                                      ' when idle

if !cntupflag and !cntdownflag then 

   if !IdleCnt then 
        ReadCODE  (PreAddrTable + Idleoffset),Idlefrom
        ReadCODE  (PreAddrTable + Idleoffset + 1),Idleto
lcdout com,l1
        for a=Idlefrom to Idlefrom + 3           
            ReadCODE  (PressetTable + a),IdleParams[a]
b=IdleParams[a]         
lcdout # a,"_",# b,","                                                              ' copy of this line cause agument out of range error126 but same line on another place works, or if i erase something else (to make space) this works too
        next a
   endif   
        offset = Idlefrom + 4 + (IdleCnt*6)           'my coments 
        ReadCODE  (PressetTable + Offset),bd   
        ReadCODE  (PressetTable + Offset+1),bc
        ReadCODE  (PressetTable + Offset+2),bb
        ReadCODE  (PressetTable + Offset+3),ba
        ReadCODE  (PressetTable + Offset+4),ch[32]
        ReadCODE  (PressetTable + Offset+5),ch[33]

'hserout ["idle_from=",dec idlefrom," to=",dec idleto," offs=",dec offset,"|cnt=",dec idlecnt,13,10]    
'high led3
pause 4*IdleParams[3]
'low led3
IF idleParams[0] > 50 THEN
   RISE = 5
   SWITCH = 1
ELSE
    RISE = idleParams[0]
    SWITCH = 0
ENDIF
mac file at 560 line (blued) is it normal that this piece of macro is in asm, aqua color ?

Name:  ide.png
Views: 1736
Size:  78.1 KB


whole macro code if means anithing


Code:
	NOLIST
; PICBASIC PRO(TM) Compiler 2.60C, (c) 1998, 2011 microEngineering Labs, Inc. All Rights Reserved. 

LABEL?L macro Label
        RST?RP
    ifdef PM_USED
        LALL
Label
        XALL
    else
Label
    endif
    endm

AIN?BBB macro Bin, Bout, Bndx
	MOVE?BA	Bndx
        addlw   low (Bout)
        movwf   FSR0L
	movlw	(Bout) >> 8
	clrf	FSR0H
	addwfc	FSR0H, F
        MOVE?BB Bin, INDF0
    endm

AIN?BBW macro Bin, Bout, Wndx
	MOVE?WA	Wndx
        addlw   low (Bout)
        movwf   FSR0L
	movlw	(Bout) >> 8
	addwfc	(Wndx) + 1, W
	movwf	FSR0H
        MOVE?BB Bin, INDF0
    endm

AIN?CBB macro Cin, Bout, Bndx
	MOVE?BA	Bndx
        addlw   low (Bout)
        movwf   FSR0L
	movlw	(Bout) >> 8
	clrf	FSR0H
	addwfc	FSR0H, F
        MOVE?CB Cin, INDF0
    endm

AIN?WBB macro Win, Bout, Bndx
	MOVE?BA	Bndx
        addlw   low (Bout)
        movwf   FSR0L
	movlw	(Bout) >> 8
	clrf	FSR0H
	addwfc	FSR0H, F
        MOVE?WB Win, INDF0
    endm

AOUT?BBB macro Bin, Bndx, Bout
        MOVE?BA Bndx
        addlw   low (Bin)
        movwf   FSR0L
	movlw	(Bin) >> 8
	clrf	FSR0H
	addwfc	FSR0H, F
        MOVE?BB INDF0, Bout
    endm

ADD?BBB macro Bin1, Bin2, Bout
    if ((Bout) == (Bin1))
        MOVE?BA Bin2
        CHK?RP  Bin1
        addwf   Bin1, F
    else
      if ((Bout) == (Bin2))
        MOVE?BA Bin1
        CHK?RP  Bin2
        addwf   Bin2, F
      else
        MOVE?BA Bin1
        CHK?RP  Bin2
        addwf   Bin2, W
        MOVE?AB Bout
      endif
    endif
    endm

ADD?BBW macro Bin1, Bin2, Wout
        MOVE?BA Bin1
        CHK?RP  Bin2
        addwf   Bin2, W
        MOVE?AW Wout
        rlcf    (Wout) + 1, F
    endm

ADD?BCB macro Bin, Cin, Bout
    if ((Bout) == (Bin))
      if ((Cin) == 1)
        CHK?RP  Bout
        incf    Bout, F
      else
        movlw   Cin
        CHK?RP  Bin
        addwf   Bin, F
      endif
    else
      if ((Cin) == 1)
        CHK?RP  Bin
        incf    Bin, W
        MOVE?AB Bout
      else
        movlw   Cin
        CHK?RP  Bin
        addwf   Bin, W
        MOVE?AB Bout
      endif
    endif
    endm

ADD?BCW macro Bin, Cin, Wout
    if ((Cin) == 1)
	CHK?RP	Bin
	incf	Bin, W
    else
        movlw   low (Cin)
        CHK?RP  Bin
        addwf   Bin, W
    endif
        MOVE?AW Wout
    if (((Cin) >> 8) == 0)
        rlcf    (Wout) + 1, F
    else
        movlw   (Cin) >> 8
        addwfc  (Wout) + 1, F
    endif
    endm

ADD?CBW macro Cin, Bin, Wout
    if ((Cin) == 1)
	CHK?RP	Bin
	incf	Bin, W
    else
        movlw   low (Cin)
        CHK?RP  Bin
        addwf   Bin, W
    endif
        MOVE?AW Wout
    if (((Cin) >> 8) == 0)
        rlcf    (Wout) + 1, F
    else
        movlw   (Cin) >> 8
        addwfc  (Wout) + 1, F
    endif
    endm

ADD?CWW macro Cin, Win, Wout
    if ((Wout) == (Win))
        CHK?RP  Wout
      if ((Cin) == 1)
        incf    Wout, F
      else  
        movlw   low (Cin)
        addwf   Wout, F
      endif
        movlw   (Cin) >> 8
        addwfc  (Wout) + 1, F
    else
        CHK?RP  Win
      if ((Cin) == 1)
        incf    Win, W
      else
        movlw   low (Cin)
        addwf   Win, W
      endif
        MOVE?AB Wout
        movlw   (Cin) >> 8
        CHK?RP  Win
        addwfc  (Win) + 1, W
        MOVE?AB (Wout) + 1
    endif
    endm

ADD?WCW macro Win, Cin, Wout
    if ((Wout) == (Win))
        CHK?RP  Wout
      if ((Cin) == 1)
        incf    Wout, F
      else  
        movlw   low (Cin)
        addwf   Wout, F
      endif
        movlw   (Cin) >> 8
        addwfc  (Wout) + 1, F
    else
        CHK?RP  Win
      if ((Cin) == 1)
        incf    Win, W
      else
        movlw   low (Cin)
        addwf   Win, W
      endif
        MOVE?AB Wout
        movlw   (Cin) >> 8
        CHK?RP  Win
        addwfc  (Win) + 1, W
        MOVE?AB (Wout) + 1
    endif
    endm

ADD?WWW macro Win1, Win2, Wout
    if ((Wout) == (Win1))
        MOVE?BA Win2
        CHK?RP  Wout
        addwf   Wout, F
        MOVE?BA (Win2) + 1
        CHK?RP  Wout
        addwfc  (Wout) + 1, F
    else
      if ((Wout) == (Win2))
        MOVE?BA Win1
        CHK?RP  Wout
        addwf   Wout, F
        MOVE?BA (Win1) + 1
        CHK?RP  Wout
        addwfc  (Wout) + 1, F
      else
        MOVE?BA Win1
        CHK?RP  Win2
        addwf   Win2, W
        MOVE?AB Wout
        MOVE?BA (Win1) + 1
        CHK?RP  Win2
        addwfc  (Win2) + 1, W
        MOVE?AB (Wout) + 1
      endif
    endif
    endm

DIV?WCB macro Win, Cin, Bout
    if ((Cin) == 2)
        CHK?RP  Win
        rrcf    (Win) + 1, W
        rrcf    Win, W
        MOVE?AB Bout
    else
        MOVE?WW Win, R0
        MOVE?CW Cin, R1
        L?CALL  DIV
        MOVE?AB Bout
    endif
    endm
DIV_USED = 1

MUL?BCW macro Bin, Cin, Wout
        MOVE?BW Bin, R3
        MOVE?CW Cin, R1
        L?CALL  MUL
        MOVE?AWW R2, Wout
    endm
MUL_USED = 1

MUL?CBW macro Cin, Bin, Wout
        MOVE?CW Cin, R3
        MOVE?BW Bin, R1
        L?CALL  MUL
        MOVE?AWW R2, Wout
    endm
MUL_USED = 1

SUB?BBW macro Bin1, Bin2, Wout
        MOVE?BA Bin2
        CHK?RP  Bin1
        subwf   Bin1, W
        MOVE?AW Wout
        btfss   STATUS, C
        decf    (Wout) + 1, F
    endm

SUB?BCB macro Bin, Cin, Bout
    if ((Bout) == (Bin))
      if ((Cin) == 1)
        CHK?RP  Bout
        decf    Bout, F
      else
        movlw   Cin
        CHK?RP  Bout
        subwf   Bout, F
      endif
    else
      if ((Cin) == 1)
        CHK?RP  Bin
        decf    Bin, W
      else
        movlw   Cin
        CHK?RP  Bin
        subwf   Bin, W
      endif
        MOVE?AB Bout
    endif
    endm

AND?BCB macro Bin, Cin, Bout
    if (Bout == Bin)
        movlw   Cin
        CHK?RP  Bin
        andwf   Bin, F
    else
        movlw   Cin
        CHK?RP  Bin
        andwf   Bin, W
        MOVE?AB Bout
    endif
    endm

AND?BWW macro Bin, Win, Wout
    if (Wout == Win)
        MOVE?BA Bin
        CHK?RP  Wout
        andwf   Wout, F
        clrf    Wout + 1
    else
        MOVE?BA Bin
        CHK?RP  Win
        andwf   Win, W
        MOVE?AW Wout
    endif
    endm

LAND?BBW macro Bin1, Bin2, Wout
        MOVE?BB Bin1, R0
        MOVE?BA Bin2
        L?CALL  LAND
        MOVE?AB Wout
        movwf   Wout + 1
    endm
LAND_USED = 1

LAND?TBW macro Regin, Bitin, Bin, Wout
        MOVE?TB Regin, Bitin, R0
        MOVE?BA Bin
        L?CALL  LAND
        MOVE?AB Wout
        movwf   Wout + 1
    endm
LAND_USED = 1

LNOT?TB macro Regin, Bitin, Bout
        CHK?RP  Regin
        clrf    WREG
        btfss   Regin, Bitin
        movlw   -1
        MOVE?AB Bout
    endm

CMPT?BL macro Bin, Label
        CLRWDT?
        MOVE?BA Bin
        BIT?GOTO 0, STATUS, Z, Label
    endm

CMPT?TL macro Regin, Bitin, Label
        CLRWDT?
        BIT?GOTO 1, Regin, Bitin, Label
    endm

CMPF?TL macro Regin, Bitin, Label
        CLRWDT?
        BIT?GOTO 0, Regin, Bitin, Label
    endm

CMPF?WL macro Win, Label
        CLRWDT?
        MOVE?BA Win
        iorwf   (Win) + 1, W
        BIT?GOTO 1, STATUS, Z, Label
    endm

CMPGE?BBL macro Bin1, Bin2, Label
        CLRWDT?
        MOVE?BA Bin2
        CHK?RP  Bin1
        subwf   Bin1, W
        BIT?GOTO 1, STATUS, C, Label
    endm

CMPGT?BCL macro Bin, Cin, Label
    if ((Cin) < 0)
        L?GOTO  Label
    else
      if ((Cin) < 0ffh)
        CLRWDT?
        MOVE?CA (Cin) + 1
        CHK?RP  Bin
        subwf   Bin, W
        BIT?GOTO 1, STATUS, C, Label
      endif
    endif
    endm

CMPGT?BWL macro Bin, Win, Label
        MOVE?BW Bin, R0
        MOVE?WWA Win, R1
        L?CALL  CMPGT
        BIT?GOTO 0, STATUS, Z, Label
    endm
CMPGT_USED = 1

CMPLE?BBL macro Bin1, Bin2, Label
        CLRWDT?
        MOVE?BA Bin1
        CHK?RP  Bin2
        subwf   Bin2, W
        BIT?GOTO 1, STATUS, C, Label
    endm

CMPLE?BCL macro Bin, Cin, Label
    if ((Cin) >= 0ffh)
        L?GOTO  Label
    else
      if ((Cin) >= 0)
        CLRWDT?
        MOVE?CA (Cin) + 1
        CHK?RP  Bin
        subwf   Bin, W
        BIT?GOTO 0, STATUS, C, Label
      endif
    endif
    endm

CMPLT?BBL macro Bin1, Bin2, Label
        CLRWDT?
        MOVE?BA Bin2
        CHK?RP  Bin1
        subwf   Bin1, W
        BIT?GOTO 0, STATUS, C, Label
    endm

CMPLT?BCL macro Bin, Cin, Label
    if ((Cin) >= 100h)
        L?GOTO  Label
    else
      if ((Cin) > 0)
        CLRWDT?
        MOVE?CA Cin
        CHK?RP  Bin
        subwf   Bin, W
        BIT?GOTO 0, STATUS, C, Label
      endif
    endif
    endm

CMPNE?BCL macro Bin, Cin, Label
    if (((Cin) > -100h) & ((Cin) < 100h))
        CLRWDT?
        MOVE?BA Bin
        sublw   Cin
        BIT?GOTO 0, STATUS, Z, Label
    else
        L?GOTO  Label
    endif
    endm

CMPNE?TCL macro Regin, Bitin, Cin, Label
    if ((Cin) == 0)
        CLRWDT?
        BIT?GOTO 1, Regin, Bitin, Label
    else
      if ((Cin) == 1)
        CLRWDT?
        BIT?GOTO 0, Regin, Bitin, Label
      else
        L?GOTO  Label
      endif
    endif
    endm

SHIFTL?BCB macro Bin, Cin, Bout
    if ((Cin) == 1)
        bcf     STATUS, C
      if ((Bout) == (Bin))
        CHK?RP  Bout
        rlcf    Bout, F
      else
        CHK?RP  Bin
        rlcf    Bin, W
        MOVE?AB Bout
      endif
    else
        MOVE?BB Bin, R0
        movlw   Cin
        L?CALL  SHIFTL
        MOVE?AB Bout
    endif
    endm
SHIFTL_USED = 1

SHIFTL?CBW macro Cin, Bin, Wout
        MOVE?CW Cin, R0
        MOVE?BA Bin
        L?CALL  SHIFTL
        MOVE?AWW R0, Wout
    endm
SHIFTL_USED = 1

SHIFTL?WCW macro Win, Cin, Wout
    if ((Cin) == 1)
        bcf     STATUS, C
      if ((Wout) == (Win))
        CHK?RP  Wout
        rlcf    Wout, F
        rlcf    Wout + 1, F
      else
        CHK?RP  Win
        rlcf    Win, W
        MOVE?AB Wout
        CHK?RP  Win
        rlcf    Win + 1, W
        MOVE?AB Wout + 1
      endif
    else
        MOVE?WW Win, R0
        movlw   Cin
        L?CALL  SHIFTL
        MOVE?AWW R0, Wout
    endif
    endm
SHIFTL_USED = 1

SHIFTR?CBW macro Cin, Bin, Wout
        MOVE?CW Cin, R0
        MOVE?BA Bin
        L?CALL  SHIFTR
        MOVE?AWW R0, Wout
    endm
SHIFTR_USED = 1

ASM? macro
        RST?RP
    endm

BRANCH?BCL macro Bin, Cin, Label
    local jmptbl
	MOVE?BA	Bin
	movwf	R0
	sublw	(Cin) - 1
	BIT?GOTO 0, STATUS, C, Label
	clrf	PCLATH
	clrf	PCLATU
	rlcf	R0, F
	rlcf	PCLATH, F
	movlw	low (jmptbl)
	addwf	R0, F
	movlw	high (jmptbl)
	addwfc	PCLATH, F
	movlw	upper (jmptbl)
	addwfc	PCLATU, F
	movf	R0, W
	movwf	PCL
jmptbl
    endm

BRGOTO?L macro Label
        bra     Label
    endm

CLEAR? macro
    local loop
      ifdef USE_LFSR
        lfsr    0, RAM_END
      else
	MOVE?CW	RAM_END, FSR0L
      endif
loop    clrf    POSTDEC0
        movf    FSR0L, W
        iorwf   FSR0H, W
        bnz     loop
        clrf    INDF0
    endm
CLEAR_USED = 1

DDISABLE? macro
    endm

DENABLE? macro
    endm

END? macro
    local loop
loop    sleep
        L?GOTO  loop
    endm

ENDASM? macro
    endm

GOSUB?L macro Label
    local dlabel
    ifdef DEBUG_STACK
        CHK?RP  DEBUG_STACK
      ifdef DEBUG_STACK_ADDR
        bcf     STATUS, C
        rlcf    DEBUG_STACK, W
        addlw   DEBUG_STACK_ADDR
        movwf   FSR0L
        clrf    FSR0H
        movlw   low (dlabel)
        movwf   POSTINC0
        movlw   high (dlabel)
        movwf   INDF0
      endif
        incf    DEBUG_STACK, F
    endif
        L?CALL  Label
dlabel
    endm

GOTO?L macro Label
        L?GOTO  Label
    endm

HIGH?T macro Regin, Bitin
        MOVE?CT 1, Regin, Bitin
        MOVE?CT 0, ((Regin) + 12h), Bitin
    endm

LCDOUT?C macro Cin
        movlw   Cin
        L?CALL  LCDOUT
    endm
LCDOUT_USED = 1

LCDOUTD?B macro Bin
        MOVE?BA Bin
        L?CALL  LCDOUTDEC
    endm
LCDOUTDEC_USED = 1

LCDOUTCOUNT?C macro Cin
        MOVE?CB Cin, R4 + 1
    endm

LCDOUTNUM?B macro Bin
        MOVE?BW Bin, R2
    endm

LCDOUTBIN? macro
        MOVE?CW LCDOUTJ, R8
        L?CALL  SEROUT2BIN
    endm
LCDOUTJ_USED = 1
SEROUT2BIN_USED = 1

LCDOUTDEC? macro
        MOVE?CW LCDOUTJ, R8
        L?CALL  SEROUT2DEC
    endm
LCDOUTJ_USED = 1
SEROUT2DEC_USED = 1

LOW?T macro Regin, Bitin
        MOVE?CT 0, Regin, Bitin
        MOVE?CT 0, ((Regin) + 12h), Bitin
    endm

NEXT?BCL macro Bin, Cin, Label
    if ((Cin) == 1)
        CHK?RP  Bin
        incf    Bin, F
    else
        movlw	Cin
        CHK?RP  Bin
        addwf   Bin, F
    endif
    if ((Cin) <= 255)
        BIT?GOTO 0, STATUS, C, Label
    endif
    endm

PAUSE?C macro Cin
    if (((Cin) >> 8) == 0)
        MOVE?CA Cin
        L?CALL  PAUSE
    else
        MOVE?CB (Cin) >> 8, R1 + 1
        MOVE?CA low (Cin)
        L?CALL  PAUSEL
    endif
    endm
PAUSE_USED = 1

PAUSE?W macro Win
        MOVE?WWA Win, R1
        L?CALL  PAUSEL
    endm
PAUSE_USED = 1

PAUSEUS?C macro Cin
    if (((Cin) >> 8) == 0)
        movlw   Cin
        L?CALL  PAUSEUS
    else
        MOVE?CB (Cin) >> 8, R0 + 1
        MOVE?CA low (Cin)
        L?CALL  PAUSEUSL
    endif
    endm
PAUSEUS_USED = 1

READCODE?WB macro Win, Bout
	MOVE?WW	Win, TBLPTRL
	L?CALL	READCODE
        MOVE?AB Bout
    endm
READCODE_USED = 1

READCODE?WW macro Win, Wout
	MOVE?WW	Win, TBLPTRL
	L?CALL	READCODE
        MOVE?AB Wout
	MOVE?BB	TABLAT, Wout + 1
    endm
READCODEW_USED = 1

RETURN? macro
    ifdef DEBUG_STACK
        CHK?RP  DEBUG_STACK
        decf    DEBUG_STACK, F
    endif
        RST?RP
        return
    endm

TOGGLE?T macro Regin, Bitin
        BIT?FLIP Regin, Bitin
        MOVE?CT 0, ((Regin) + 12h), Bitin
    endm


	LIST