From 67d25d837ac55f28a366c0a3b262e439a6e75fc3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 19 Aug 2017 12:15:28 +0200 Subject: Add AmForth --- amforth-6.5/avr8/words/d-minus.asm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 amforth-6.5/avr8/words/d-minus.asm (limited to 'amforth-6.5/avr8/words/d-minus.asm') diff --git a/amforth-6.5/avr8/words/d-minus.asm b/amforth-6.5/avr8/words/d-minus.asm new file mode 100644 index 0000000..a458851 --- /dev/null +++ b/amforth-6.5/avr8/words/d-minus.asm @@ -0,0 +1,28 @@ +; ( d1 d2 -- d3 ) +; Arithmetics +; subtract d2 from d1 +VE_DMINUS: + .dw $ff02 + .db "d-" + .dw VE_HEAD + .set VE_HEAD = VE_DMINUS +XT_DMINUS: + .dw PFA_DMINUS +PFA_DMINUS: + ld temp2, Y+ + ld temp3, Y+ + + ld temp4, Y+ + ld temp5, Y+ + ld temp6, Y+ + ld temp7, Y+ + + sub temp6, temp2 + sbc temp7, temp3 + sbc temp4, tosl + sbc temp5, tosh + + st -Y, temp7 + st -Y, temp6 + movw tosl, temp4 + jmp_ DO_NEXT -- cgit v1.2.3