This is a basic question but say I want to multiply 3 numbers together that are in registers $t2, $t3, and $t4. Hypothetically speaking, assume each register can only hold 8 bits and when we multiply the three numbers together and the result may be bigger than 8 bits. If it is bigger than 8 bits, how would the result be stored in register $t0 if each register can only hold 8 bits?
Usually CPUs have some kind of an instruction that multiplies two registers and gives a result twice as large, spread across multiple registers. This is necessary to implement extended precision arithmetic.
For example on amd64, to multiply two 64-bit numbers and get a 128-bit result you would do:
mov rax, qword ptr [t2]
mul qword ptr [t3]
; the result is now in rdx : rax
mov qword ptr [result], rax
mov qword ptr [result + 8], rdx
To multipliy three 64-bit numbers and get a 192-bit result you would have to implement extended precision multiplication by multiplying the relevant parts as above and summing them together.