aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/words/dodo.asm
blob: 3b886945f54015a970dc7f29be3b5b775bdbef9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
; ( limit start -- ) (R: -- loop-sys )
; System
; runtime of do
;VE_DODO:
;    .dw $ff04
;    .db "(do)"
;    .dw VE_HEAD
;    .set VE_HEAD = VE_DODO
XT_DODO:
    .dw PFA_DODO
PFA_DODO:
    ld temp2, Y+
    ld temp3, Y+  ; limit
PFA_DODO1:
    ldi zl, $80
    add temp3, zl
    sub  tosl, temp2
    sbc  tosh, temp3

    push temp3
    push temp2    ; limit  ( --> limit + $8000)
    push tosh
    push tosl     ; start -> index ( --> index - (limit - $8000)
    loadtos
    jmp_ DO_NEXT