Keep track of the bug location which could be an index into


Implement a CARDIAC machine simulator in C++, that will:

- Keep track of CARDIAC memory cells in an array of 100 integers (0-99).

- Keep track of the bug location; which could be an index into the memory array. Watch out for cells 0 and 99; they are special.

- Read the input tape from a file that starts with a number telling you how many items are on the tape.

- Output to the screen.

Running instruction 9xx exits the program.

An example run of your application would look something like this.

input.txt (This is our first CARDIAC program with 946 instead of 900 and 002 instead of the blank.)
18
002
800
030
004
020
130
021
200
022
631
023
531
024
321
025
946
002
820

Acceptable screen output:
3
2
1
0

Operation codes are as follows:

Code Abbreviation Meaning

0 INP Copy input to memory.

1 CLA Copy memory to accumulator.

2 ADD Add memory to accumulator.

3 TAC Move bug if accumulator < 0.

4 SFT Shift accumulator left then right.

5 OUT Copy memory to output.

6 STO Copy accumulator to memory.

7 SUB Subtract memory from accumulator.

8 JMP Backup bug to 99 then move bug.

9 HRS move bug and stop computing.

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Keep track of the bug location which could be an index into
Reference No:- TGS01246203

Now Priced at $20 (50% Discount)

Recommended (91%)

Rated (4.3/5)