Hello,
I wont to write my own routine in assembler as a learning goal.
Have looked into a lot of asm routines, but can’t figure out how to add two
doubles into R16 to R23
and after the calculation put R16 to R19 back to the stack.
Can I use R16 to R19 freely for my own use, or should I take another set.
The calculation between is no problem.
Please can someone help me out with this,
and any help is appriciated!
Cheers,
Jan
Mij template:
; ( d1 d2 -- d1 )
; Math
; Multiplies two doubles (32 bits * 32 bits => 32 bits)
; This is a unsigned 32x32 multiplication
VE_DMUL:
.dw $ff02
.db "d*"
.dw VE_HEAD
.set VE_HEAD = VE_DMUL
XT_DMUL:
.dw DO_COLON
PFA_DMUL:
;
; place the top two doubles into R16,R17,R18,R19,R20,R21,R22,R23
; and remove the two doubles of TOS
;
;
; do the calculation
;
;
; place R16,R17,R18,R19 on the top of the stack, so the result is a double.
; do next word
;
.dw XT_EXIT
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
[email protected]
https://lists.sourceforge.net/lists/listinfo/amforth-devel