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/avr8/words/slashmod.asm | 66 ------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 amforth-6.5/avr8/words/slashmod.asm (limited to 'amforth-6.5/avr8/words/slashmod.asm') diff --git a/amforth-6.5/avr8/words/slashmod.asm b/amforth-6.5/avr8/words/slashmod.asm deleted file mode 100644 index 2772651..0000000 --- a/amforth-6.5/avr8/words/slashmod.asm +++ /dev/null @@ -1,66 +0,0 @@ -; ( n1 n2 -- rem quot) -; Arithmetics -; signed division n1/n2 with remainder and quotient -VE_SLASHMOD: - .dw $ff04 - .db "/mod" - .dw VE_HEAD - .set VE_HEAD = VE_SLASHMOD -XT_SLASHMOD: - .dw PFA_SLASHMOD -PFA_SLASHMOD: - movw temp2, tosl - - ld temp0, Y+ - ld temp1, Y+ - - mov temp6,temp1 ;move dividend High to sign register - eor temp6,temp3 ;xor divisor High with sign register - sbrs temp1,7 ;if MSB in dividend set - rjmp PFA_SLASHMOD_1 - com temp1 ; change sign of dividend - com temp0 - subi temp0,low(-1) - sbci temp1,high(-1) -PFA_SLASHMOD_1: - sbrs temp3,7 ;if MSB in divisor set - rjmp PFA_SLASHMOD_2 - com temp3 ; change sign of divisor - com temp2 - subi temp2,low(-1) - sbci temp3,high(-1) -PFA_SLASHMOD_2: clr temp4 ;clear remainder Low byte - sub temp5,temp5;clear remainder High byte and carry - ldi temp7,17 ;init loop counter - -PFA_SLASHMOD_3: rol temp0 ;shift left dividend - rol temp1 - dec temp7 ;decrement counter - brne PFA_SLASHMOD_5 ;if done - sbrs temp6,7 ; if MSB in sign register set - rjmp PFA_SLASHMOD_4 - com temp1 ; change sign of result - com temp0 - subi temp0,low(-1) - sbci temp1,high(-1) -PFA_SLASHMOD_4: rjmp PFA_SLASHMODmod_done ; return -PFA_SLASHMOD_5: rol temp4 ;shift dividend into remainder - rol temp5 - sub temp4,temp2 ;remainder = remainder - divisor - sbc temp5,temp3 ; - brcc PFA_SLASHMOD_6 ;if result negative - add temp4,temp2 ; restore remainder - adc temp5,temp3 - clc ; clear carry to be shifted into result - rjmp PFA_SLASHMOD_3 ;else -PFA_SLASHMOD_6: sec ; set carry to be shifted into result - rjmp PFA_SLASHMOD_3 - -PFA_SLASHMODmod_done: - ; put remainder on stack - st -Y,temp5 - st -Y,temp4 - - ; put quotient on stack - movw tosl, temp0 - jmp_ DO_NEXT -- cgit v1.2.3