Install the Easycpu ENIAC package on a Windows platform. It can be installed on a Windows 10 VM.
You can download the file from here:
https://sourceforge.net/projects/eniac/
Or, you could download the attached file: fattoriable.eniac.
Click <File>, <New> and point to the folder that contains the assembly code fattoriable.eniac.
You may need to download JAVA, and then run the command listed in the readme file (from the zip file you downloaded).
https://www.java.com/en/download/win10.jsp
Click <File>, <New> and point to the folder <example> that contains the assembly code fattoriable.eniac.
The program should be loaded in ASCII. If not, click the menu <cpu>, <address format>, then <symbol>. It should look as below.
Hexadecimal ASCII
=========== ===== ===
200003 JUMP 3
6 6
1 1
a02001 LOAD @1
b88001 STORE BX
c02002 SUB @2
2b000c JZ 12
b88006 STORE CX
f08001 MUL BX
b88001 STORE BX
a08006 LOAD CX
200005 JMP 5
10000 HLT
Explanation:
(0) address starts at 0x2000, but PC=3 (address 0x2003)
(1) stack 1 (@1) has value 6
(2) stack 2 (@2) has value 1
(3) command load (0xa0) from 0x2001 to register AX (AX=6), PC=4 (address 0x2004)
(4) command store (0xb8) the value in 0x2001 to register BX at 0x8001 (BX=6), PC=5(address 0x2005)
(5) command substract (0xc0) the value 1 in 0x2002 from the register AX, PC=6 (address 0x2006)
(6) command jump (0x2b) to 0xC=12 if the result in AX is zero, PC=7 (address 0x2007)
(7) command store (0xb8) the value into register CX at 0x8006 (CX=5), PC=8 (address 0x2008)
(8) command mul (0xf0) the value of register AX by the value in register Bx at 0x8001, AX=5*6=30, PC=9 (address 0x2009)
(9) command store (0xb8) the value of register AX in register BX at 0x8001 (Bx=30),
PC=10 (address 0x200a)
(10) command load (0xa0) the value in register CX at 0x8006 to register AX (AX=CX=5), PC=11 (address 0x200b)
(11) command jump (0x20) to address 0x5 (0x2005), PC=5 (address 0x2005)
(12) command halt (0x1) is exit. The program looped 6 times to exit.
When exit, AX=0, BX=720, CX=1, DX=0, PC=12,
CA = SI= OV = 0, ZE = EV = 1
Lab exercise:
Q1. Click menu <CPU>, then select <step by step>. Use this function to step through the assembly code.
After the statement in address 11 is first executed, what are the value of registers AX, BX, CX,
DX, and PC? Explain the function of AX, BX, CX, DX, and PC.
A1:
Q2. After statement 11 is first executed, what is the next statement to be executed? Can you tell
what statements 5 through 11 are doing in a simple statement?
A2:
Q3: How many times are statements 5 and 6 executed before statement 12 is executed?
How can you tell, if you don’t step through it? Which register or memory location can allow you to determine that value without stepping through all codes till exit?
A3:
Choose an academic level, add pages, and the paper type you want.
To reduce the cost of our essay writing services, select the lengthier deadline.
We can't believe we just said that to you.
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more
Recent Comments