Recently, I study the instruction set of riscv32 and face a order as "mulh" which tends to multiply two 32-bits signed integers and store the high 32 value into the register.
And here comes the problem, there are two integer src1 and src2, I want to implement these instruction in C language by using shift operation but failed. So I came to another method which divide src1 and src2 as A(the high 16 bits)B(the low 16 bits) but here appears an another question, how can I know the correct carry number from low 32-bits to high 32-bits, which I came here for help.