aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/words/rshift.asm
blob: e0e22310c9b61138fac7b1f84002be2cb041f1c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; ( n1 n2 -- n3 ) 
; Arithmetics
; shift n1 n2-times logically right
VE_RSHIFT:
    .dw $ff06
    .db "rshift"
    .dw VE_HEAD
    .set VE_HEAD = VE_RSHIFT
XT_RSHIFT:
    .dw PFA_RSHIFT
PFA_RSHIFT:
    movw zl, tosl
    loadtos
PFA_RSHIFT1:
    sbiw zl, 1
    brmi PFA_RSHIFT2
    lsr tosh
    ror tosl
    rjmp PFA_RSHIFT1
PFA_RSHIFT2:
    jmp_ DO_NEXT