AIN DCD 0X7FFFFFFF,0X0 BIN DCD 0X7FFFFFFF,0X0 ; DCD 0X1,0X3FFFFFFF,0X0,0X0 OUT FILL 4*4 LDR R0, =AIN LDR R1, =BIN LDR R2, =OUT BL SMUL64X64 END SMUL64X64 STMED R13!, {R4-R12, LR} LDR R3, [R0] LDR R4, [R0, #4] MOV R5, #0 MOV R6, #0 LDR R7, [R1] LDR R8, [R1, #4] MOV R10, #0 MOV R11, #7 AND R9, R3, #1 ;1 CMP R9, R10 BHI SU1 BLO AD1 B CONT1 SU1 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT1 AD1 ADDS R5, R5, R7 ADC R6, R6, R8 CONT1 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 MULT AND R9, R3, #1 ;2 CMP R9, R10 BHI SU2 BLO AD2 B CONT2 SU2 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT2 AD2 ADDS R5, R5, R7 ADC R6, R6, R8 CONT2 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;3 CMP R9, R10 BHI SU3 BLO AD3 B CONT3 SU3 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT3 AD3 ADDS R5, R5, R7 ADC R6, R6, R8 CONT3 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;4 CMP R9, R10 BHI SU4 BLO AD4 B CONT4 SU4 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT4 AD4 ADDS R5, R5, R7 ADC R6, R6, R8 CONT4 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;5 CMP R9, R10 BHI SU5 BLO AD5 B CONT5 SU5 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT5 AD5 ADDS R5, R5, R7 ADC R6, R6, R8 CONT5 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;6 CMP R9, R10 BHI SU6 BLO AD6 B CONT6 SU6 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT6 AD6 ADDS R5, R5, R7 ADC R6, R6, R8 CONT6 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;7 CMP R9, R10 BHI SU7 BLO AD7 B CONT7 SU7 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT7 AD7 ADDS R5, R5, R7 ADC R6, R6, R8 CONT7 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;8 CMP R9, R10 BHI SU8 BLO AD8 B CONT8 SU8 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT8 AD8 ADDS R5, R5, R7 ADC R6, R6, R8 CONT8 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;9 CMP R9, R10 BHI SU9 BLO AD9 B CONT9 SU9 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT9 AD9 ADDS R5, R5, R7 ADC R6, R6, R8 CONT9 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 AND R9, R3, #1 ;10 CMP R9, R10 BHI SU10 BLO AD10 B CONT10 SU10 SUBS R5, R5, R7 SBC R6, R6, R8 B CONT10 AD10 ADDS R5, R5, R7 ADC R6, R6, R8 CONT10 MOVS R6, R6, ASR #1 MOVS R5, R5, RRX MOVS R4, R4, RRX MOVS R3, R3, RRX MOV R10, R9 SUBS R11, R11, #1 BNE MULT STMIA R2, {R3-R6} LDMED R13!, {R4-R12, PC}