%import textio %import math ;%import verafx %zeropage basicsafe %option no_sysinit main { sub start() { txt.print_uw(math.mul16_last_upper()) txt.nl() uword value1=5678 uword value2=9999 uword result = value1*value2 uword upper16 = math.mul16_last_upper() txt.print_uw(result) txt.spc() txt.print_uw(upper16) txt.nl() ; const word MULTIPLIER = 431 ; ; ; verify results: ; for value in -50 to 50 { ; if value*MULTIPLIER != verafx.muls(value, MULTIPLIER) { ; txt.print("verafx muls error\n") ; sys.exit(1) ; } ; } ; ; ; word value ; txt.print("verafx muls...") ; cbm.SETTIM(0,0,0) ; for value in -50 to 50 { ; repeat 250 void verafx.muls(value, MULTIPLIER) ; } ; txt.print_uw(cbm.RDTIM16()) ; txt.nl() ; ; txt.print("6502 muls...") ; cbm.SETTIM(0,0,0) ; for value in -50 to 50 { ; repeat 250 cx16.r0s = value*MULTIPLIER ; } ; txt.print_uw(cbm.RDTIM16()) ; txt.nl() } }