; ( limit counter -- ) ; R( -- limit counter ) ; runtime of do ;VE_DODO: ; .db 4, "(do)", 0 ; .dw VE_HEAD ; .set VE_HEAD = VE_DODO XT_DODO: .dw PFA_DODO PFA_DODO: ; put the content of the next flash cell on return stack ; it is the address of the instruction _after_ the (+)loop movw zl, xl lsl zl rol zh lpm temp0, Z+ lpm temp1, Z+ adiw xl, 1 ; adjust to NEXT+1 = jump over <mark (for leave) ld temp2, Y+ ld temp3, Y+ PFA_DODO1: push temp1 push temp0 push temp3 push temp2 push tosh push tosl loadtos rjmp DO_NEXT