Само умножение можно немного ускорить и сократить

Скрытый текст

Код:
		...
		CLR R4
		mov r2,r3
		xor r5,r3			; result's sign
		...
		BPL 1
			NEG R2
1:		TST R5
		BPL 2
			NEG R5
2:		...
		CLR R1
		CLR R0				; R0_R1 = R4_R5 * R2
		br 31
3:							; main loop
		BCC 5
			ADD R5,R1
			ADC R0
			ADD R4,R0
5:		ASL R5
		ROL R4
31:		ROR R2
		bne 3				; end of main loop
		ADD R5,R1
		ADC R0
		ADD R4,R0
7:		...
72:		TST R3				; result's sign
		bpl 0
		...
[свернуть]