.org pos_ ; restore PC
.endm
+;------------------------------------------------
+;
+;
+.macro ljmp
+ .if FLASHEND > 0x0fff
+ jmp @0
+ .else
+ rjmp @0
+ .endif
+.endm
+
+;------------------------------------------------
+;
+;
+.macro lcall
+ .if FLASHEND > 0x0fff
+; call @0
+
+ .ifdef @0
+ .if abs(PC - @0) > 2048
+ call @0
+ .else
+ rcall @0
+ .endif
+ .else
+ call @0
+ .endif
+ .else
+ rcall @0
+ .endif
+.endm
+
;------------------------------------------------
; Print string.
; printstring "String"
; print cr, lf
.macro printnewline
- rcall printstr
+ lcall printstr
.db 13,0
.endm