Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Translate the following into MIPS assembly language: #include <iostream> using n

ID: 3605780 • Letter: T

Question

Translate the following into MIPS assembly language:

#include <iostream>

using namespace std;

int a1[12],

a2[12],

a3[12];

char einStr[] = "Enter integer #";

char moStr[] = "Max of ";

char ieStr[] = " ints entered...";

char emiStr[] = "Enter more ints? (n or N = no, others = yes) ";

char begA1Str[] = "beginning a1: ";

char am1dA1Str[] = "a1 (dups<=1): ";

char procA1Str[] = "processed a1: ";

char procA2Str[] = " a2: ";

char procA3Str[] = " a3: ";

char dacStr[] = "Do another case? (n or N = no, others = yes) ";

char dlStr[] = "================================";

char byeStr[] = "bye...";

int main()

{

   char reply;

   int used1,

   used2,

   used3,

   truncAvg,

   found,

   sum,

   *hopPtr1,

   *hopPtr11,

   *hopPtr2,

   *hopPtr3,

   *endPtr1,

   *endPtr11,

   *endPtr2,

   *endPtr3;

   reply = 'y';

   //while (reply != 'n' && reply != 'N')

   goto WTest1;

begW1:// {

used1 = 0;

hopPtr1 = a1;

//while (reply != 'n' && reply != 'N')

goto WTest2;

begW2:// {

   cout << einStr;

   cout << (used1 + 1);

   cout << ':' << ' ';

   cin >> *hopPtr1;

   ++used1;

   ++hopPtr1;

   //if (used1 < 12)

   if (used1 >= 12) goto else1;

begI1:// {

cout << emiStr;

cin >> reply;

   goto endI1;

// }

else1:// else

// {

cout << moStr << 12 << ieStr << endl;

reply = 'n';

endI1:// }

//WTest2: if (reply != 'n' && reply != 'N') goto begW2;

WTest2: if (reply == 'n') goto xitW2;

if (reply != 'N') goto begW2;

endW2:// }

xitW2:

cout << begA1Str;

//if (used1 > 0)

if (used1 <= 0) goto endI2;

begI2:// {

   hopPtr1 = a1;

   endPtr1 = a1 + used1;

// do

begDW1:// {

cout << *hopPtr1 << ' ' << ' ';

++hopPtr1;

endDW1:// }

   //while (hopPtr1 < endPtr1);

DWTest1: if (hopPtr1 < endPtr1) goto begDW1;

endI2:// }

cout << endl;

//if (used1 > 1)

if (used1 <= 1) goto else3;

begI3:// {

   hopPtr1 = a1;

   endPtr1 = a1 + used1 - 1;

   //while (hopPtr1 < endPtr1)

   goto WTest3;

begW3:// {

found = 0;

//for (hopPtr2 = hopPtr1 + 1, endPtr2 = a1 + used1; hopPtr2 < endPtr2; ++hopPtr2)

hopPtr2 = hopPtr1 + 1;

endPtr2 = a1 + used1;

goto FTest1;

begF1:// {

   //if (*hopPtr2 == *hopPtr1)

   if (*hopPtr2 != *hopPtr1) goto endI4;

begI4:// {

//if (found == 1)

if (found != 1) goto else5;

begI5:// {

   //for (hopPtr3 = hopPtr2 + 1, endPtr3 = a1 + used1; hopPtr3 < endPtr3; ++hopPtr3)

   hopPtr3 = hopPtr2 + 1;

   endPtr3 = a1 + used1;

   goto FTest2;

begF2:// {

*(hopPtr3 - 1) = *hopPtr3;

   ++hopPtr3;

FTest2: if (hopPtr3 < endPtr3) goto begF2;

endF2:// }

   --used1;

   --endPtr1;

   --endPtr2;

   --endPtr3;

   --hopPtr2;

goto endI5;

// }

else5:// else

// {

++found;

endI5:// }

endI4:// }

   ++hopPtr2;

FTest1: if (hopPtr2 < endPtr2) goto begF1;

endF1:// }

++hopPtr1;

WTest3: if (hopPtr1 < endPtr1) goto begW3;

endW3:// }

   cout << am1dA1Str;

   //if (used1 > 0)

   if (used1 <= 0) goto endI6;

begI6:// {

hopPtr1 = a1;

endPtr1 = a1 + used1;

// do

begDW2:// {

   cout << *hopPtr1 << ' ' << ' ';

   ++hopPtr1;

endDW2:// }

//while (hopPtr1 < endPtr1);

DWTest2: if (hopPtr1 < endPtr1) goto begDW2;

endI6:// }

   cout << endl;

   //if (used1 > 0)

   if (used1 <= 0) goto endI7;

begI7:// {

sum = 0;

hopPtr1 = a1 + used1 - 1;

endPtr1 = a1;

// do

begDW3:// {

   sum += *hopPtr1;

   --hopPtr1;

endDW3:// }

//while (hopPtr1 >= endPtr1);

DWTest3: if (hopPtr1 >= endPtr1) goto begDW3;

truncAvg = sum / used1;

used2 = 0;

used3 = 0;

hopPtr2 = a2;

hopPtr3 = a3;

//for (hopPtr1 = a1, endPtr1 = a1 + used1; hopPtr1 < endPtr1; ++hopPtr1)

hopPtr1 = a1;

endPtr1 = a1 + used1;

goto FTest3;

begF3:// {

   //if (*hopPtr1 != truncAvg)

   if (*hopPtr1 == truncAvg) goto endI8;

begI8:// {

//if (*hopPtr1 < truncAvg)

if (*hopPtr1 >= truncAvg) goto else9;

begI9:// {

   *hopPtr2 = *hopPtr1;

   ++used2;

   ++hopPtr2;

goto endI9;

// }

else9:// else

// {

   *hopPtr3 = *hopPtr1;

   ++used3;

   ++hopPtr3;

endI9:// }

//for (hopPtr11 = hopPtr1 + 1, endPtr11 = a1 + used1; hopPtr11 < endPtr11; ++hopPtr11)

hopPtr11 = hopPtr1 + 1;

endPtr11 = a1 + used1;

goto FTest4;

begF4:// {

   *(hopPtr11 - 1) = *hopPtr11;

++hopPtr11;

FTest4: if (hopPtr11 < endPtr11) goto begF4;

endF4:// }

--used1;

--endPtr1;

--hopPtr1;

endI8:// }

   ++hopPtr1;

FTest3: if (hopPtr1 < endPtr1) goto begF3;

endF3:// }

//if (used1 == 0)

if (used1 != 0) goto endI10;

begI10:// {

   *(a1+ 0) = truncAvg;

   ++used1;

endI10:// }

endI7:// }

goto endI3;

// }

else3:// else

// {

   hopPtr1 = a1;

   cout << am1dA1Str;

   cout << *hopPtr1;

   cout << endl;

   used2 = 0;

   used3 = 0;

endI3:// }

cout << procA1Str;

//if (used1 > 0)

if (used1 <= 0) goto endI11;

begI11:// {

   hopPtr1 = a1;

   endPtr1 = a1 + used1;

// do

begDW4:// {

cout << *hopPtr1 << ' ' << ' ';

++hopPtr1;

endDW4:// }

   //while (hopPtr1 < endPtr1);

DWTest4: if (hopPtr1 < endPtr1) goto begDW4;

endI11:// }

cout << endl;

cout << procA2Str;

//if (used2 > 0)

if (used2 <= 0) goto endI12;

begI12:// {

   hopPtr2 = a2;

   endPtr2 = a2 + used2;

// do

begDW5:// {

cout << *hopPtr2 << ' ' << ' ';

++hopPtr2;

endDW5:// }

   //while (hopPtr2 < endPtr2);

DWTest5: if (hopPtr2 < endPtr2) goto begDW5;

endI12:// }

cout << endl;

cout << procA3Str;

//if (used3 > 0)

if (used3 <= 0) goto endI13;

begI13:// {

   hopPtr3 = a3;

   endPtr3 = a3 + used3;

// do

begDW6:// {

cout << *hopPtr3 << ' ' << ' ';

++hopPtr3;

endDW6:// }

   //while (hopPtr3 < endPtr3);

DWTest6: if (hopPtr3 < endPtr3) goto begDW6;

endI13:// }

cout << endl;

cout << dacStr;

cin >> reply;

//WTest1: if (reply != 'n' && reply != 'N') goto begW1;

WTest1: if (reply == 'n') goto xitW1;

   if (reply != 'N') goto begW1;

endW1:// }

xitW1:

   cout << dlStr << ' ';

   cout << byeStr << ' ';

   cout << dlStr << ' ';

   return 0;

}

Explanation / Answer

SOLUTION :

a1:

a2:

a3:

einStr:

.ascii "Enter integer #"

moStr:

.ascii "Max of "

ieStr:

.ascii " ints entered..."

emiStr:

.ascii "Enter more ints? (n or N = no, others = yes) "

begA1Str:

.ascii "beginning a1: "

am1dA1Str:

.ascii "a1 (dups<=1): "

procA1Str:

.ascii "processed a1: "

procA2Str:

.ascii " a2: "

procA3Str:

.ascii " a3: "

dacStr:

.ascii "Do another case? (n or N = no, others = yes) "

dlStr:

.ascii "================================"

byeStr:

.ascii "bye..."

main:

addiu $sp,$sp,-96

sw $31,92($sp)

sw $fp,88($sp)

move $fp,$sp

li $2,121 # 0x79

sb $2,80($fp)

b $L2

nop

nop

sw $0,24($fp)

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

b $L4

nop

nop

lui $2,%hi(einStr)

addiu $5,$2,%lo(einStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,24($fp)

nop

addiu $2,$2,1

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,58 # 0x3a

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $5,44($fp)

lui $2,%hi(std::cin)

addiu $4,$2,%lo(std::cin)

jal std::basic_istream<char, std::char_traits<char> >::operator>>(int&)

nop

lw $2,24($fp)

nop

addiu $2,$2,1

sw $2,24($fp)

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $2,24($fp)

nop

slt $2,$2,12

beq $2,$0,$L88

nop

lui $2,%hi(emiStr)

addiu $5,$2,%lo(emiStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

addiu $2,$fp,80

move $5,$2

lui $2,%hi(std::cin)

addiu $4,$2,%lo(std::cin)

jal std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char&)

nop

b $L4

nop

nop

lui $2,%hi(moStr)

addiu $5,$2,%lo(moStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

li $5,12 # 0xc

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

move $3,$2

lui $2,%hi(ieStr)

addiu $5,$2,%lo(ieStr)

move $4,$3

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

move $3,$2

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

move $4,$3

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

li $2,110 # 0x6e

sb $2,80($fp)

lb $3,80($fp)

li $2,110 # 0x6e

beq $3,$2,$L89

nop

lb $3,80($fp)

li $2,78 # 0x4e

bne $3,$2,$L90

nop

b $L11

nop

nop

lui $2,%hi(begA1Str)

addiu $5,$2,%lo(begA1Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,24($fp)

nop

blez $2,$L91

nop

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,60($fp)

lw $2,44($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

beq $2,$0,$L13

nop

b $L14

nop

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

lw $2,24($fp)

nop

slt $2,$2,2

bne $2,$0,$L92

nop

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lw $3,24($fp)

li $2,1073676288 # 0x3fff0000

ori $2,$2,0xffff

addu $2,$3,$2

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,60($fp)

b $L19

nop

nop

sw $0,36($fp)

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,52($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,64($fp)

b $L21

nop

nop

lw $2,52($fp)

nop

lw $3,0($2)

lw $2,44($fp)

nop

lw $2,0($2)

nop

bne $3,$2,$L93

nop

lw $3,36($fp)

li $2,1 # 0x1

bne $3,$2,$L94

nop

lw $2,52($fp)

nop

addiu $2,$2,4

sw $2,56($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,68($fp)

b $L27

nop

nop

lw $2,56($fp)

nop

addiu $2,$2,-4

lw $3,56($fp)

nop

lw $3,0($3)

nop

sw $3,0($2)

lw $2,56($fp)

nop

addiu $2,$2,4

sw $2,56($fp)

lw $3,56($fp)

lw $2,68($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L95

nop

lw $2,24($fp)

nop

addiu $2,$2,-1

sw $2,24($fp)

lw $2,60($fp)

nop

addiu $2,$2,-4

sw $2,60($fp)

lw $2,64($fp)

nop

addiu $2,$2,-4

sw $2,64($fp)

lw $2,68($fp)

nop

addiu $2,$2,-4

sw $2,68($fp)

lw $2,52($fp)

nop

addiu $2,$2,-4

sw $2,52($fp)

b $L30

nop

nop

lw $2,36($fp)

nop

addiu $2,$2,1

sw $2,36($fp)

b $L30

nop

nop

lw $2,52($fp)

nop

addiu $2,$2,4

sw $2,52($fp)

lw $3,52($fp)

lw $2,64($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L96

nop

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L97

nop

lui $2,%hi(am1dA1Str)

addiu $5,$2,%lo(am1dA1Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,24($fp)

nop

blez $2,$L98

nop

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,60($fp)

lw $2,44($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

beq $2,$0,$L34

nop

b $L35

nop

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

lw $2,24($fp)

nop

blez $2,$L99

nop

sw $0,40($fp)

lw $3,24($fp)

li $2,1073676288 # 0x3fff0000

ori $2,$2,0xffff

addu $2,$3,$2

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,44($fp)

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,60($fp)

lw $2,44($fp)

nop

lw $2,0($2)

lw $3,40($fp)

nop

addu $2,$3,$2

sw $2,40($fp)

lw $2,44($fp)

nop

addiu $2,$2,-4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L43

nop

b $L40

nop

lw $3,40($fp)

lw $2,24($fp)

nop

bne $2,$0,1f

div $0,$3,$2

break 7

1:

mfhi $2

mflo $2

sw $2,72($fp)

sw $0,28($fp)

sw $0,32($fp)

lui $2,%hi(a2)

addiu $2,$2,%lo(a2)

sw $2,52($fp)

lui $2,%hi(a3)

addiu $2,$2,%lo(a3)

sw $2,56($fp)

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,60($fp)

b $L44

nop

nop

lw $2,44($fp)

nop

lw $3,0($2)

lw $2,72($fp)

nop

beq $3,$2,$L100

nop

lw $2,44($fp)

nop

lw $3,0($2)

lw $2,72($fp)

nop

slt $2,$3,$2

beq $2,$0,$L101

nop

lw $2,44($fp)

nop

lw $3,0($2)

lw $2,52($fp)

nop

sw $3,0($2)

lw $2,28($fp)

nop

addiu $2,$2,1

sw $2,28($fp)

lw $2,52($fp)

nop

addiu $2,$2,4

sw $2,52($fp)

b $L50

nop

nop

lw $2,44($fp)

nop

lw $3,0($2)

lw $2,56($fp)

nop

sw $3,0($2)

lw $2,32($fp)

nop

addiu $2,$2,1

sw $2,32($fp)

lw $2,56($fp)

nop

addiu $2,$2,4

sw $2,56($fp)

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,48($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,76($fp)

b $L51

nop

nop

lw $2,48($fp)

nop

addiu $2,$2,-4

lw $3,48($fp)

nop

lw $3,0($3)

nop

sw $3,0($2)

lw $2,48($fp)

nop

addiu $2,$2,4

sw $2,48($fp)

lw $3,48($fp)

lw $2,76($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L102

nop

lw $2,24($fp)

nop

addiu $2,$2,-1

sw $2,24($fp)

lw $2,60($fp)

nop

addiu $2,$2,-4

sw $2,60($fp)

lw $2,44($fp)

nop

addiu $2,$2,-4

sw $2,44($fp)

b $L47

nop

nop

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

bne $2,$0,$L103

nop

lw $2,24($fp)

nop

bne $2,$0,$L104

nop

lui $2,%hi(a1)

lw $3,72($fp)

nop

sw $3,%lo(a1)($2)

lw $2,24($fp)

nop

addiu $2,$2,1

sw $2,24($fp)

b $L57

nop

nop

b $L57

nop

nop

b $L57

nop

nop

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lui $2,%hi(am1dA1Str)

addiu $5,$2,%lo(am1dA1Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,44($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

sw $0,28($fp)

sw $0,32($fp)

lui $2,%hi(procA1Str)

addiu $5,$2,%lo(procA1Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,24($fp)

nop

blez $2,$L105

nop

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

sw $2,44($fp)

lw $2,24($fp)

nop

sll $3,$2,2

lui $2,%hi(a1)

addiu $2,$2,%lo(a1)

addu $2,$3,$2

sw $2,60($fp)

lw $2,44($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $2,44($fp)

nop

addiu $2,$2,4

sw $2,44($fp)

lw $3,44($fp)

lw $2,60($fp)

nop

sltu $2,$3,$2

beq $2,$0,$L59

nop

b $L60

nop

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

lui $2,%hi(procA2Str)

addiu $5,$2,%lo(procA2Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,28($fp)

nop

blez $2,$L106

nop

lui $2,%hi(a2)

addiu $2,$2,%lo(a2)

sw $2,52($fp)

lw $2,28($fp)

nop

sll $3,$2,2

lui $2,%hi(a2)

addiu $2,$2,%lo(a2)

addu $2,$3,$2

sw $2,64($fp)

lw $2,52($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $2,52($fp)

nop

addiu $2,$2,4

sw $2,52($fp)

lw $3,52($fp)

lw $2,64($fp)

nop

sltu $2,$3,$2

beq $2,$0,$L64

nop

b $L65

nop

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

lui $2,%hi(procA3Str)

addiu $5,$2,%lo(procA3Str)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

lw $2,32($fp)

nop

blez $2,$L107

nop

lui $2,%hi(a3)

addiu $2,$2,%lo(a3)

sw $2,56($fp)

lw $2,32($fp)

nop

sll $3,$2,2

lui $2,%hi(a3)

addiu $2,$2,%lo(a3)

addu $2,$3,$2

sw $2,68($fp)

lw $2,56($fp)

nop

lw $2,0($2)

nop

move $5,$2

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(int)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

li $5,32 # 0x20

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lw $2,56($fp)

nop

addiu $2,$2,4

sw $2,56($fp)

lw $3,56($fp)

lw $2,68($fp)

nop

sltu $2,$3,$2

beq $2,$0,$L69

nop

b $L70

nop

nop

lui $2,%hi(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

addiu $5,$2,%lo(std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&))

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

nop

lui $2,%hi(dacStr)

addiu $5,$2,%lo(dacStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

addiu $2,$fp,80

move $5,$2

lui $2,%hi(std::cin)

addiu $4,$2,%lo(std::cin)

jal std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char&)

nop

lb $3,80($fp)

li $2,110 # 0x6e

beq $3,$2,$L108

nop

lb $3,80($fp)

li $2,78 # 0x4e

bne $3,$2,$L109

nop

b $L75

nop

nop

lui $2,%hi(dlStr)

addiu $5,$2,%lo(dlStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

li $5,10 # 0xa

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lui $2,%hi(byeStr)

addiu $5,$2,%lo(byeStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

li $5,10 # 0xa

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

lui $2,%hi(dlStr)

addiu $5,$2,%lo(dlStr)

lui $2,%hi(std::cout)

addiu $4,$2,%lo(std::cout)

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)

nop

li $5,10 # 0xa

move $4,$2

jal std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)

nop

move $2,$0

move $sp,$fp

lw $31,92($sp)

lw $fp,88($sp)

addiu $sp,$sp,96

j $31

nop

__static_initialization_and_destruction_0(int, int):

addiu $sp,$sp,-32

sw $31,28($sp)

sw $fp,24($sp)

move $fp,$sp

sw $4,32($fp)

sw $5,36($fp)

lw $3,32($fp)

li $2,1 # 0x1

bne $3,$2,$L112

nop

lw $3,36($fp)

li $2,65535 # 0xffff

bne $3,$2,$L112

nop

lui $2,%hi(std::__ioinit)

addiu $4,$2,%lo(std::__ioinit)

jal std::ios_base::Init::Init()

nop

lui $2,%hi(__dso_handle)

addiu $6,$2,%lo(__dso_handle)

lui $2,%hi(std::__ioinit)

addiu $5,$2,%lo(std::__ioinit)

lui $2,%hi(std::ios_base::Init::~Init())

addiu $4,$2,%lo(std::ios_base::Init::~Init())

jal __cxa_atexit

nop

nop

move $sp,$fp

lw $31,28($sp)

lw $fp,24($sp)

addiu $sp,$sp,32

j $31

nop

_GLOBAL__sub_I_a1:

addiu $sp,$sp,-32

sw $31,28($sp)

sw $fp,24($sp)

move $fp,$sp

li $5,65535 # 0xffff

li $4,1 # 0x1

jal __static_initialization_and_destruction_0(int, int)

nop

move $sp,$fp

lw $31,28($sp)

lw $fp,24($sp)

addiu $sp,$sp,32

j $31

nop

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote