~vertigo/shoehorn

121c191c77adc4222b32078913a7ddb4e0dfe341 — Samuel A. Falvo II 6 months ago 1ce7a9e main
Fix broken DO and ?DO loop counter logic
1 files changed, 3 insertions(+), 2 deletions(-)

M w65c816.fs
M w65c816.fs => w65c816.fs +3 -2
@@ 66,6 66,7 @@ CREATE vocab
: ldad,x ( dp - )           s" lda" dp,x ;
: adcd,x ( dp - )           s" adc" dp,x ;
: ldad,s ( dp - )           s" lda" dp,s ;
: stad,s ( dp - )           s" sta" dp,s ;
: cmpd,s ( dp - )           s" cmp" dp,s ;
: rts ( -- )                s" rts" implied ;
: .word ( n -- )            s" .word" abs# ;


@@ 106,8 107,8 @@ CREATE vocab
  3 cmpd,s
  bnel
  pla pla ;
: emit:loop ( L L -- )      1 ldad,s inc loop-common ;
: emit:+loop ( L L -- )     inx inx 1 ldad,s clc 2 adcd,x loop-common ;
: emit:loop ( L L -- )      1 ldad,s inc 1 stad,s loop-common ;
: emit:+loop ( L L -- )     inx inx 1 ldad,s clc 2 adcd,x 1 stad,s loop-common ;  ( UNTESTED )


VARIABLE hsh