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/msp430/words/sm-rem.asm | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 amforth-6.5/msp430/words/sm-rem.asm (limited to 'amforth-6.5/msp430/words/sm-rem.asm') diff --git a/amforth-6.5/msp430/words/sm-rem.asm b/amforth-6.5/msp430/words/sm-rem.asm new file mode 100644 index 0000000..5415080 --- /dev/null +++ b/amforth-6.5/msp430/words/sm-rem.asm @@ -0,0 +1,12 @@ +;C SM/REM d1 n1 -- n2 n3 symmetric signed div +; 2DUP XOR >R sign of quotient +; OVER >R sign of remainder +; ABS >R DABS R> UM/MOD +; XT_SWAP R> ?NEGATE +; XT_SWAP R> ?NEGATE ; +; Ref. dpANS-6 section 3.2.2.1. + HEADER(SMSLASHREM,6,"sm/rem",DOCOLON) + DW XT_2DUP,XT_XOR,XT_TO_R,XT_OVER,XT_TO_R + DW XT_ABS,XT_TO_R,XT_DABS,XT_R_FROM,XT_UMSLASHMOD + DW XT_SWAP,XT_R_FROM,XT_QNEGATE,XT_SWAP,XT_R_FROM,XT_QNEGATE + DW XT_EXIT -- cgit v1.2.3