Hey boys im trying to convert this c code to assembly but i can t use divu or idiv for devision part just using ori / or, can you tell me how can i do that?
int* A;
int a; char b, c; short d;
{ A[3], A[2] } = A[1] * A[0];
A[4] = A[2] / 230;
a = A[2] % 230;
b = a >> 16;
c = a & 8;
d = a << 2;
A[5] = {b, c, d};
this is what i got so far:
lw $s1, 0($s0)
lw $s2, 4($s0)
# Calculate A[3] and A[2]
mul $s3, $s1, $s2
sw $s3, 8($s0)
# Calculate A[4]
addi $t0, $zero, 230
div $s3, $t0
mflo $s4
mfhi $s7
# Calculate b, c, and d
srl $s5, $s4, 16
andi $s6, $s7, 8
sll $s7, $s7, 2
# Concatenate b, c, and d into A[5]
or $s1, $s5, $s6
or $s1, $s1, $s7
sw $s4, 12($s0)
sw $s6, 16($s0)
sw $s1, 20($s0)
New contributor
Alex is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.