I understand when I translate C code into MIPS language, the address needs to be multiplied by 4.
i.e ) int x = A[1]
=> lw $t1, 4*1 (address of A)
But I don't know why it is also the case for branch target address.
From this Q&A How to Calculate Jump Target Address and Branch Target Address?
I read that offset needs to be word-aligned since PC address is so.
But then, isn't the offset address needed to be divided by 4, since PC is word-aligned, and offset address is byte-aligned ?
I think I have some misconception here.