Translate the following C++ program into pep8 assembly language: #include <iostr
ID: 3568288 • Letter: T
Question
Translate the following C++ program into pep8 assembly language:
#include <iostream>
using namespace std;
int main() {
char letter;
int countA = 0,
countB = 0,
countC = 0;
cin >> letter;
do {
switch (letter) {
case 'A' : countA++; break;
case 'B' : countB++; break;
case 'C' : countC++; break;
}
cin >> letter;
} while (letter != 'X');
cout << "Number of A's " << countA << endl
<< "Number of B's " << countB << endl
<< "Number of C's " << countC << endl;
return 0;
}
Here is what I have so far:
BR main
letter: .equate 0 ;local varriable #2d
countA: .equate 2 ;local varriable #2d
countB: .equate 4 ;local varriable #2d
countC: .equate 6 ;local varriable #2d
;********main******
main: SUBSP 8,i ;allocate #letter #countA #countB #countC
LDA 0,i
STA countA,s
LDA 0,i
STA countB,s
LDA 0,i
STA countC,s
do: CHARI letter,s ;cin>>letter
STX letter,s
LDX letter,s ;switch(letter)
ASLX
BR letterJT,x
letterJT: .ADDRSS caseA
.ADDRSS caseB
.ADDRSS caseC
caseA: LDA countA,s
ADDA 1,i
STA countA,s
BR endcase
caseB: LDA countB,s
ADDA 1,i
STA countB,s
BR endcase
caseC: LDA countC,s
ADDA 1,i
STA countC,s
BR endcase
endcase: CHARO ' ',i
while: LDBYTEA letter,s
CPA 'X',i
BREQ do
STRO msgA,d
DECO countA,s
CHARO ' ',i
STRO msgB,d
DECO countB,s
CHARO ' ',i
STRO msgC,d
DECO countC,s
CHARO ' ',i
ADDSP 8,i ;dellocate #letter #countA #countB #countC
stop
msgA: .ASCII "Number of A's "
msgB: .ASCII "Number of B's "
msgC: .ASCII "Number of C's "
.end
Explanation / Answer
yours will give the follow ARM code
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.