IAS computer

logistic_guy

Senior Member
Joined
Apr 17, 2024
Messages
2,213
Given the memory contents of the \(\displaystyle \text{IAS}\) computer shown below.

Address​
Contents​
\(\displaystyle 08\text{A}\)​
\(\displaystyle 010\text{FA}210\text{FB}\)​
\(\displaystyle 08\text{B}\)​
\(\displaystyle 010\text{FA}0\text{F}08\text{D}\)​
\(\displaystyle 08\text{C}\)​
\(\displaystyle 020\text{FA}210\text{FB}\)​

Show the assembly language code for the program, starting at address \(\displaystyle 08\text{A}\). Explain what this program does.
 
Given the memory contents of the \(\displaystyle \text{IAS}\) computer shown below.

Address​
Contents​
\(\displaystyle 08\text{A}\)​
\(\displaystyle 010\text{FA}210\text{FB}\)​
\(\displaystyle 08\text{B}\)​
\(\displaystyle 010\text{FA}0\text{F}08\text{D}\)​
\(\displaystyle 08\text{C}\)​
\(\displaystyle 020\text{FA}210\text{FB}\)​

Show the assembly language code for the program, starting at address \(\displaystyle 08\text{A}\). Explain what this program does.
Please show us what you have tried and exactly where you are stuck.

Please follow the rules of posting in this forum, as enunciated at:


Please share your work/thoughts about this problem
 
First, let's learn some operation codes.

\(\displaystyle \bold{1} \longrightarrow \ \textcolor{red}{\bold{load}}\)

\(\displaystyle \bold{2} \longrightarrow \ \textcolor{blue}{\bold{subtract}}\)

\(\displaystyle \bold{15} \longrightarrow \ \textcolor{green}{\bold{jump}}\)

\(\displaystyle \bold{21} \longrightarrow \ \textcolor{indigo}{\bold{store}}\)
 
The contents in the address say \(\displaystyle 08\text{A}\) are \(\displaystyle 010\text{FA}210\text{FB}\). These contents are \(\displaystyle 40\) bits. We divide them into two halves. That gives us:

\(\displaystyle 010\text{FA} \longrightarrow 20\) bits
\(\displaystyle 210\text{FB} \longrightarrow 20\) bits
 
We will also take these \(\displaystyle 20\) bits and divide it. But not into half.

\(\displaystyle 010\text{FA} \longrightarrow 20\) bits

\(\displaystyle 01\longrightarrow 8\) bits
\(\displaystyle 0\text{FA} \longrightarrow 12\) bits
 
Let us start with the content \(\displaystyle 010\text{FA}210\text{FB}\).

We take the first half, \(\displaystyle 010\text{FA}\).

So this gives us the operation code \(\displaystyle 01\) and the memory address \(\displaystyle 0\text{FA}\).

In the IAS computer, the arithmetic and logic operations are done in the accumulator (hardware register).

Then, with the help of post number \(\displaystyle 3\), \(\displaystyle 010\text{FA}\) means:

Load the value at memory location \(\displaystyle \text{0FA}\) into \(\displaystyle \text{AC}\) (accumulator).
 
Top