aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/words/lshift.asm
blob: 201652597334a5a343a70fb0207332bd1d435264 (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
; logically shift n1 left n2 times
VE_LSHIFT:
    .dw $ff06
    .db "lshift"
    .dw VE_HEAD
    .set VE_HEAD = VE_LSHIFT
XT_LSHIFT:
    .dw PFA_LSHIFT
PFA_LSHIFT:
    movw zl, tosl
    loadtos
PFA_LSHIFT1:
    sbiw zl, 1
    brmi PFA_LSHIFT2
    lsl tosl
    rol tosh
    rjmp PFA_LSHIFT1
PFA_LSHIFT2:
    jmp_ DO_NEXT