OS SIMULATOR
Dikerjakan oleh:
Dosen :
Imam Fakhrurrozi, M.Cs
2. PSH#8
Pushes value or value in register into top of stack : Digunakan untuk
mengambil nilai 8 ke urutan register tertentu dalam susunan program. Value akan
dimasukkan program stack dalam RAM, sehingga nilai value di TOS (Top of
Hardware Stack) berubah dari 0 menjadi 8.
3. CAL$L2
4. HLT
Menghentikan aktivitas cpu dalam menjalankan program. dalam suatu
instruksi cpu, dalam memulai instruksi cpu harus diberi perintah kapan untuk berhenti
menjalankannya. sehingga tidak terjadi looping terus menerus antar instruksi.
5. L2
L2: Merupakan variabel instruksi baru yang diberi nama L2. Instruksi ini
adalah subroutine yang fungsinya untuk membungkus kumpulan instruksi satu dengan
yang lainnya untuk mengerjakan suatu pekerjaan tertentu.
6. POP R02
POP R02 digunakan untuk mendapatkan nilai dari PSH yang diberi value 8
lalu mengisinya ke dalam register ke-2. Sehingga dalam table General purpose CPU
Register nilainya berubah dari 0 menjadi nilai 8.
7. PSH#1
Pushes value or value in register into top of stack : Digunakan untuk memasukkan
nilai 1 ke stack tertentu dalam susunan program. Value akan dimasukkan program
stack dalam RAM, sehingga nilai value di TOS (Top of Hardware Stack) berubah dari
8 menjadi 9. Atau dengan kata lain dapat dituliskan dengan value 8+value 1= value 9.
8. POP R01
POP R01 digunakan untuk mendapatkan nilai dari PSH yang diberi value 1
lalu mengisinya ke dalam register ke-1. Sehingga dalam table General purpose CPU
Register nilainya berubah dari 0 menjadi nilai 1.
Mengganti nilai dari register ke-0 lalu menggantinya menjadi nilai 24. Dari
gambar di atas melalui table general purpose cpu register dapat diamati bahwasanya
register ke-0 yang awalnya berisi nilai 0, sekarang nilainya menjadi 24.
11. L0:
L0: Merupakan variabel pembungkus instruksi baru yang diberi nama L0.
Instruksi ini adalah subroutine yang fungsinya untuk membungkus kumpulan
instruksi satu dengan yang lainnya untuk mengerjakan suatu pekerjaan tertentu. Di
dalam subroutine L0 terdapat instruksi ADD #1, R01; MSF; CAL $L1; CMP R02,
R01; JNE $L0; RET.
Cal $L1 berfungsi untuk meloncati instruksi untuk pergi ke subroutine L1.
CMP R02, R01 digunakan untuk membandingkan nilai pada registry. Dari
gambar di atas dapat dijelaskan bahwa nilai yang dibandingkan yaitu 8 pada registry
kedua dan 1 pada registry pertama.
16. JNE $L0
17. RET
20. RET
RET : Digunakan untuk mengembalikan pointer ke subroutine tertentu. Dalam
instruksi pada CPU ini setelah dilakukan returrn maka pointer akan kembali ke
subroutine L1.