Z = (A/B+C)*( (D+E)*F)
1 Alamat :
0 Alamat :
A, B, C, D, E, F, Z Adlah register
Program : Z = (A/B+C)*( (D+E)*F)
PUSH A S[top] ← A
PUSH B S[top] ← B
PUSH C S[top] ← C
ADD S[top] ← B + C
DIV S[top] ← A / S[top]
PUSH D S[top] ← D
PUSH E S[top] ← E
PUSH F S[top] ←F
MYP S[top] ←E×F
ADD S[top] ← D + S[top]
MYP S[top] ← ( A/B+C) × S[top]
Jawab :
Step 1 :
CPU menyiapkan istruksi yang akan diesksekusi, instruksi berada pada
memori sedangkan instruksi yang dieksekusi berada sintruction register (IR)
pada CPU Register. Instruksi yang pertama akan diesksekusi adalah 1940
Step 2 :
Instruction Register CPU Register berisi 1940, artinya angka 1 diasumsikan
adalah memindahkan data dari memori yang beralamat 940 ke AC data dari
memori alamat 940 telah berada di Ac (0003)
Step 3 :
IR bernilai 5941 diasumsikan bahwa 5 melakukan pemindahan data dari
memori yang beralamat 941 kemudian dijumlahkan dengan data yang berada
pada AC, selanjutnya hasil penjumlahan disimpan kembali ke AC
Step 4 :
Dari CPU Register yang berada di AC dijumlahkan menjadi 3 + 2 = 5, 3
berasal dari 0 yang berada pada AC sedangkan 2 diambil dari memory pada
bagian 941, sedangkan 5 diambil dari 0005 mengambil akhirannya 5
Step 5 :
IR bernilai 2941 dipindahkan ke CPU register dibagian IR menjadi 2941
Step 6 :
CPU Register dibagian AC dipindahkan ke memori 941 dari 0002 menjadi
0005