From d80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 26 Aug 2017 20:31:40 +0200 Subject: Remove AmForth --- amforth-6.5/msp430/words/um-star.asm | 38 ------------------------------------ 1 file changed, 38 deletions(-) delete mode 100644 amforth-6.5/msp430/words/um-star.asm (limited to 'amforth-6.5/msp430/words/um-star.asm') diff --git a/amforth-6.5/msp430/words/um-star.asm b/amforth-6.5/msp430/words/um-star.asm deleted file mode 100644 index 7b031b0..0000000 --- a/amforth-6.5/msp430/words/um-star.asm +++ /dev/null @@ -1,38 +0,0 @@ -;C UM* u1 u2 -- ud unsigned 16x16->32 mult. - CODEHEADER(XT_UMSTAR,3,"um*") -.ifdef MPY - dint - mov @PSP, &MPY - mov TOS, &OP2 - nop ; 1 cycle for calculation - mov &RESLO, 0(PSP) - mov &RESHI, TOS - eint -.else - ; IROP1 = TOS register - MOV @PSP,IROP2L ; get u1, leave room on stack - PUSH IRACL ; possibly used as register B -; -; T.I. SIGNED MULTIPLY SUBROUTINE: IROP1 x IROP2L -> IRACM|IRACL -MPYU: CLR IRACL ; 0 -> LSBs RESULT - CLR IRACM ; 0 -> MSBs RESULT -; UNSIGNED MULTIPLY AND ACCUMULATE SUBROUTINE: -; (IROP1 x IROP2L) + IRACM|IRACL -> IRACM|IRACL -MACU: CLR IROP2M ; MSBs MULTIPLIER - MOV #1,IRBT ; BIT TEST REGISTER -L_002: BIT IRBT,IROP1 ; TEST ACTUAL BIT - JZ L_01 ; IF 0: DO NOTHING - ADD IROP2L,IRACL ; IF 1: ADD MULTIPLIER TO RESULT - ADDC IROP2M,IRACM -L_01: RLA IROP2L ; MULTIPLIER x 2 - RLC IROP2M -; - RLA IRBT ; NEXT BIT TO TEST - JNC L_002 ; IF BIT IN CARRY: FINISHED -; END T.I. ROUTINE section 5.1.1 of MSP430 Family Application Reports - MOV IRACL,0(PSP) ; low result on stack - MOV IRACM,TOS ; high result in TOS - POP IRACL ; possibly used as register B - -.endif - NEXT -- cgit v1.2.3