Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64...

22
Simple As Possible (SAP) - 2 Abdul Syukur [email protected] http://skurlinux.blogspot.com 085374051884

Transcript of Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64...

Page 1: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Simple As Possible

(SAP) - 2

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Page 2: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Arsitektur Komputer SAP-2

Persamaan dengan

SAP-1 :

Sama-sama komputer

8 bit.

Kesamaan ini dapat

dilihat dari data yang

diolah oleh ALU SAP-2

yang masih 8 bit.

Keyboard

Heksadesimal

Register

Masukan 1

Register

Masukan 2

Program

Counter

MAR

Memori RAM

64 KB

Memory Data

Register

Register

Instruksi

Pengendali-

Pengurut

Akumulator A

ALU

TEMP

B

C

Register

Keluaran 3

Peraga

Heksadesimal

Register

Keluaran 48

16

8

16

8

8

8

8

16

8

8

8

8

8

8

8 8

16

8

8

8

CON

Serial Out

Flag2

Serial In

W

16

Page 3: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Perbedaan SAP-1 dengan SAP-2

Penambahan register-register baru.

Penambahan lebar bus menjadi 16 bit (lebar data yang dioperasikan ALU tetap 8 bit).

RAM yang tersedia 64 KB.

Penambahan kemampuan logika pada ALU.

Adanya flag (bendera).

Peningkatan jumlah instruksi dari 5 ke 43 instruksi (42 instruksi + 1 instruksi No operation).

Page 4: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Penambahan Register

Register-register pada SAP-1 (5 buah) :– Input Register dan MAR (1 buah)– Output Register (1 buah)– Register Instruksi (1 buah)– Register Aritmatika (2 buah : A dan B)

Register-register pada SAP-2 (11 buah) :– Input Register (2 buah)– Output Register (2 buah)– Register Instruksi (1 buah)– Register Aritmatika (4 buah : A, B, C, TMP)– MAR (1 buah)– Memory Data Register (MDR, 1 buah)

Page 5: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Penambahan Lebar Bus dan PC

Penambahan lebar bus menjadi 16 bit untuk mendukunglebar alamat memori yang dikeluarkan oleh PC.

PC mengeluarkan 16 bit alamat berarti dapatmengalamati 216 alamat = 65.536 alamat, dari 0000 H sampai FFFF H

65.536 alamat dengan tiap alamat 8 bit maka :

– 65.536 * 8 bit = 524.288

– 524.288 : 8192 = 64 kByte

PC dapat menerima data masukan dari bus W ygbermanfaat untuk instruksi Jump dan pemanggilansubroutine.

Page 6: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

RAM 64 KB

Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H.

2 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isiinput register dan output register ke monitor.

62 kB berikutnya untuk instruksi dan data.

Page 7: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Kemampuan Logika ALU & Flag

SAP-1 belum punya ALU tetapi hanya Penambah & Pengurang. SAP-2 sudah memiliki ALU.

Adanya Flag :

– Sign Flag untuk menandai nilai pada register A negatif (sign flag = 1) atau positif (sign flag = 0).

– Zero Flag untuk menandai nilai pada register A nol (zero flag = 1) atau bukan nol (zero flag = 0).

Page 8: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Peningkatan Jumlah Instruksi

Data yang masuk dari IR ke Pengendali & Pengurutsebanyak 8 bit.

8 bit ini menjadi alamat bagi Pengendali & Pengurut.

Kemampuan pengalamatannya 28 = 256 alamat, dari 00 H sd FF H.

Tiap alamat berisi 1 signal CON.

Dari 256 signal CON didapat 43 instruksi.

Page 9: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2

1. LDA (Load The Accumulator)

Mengambil data dari memori dan dipindahkan keAkumulator.

Format : LDA alamat

Contoh : LDA 1500H (isi reg A dgn nilai pada alamat 1500H)

2. STA (Store The Accumulator)

Mengambil data dari Akumulator dan dipindahkan kememori.

Format : STA alamat

Contoh : STA 1501H (isi RAM pada alamat 1501H denga nilai ygada pada Akumulator)

Page 10: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (2)

3. MVI (Move Immediate)

Mengisi register aritmatika (A, B, C) dengan nilaitertentu.

Format : MVI register, nilai

Contoh : MVI B, C4H (isi register B dengan nilai C4H)

4. MOV (Move)

Menyalin data dari satu register aritmatika ke register aritmatika lain.

Format : MOV register, register

Contoh : MOV B, C (isi register B dgn data pd register C).

Page 11: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (3)

5 & 6. ADD dan SUBMenambah atau mengurang isi reg A dgn nilairegister aritmatika lain dan hasil disimpan padaAkumulator.Format : ADD register atau SUB register

Contoh : ADD B (A = A + B)SUB C (A = A – C)

7 & 8. INR (Increment) dan DCR (Decrement)Menambah atau mengurangi isi sebuah register aritmatika dengan 1.Format : INR register atau DCR register

Contoh : INR B (B = B + 1)DCR C (C = C – 1)

Page 12: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (4)

9. JMP (Jump)Instruksi lompatan untuk mengalihkan eksekusiprogram sesuai dengan alamat tujuan lompatan.Format : JMP alamatContoh : JMP 27E1H

PC 27E1H

10. JM (Jump if Minus)Instruksi lompatan bersyarat untuk mengalihkaneksekusi program sesuai dengan alamat tujuanlompatan jika sign flag berisi 1.Format : JM alamat

Contoh : JM 3C28H

Page 13: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (5)

11. JZ (Jump if Zero)Instruksi lompatan bersyarat untuk mengalihkaneksekusi program sesuai dengan alamat tujuanlompatan jika zero flag berisi 1.Format : JZ alamat

Contoh : JZ 27E1H

12. JNZ (Jump if not Zero)Instruksi lompatan bersyarat untuk mengalihkaneksekusi program sesuai dengan alamat tujuanlompatan jika zero flag berisi 0.Format : JM alamat

Contoh : JM 3C28H

Page 14: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (9)

13. CMA (Complement the Accumulator)Instruksi ini akan membalikkan setiap bit dalam akumulator danmenghasilkan komplement –1 dari bilangan yang bersangkutan.Format : CMAContoh : Nilai awal akumulator A = 1001 1010

Setelah instruksi CMA A = 0110 0101

14. ANA (AND the Accumulator)Instruksi ini meng-AND-kan isi akumulator dengan isi register tertentu, hasilnya disimpan dalam akumulator.Format : ANA register Contoh : ANA BMisal A = 0110 0011 dan B = 1010 0110Setelah instruksi ANA B, maka A = 0010 0010

Page 15: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (10)

15. ORA (OR the Accumulator)Instruksi ini meng-OR-kan isi akumulator denganregister tertentu, hasilnya disimpan dalam akumulator.Format : ORA register Contoh : ORA B

Misal A = 0010 1100 dan B = 0001 1001Setelah instruksi ORA B, maka A = 0011 1101

16. XRA (XOR the Accumulator)Instruksi ini meng-XOR-kan isi akumulator denganregister tertentu, hasilnya disimpan dalam akumulator.Format : XRA register Contoh : XRA B

Misal A = 0010 1100 dan B = 0001 1001Setelah instruksi XRA B, maka A = 0011 0101

Page 16: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (11)

17. ANI (AND Immediate the Accumulator)Instruksi ini meng-AND-kan isi akumulator dengan suatunilai.Format : ANI byte

Misal A = 0010 1100

Setelah instruksi ANI 0011 0010, maka A = 0010 0000

18. ORI (OR Immediate the Accumulator)Instruksi ini meng-OR-kan isi akumulator dengan suatunilai.Format : ORI byte

Misal A = 0010 1100Setelah instruksi ORI 0011 0010, maka A = 0011 1110

Page 17: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (12)

19. XRI (XOR Immediate the Accumulator)Instruksi ini meng-XOR-kan isi akumulator dengan suatunilai.Format : XRI byte

Misal A = 0010 1100

Setelah instruksi XRI 0011 0010, maka A = 0001 1110

20. IN (Input)Instruksi ini memindahkan data dari register masukanke akumulator.Format : IN byteContoh : IN 1000 1101Instruksi ini akan memasukkan data dari register masukan 1000 1101 ke dalam akumulator.

Page 18: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (13)

21. RAL (Rotate the Accumulator Left)Instruksi ini berfungsi memutar nilai akumulator darikiri satu bit. Bit yang paling kiri akan dialihkan ke bit yang paling kanan.Misal A = 1100 1000

Setelah instruksi RAL, maka A = 1001 0001

22. RAR (Rotate the Accumulator Right)Instruksi ini berfungsi memutar nilai akumulator darikanan satu bit. Bit yang paling kanan akan dialihkan kebit yang paling kiri.Misal A = 1100 1000

Setelah instruksi RAR, maka A = 0110 0100

Page 19: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (14)

23. OUT (Output)

Instruksi memindahkan data dari akumulator ke register keluaran.

24. HLT

Instruksi ini tanda akhir dari program.

Page 20: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Instruksi-Instruksi SAP-2 (15)

25. NOP (No Operation)Selama eksekusi dari instruksi NOP tidak akan terjadi apapunpada semua keadaan T yang bersangkutan karena tidak adaregister yang mengalami perubahan selama operasi NOP.Instruksi NOP dipakai untuk mendapatkan jeda untukberbagai keperluan seperti sinkronisasi pada pipeline danuntuk mendapatkan delay pada sistem kontrol.NOP meperlukan empat keadaan (pulsa clock) T. Misalnyajika kita menempatkan sebuah instruksi NOP dalam suatuloop dan melaksanakan sebanyak 100 kali maka kita akanmemperoleh delay time selama 400 kali keadaan T.

Page 21: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Latihan (1)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada register Akumulator !

MVI A, 6A HMVI B, 2E HMVI C, 89 HSUB BANA CRALORI 1001 1101CMA

Page 22: Simple As Possible (SAP) - 2 filebermanfaat untuk instruksi Jump dan pemanggilan subroutine. RAM 64 KB Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. 2 kB pertama (0000 H s/d

Latihan (2)

Berikut adalah sebuah kutipan program dari komputerSAP-2. Tentukanlah nilai dari register Akumulator padasetiap tahapnya !

MVI A, 2C HMVI B, 19 HMVI C, 12 HRALADD BRARORA CANI 0011 0010CMA