Sap 2
Upcoming SlideShare
Loading in...5
×
 

Sap 2

on

  • 903 views

 

Statistics

Views

Total Views
903
Views on SlideShare
900
Embed Views
3

Actions

Likes
0
Downloads
35
Comments
0

1 Embed 3

http://islahudin-soft-it.blogspot.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sap 2 Sap 2 Document Transcript

  • Salam terhangat untuk para bloger tercinta, hehehe.... Pada postingan terdahulu kan kita udah tahu tu tentang yang namanya SAP-1, namun untuk yang masih belum tahu silahkan klik aja tilisan ini SAP-1. Nah untuk kali ini kita masih membahas tentang komputer sederhana atau simple as possible (SAP). Tapi kita tidak akan membahas SAP-1 melaikan kita akan membahas SAP-2. Maksudnya kita akan membahas lebih tinggilagi tentang yang namanya simple as possible, akan tetapi ini akan bersangkutan juga dengan SAP-1 kemaren karena SAP-2 merupakan kelanjutan dari SAP-1. Jadi bagi yang bleum tahu apa itu SAP-1 silahkan lihat postingan SAP-1 yang telah saya posting dulu. Atau klik disini. Arsitektur komputer SAP-2 A. Persamaan dengan SAP-1 : 1. Sama-sama komputer 8 bit. Kesamaan ini dapat dilihat dari data yang diolah oleh ALU SAP-2 yang masih 8 bit
  • B. Perbedaan SAP-1 dengan SAP-2 1. Penambahan register-register baru. a) 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) 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) 2. Penambahan lebar bus menjadi 16 bit (lebar data yang dioperasikan ALU tetap 8 bit). a) Penambahan lebar bus menjadi 16 bit untuk mendukung lebar alamat memori yang dikeluarkan oleh PC. b) PC mengeluarkan 16 bit alamat berarti dapat mengalamati 216 alamat = 65.536 alamat, •65.536 * 8 bit = 524.288 •524.288 : 8192 = 64 kByte c) PC dapat menerima data masukan dari bus W yg bermanfaat untuk instruksi Jump dan pemanggilan subroutine. 3. RAM yang tersedia 64 KB. a) Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H. b) b) 2 kB pertama (0000 H sd 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. c) 62 kB berikutnya untuk instruksi dan data. 4. Penambahan kemampuan logika pada ALU. a) SAP-1 belum punya ALU tetapi hanya Penambah & Pengurang. SAP-2 sudah memiliki ALU. b) 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). 5. Adanya flag (bendera). a) Data yang masuk dari IR ke Pengendali & Pengurut sebanyak 8 bit. b) 8 bit ini menjadi alamat bagi Pengendali & Pengurut. c) Kemampuan pengalamatannya 28 = 256 alamat, dari 00 H sd FF H. d) Tiap alamat berisi 1 signal CON. e) Dari 256 signal CON didapat 43 instruksi. 6. Peningkatan jumlah instruksi dari 5 ke 43 instruksi (42 instruksi + 1 instruksi No operation). a) Instruksi terdiri dari 2 bagian, yaitu kode operasi (operation code, opcode) dan yang dioperasikan (operand). Kode operasi lebarnya 8 bit, menempati satu alamat di RAM. b) Contoh instruksi dengan operand yang berbeda- beda : ADD B : Kode operasi 80 dan tidak membutuhkan memori untuk operand. MVI A, 18H : Kode operasi 3E membutuhkan satu alamat RAM untuk operand. STA 4861H : Kode operasi 32 membutuhkan 2 alamat RAM untuk opeand. Misal ketiga instruksi tersebut disimpan pada RAM secara berurutan mulai alamat 1000H, maka peta isi RAM sebagai berikut :
  • Perangkat-perangkat intruksi SAP-2 NNoo Mnemonik opcode 11 ADD B 80 22 ADD C 81 33 DCR A 3D 44 DCR B 05 55 DCR C 0D 66 HLT 76 77 INT A 3C 88 INT B 04 99 INT C 0C 1100 LDA alamat 3A 1111 MOV A, B 78 1122 MOV A, C 79 1133 MOV B, A 47 1144 MOV B, C 41 1155 MOV C, A 4F 1166 MOV C, B 48 1177 STA alamat 32 1188 SUB B 90 1199 SUB C 91 2200 OUT D3 2211 MVI A, byte 3E 2222 MVI B, byte 06 2233 MVI C, byte 0E 2244 JM alamat C3
  • Instruksi-intruksi SAP-2 1. LDA (Load The Accumulator) Mengambil data dari memori dan dipindahkan ke Akumulator. 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 ke memori. Format : STA alamat Contoh : STA 1501H (isi RAM pada alamat 1501H dengannilai yg ada pada Akumulator) 2255 JNZ alamat C2 2266 JZ alamat CA 2277 ANA B A0 2288 ANA C A1 2299 ANI byte E6 3300 CALL alamat CD 3311 CMA 2F 3322 ORA B B0 3333 ORA C B1 3344 ORI byte F6 3355 RAL 17 3366 RAR 1F 3377 RET C9 3388 XRA B A8 3399 XRA C A9 4400 XRI byte EE
  • 3. MVI (Move Immediate) Mengisi register aritmatika (A, B, C) dengan nilai tertentu. 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). 5. ADD dan SUB Menambah atau mengurang isi reg A dgn nilai register aritmatika lain dan hasil disimpan pada Akumulator. Format : ADD register atau SUB register Contoh : ADD B (A = A + B) SUB C (A = A – C) 6. 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) 7. JMP (Jump) Instruksi lompatan tidak bersyarat. Prosesor langsung mengalihkan eksekusi program sesuai dengan alamat tujuan lompatan. Format : JMP alamat Contoh : JMP 2500H PC 2500H Instruksi ini memberitahu prosesor untuk menjalankan instruksi pada alamat 2500H. Proses ini mengubah nilai program counter dengan alamat 2500H. 8. JM (Jump if Minus)
  • Instruksi lompatan bersyarat. Prosesor akan memeriksa flag (Sign) keluaran dari ALU pada operasi sebelumya. Jika sign flag bernilai 1, artinya hasilnya negatif, maka lompatan dilakukan. Jika sebaliknya maka lompatan tidak dilakukan. Format : JM alamat Contoh : Asumsi : Nilai reg A = 45H, B = 10H, dan C=60H SUB B : A = A - B = 45H - 10H A = 35H JM 1000H SUB C : A = A – C = 35H - 60H A = Hasilnya minus (kecil dari 0) JM 2600H Setelah instruksi pertama dieksekusi nilai A positif. Pada instruksi berikutnya (JM 1000H) kondisi syarat untuk lompat tidak dipenuhi maka prosesor mengerjakan instruksi berikutnya (SUB C). Setelah instruksi ketiga isi A bernilai negatif maka pada instruksi ke 4 (JM 2600H) prosesor akan lompat dan mengerjakan instruksi pada alamat 2600H. 9. JZ (Jump if Zero) Instruksi lompatan bersyarat. Prosesor akan memeriksa (flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero bernilai 1, artinya hasilnya 0, maka lompatan akan dilakukan. Jika sebaliknya maka lompatan tidak dilakukan. Format : JZ alamat Contoh : JZ 2500H Instruksi ini memberitahu prosesor untuk menjalankan instruksi pada alamat 2500H jika zero flag bernilai 1. 10. JNZ (Jump if not Zero) Instruksi lompatan bersyarat. Prosesor akan memeriksa (flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero bernilai 0, artinya hasilnya bukan 0, maka lompatan akan dilakukan. Jika sebaliknya maka lompatan tidak dilakukan.
  • Format : JNZ alamat Contoh : JNZ 2500H Instruksi ini memberitahu prosesor untuk menjalankan instruksi pada alamat 2500H jika zero flag bernilai 1. 11. CALL Instruksi call the subroutine (panggil subrutin). Subrutin (subroutine) adalah suatu program yang disimpan dalam memori untuk digunakan dalam program yang lain seperti perhitungan sinus, cosinus, tangen, logaritma, akar-kuadrat, dsb. Format : CALL alamat Contoh : CALL 6000H Misalnya, jika sebuah subrutin logaritma berawal pada alamat 6000H maka eksekusi dari instruksi CALL 6000H menghasilkan suatu lompatan ke subrutin logaritma. 12. RET Instruksi return (kembali) atau mengakhiri sebuah subrutin dan kembali ke program utama, ditulis di akhir setiap subrutin. Format : RET (tanpa operand) Ketika instruksi CALL dilaksnakan dalam komputer SAP-2, isi pencacah program secara otomatis tersimpan pada lokasi memori FFFEH dan FFFFH (dua lokasi memori terakhir). Alamat CALL kemudian diisikan kedalam PC, sehingga eksekusi memulai dengan instruksi pertama dalam subrutin. 13. CMA (Complement the Accumulator) Eksekusi ini akan membalikkan setiap bit dalam akumulator dan menghasilkan komplement –1 dari bilangan yang bersangkutan. Format : CMA Contoh : Nilai awal akumulator A = 1001101 Setelah instruksi CMA A = 0110010 16. 14. ANA (AND the Accumulator) AND-kan isi akumulator dengan isi register tertentu, hasilnya disimpan dalam akumulator. Format : ANA register Contoh : ANA B Misal A = 01100011 dan B = 10100110 Setelah ANA B, A = 00100010 15. ORA (OR the Accumulator)
  • 16. XRA (XOR the Accumulator) 17. ANI (AND Immediate the Accumulator) Meng-AND-kan isi Akumulator dengan suatu nilai. Format : ANI byte Contoh : ANI 01001100 Misal : A = 01101010 Setelah instruksi ANI, A = 01001000 18. ORI (OR Immediate the Accumulator) 19. XRI (XOR Immediate the Accumulator) 20. IN (Input) Memindahkan data dari Register masukan ke Akumulator. 21. OUT (Output) Memindahkan data dari Akumulator ke Register keluaran. 22. HLT Tanda akhir dari program LATAIHAN Soal: 1. Berikut adalah potongaan sebuah program pada SAP-2, tentukan nilai akhir pada register akumulator! Sertakan dengan gambar!... MVI A, A9H MVI B, B8H MVI C, C7H RAL ANA B ORA C ANI 0011 1011 ORI 1100 1100 RAR CMA OUT HLT Jawaban:
  • RAM Alamat Biner Hexa MnemoniK 0800H 0011 1110 3E MVI A, A9H 0801H 1010 1001 A9 0802H 0000 0110 6 MVI B, B8H 0803H 1011 1000 B8 0804H 0000 1110 0E MVI C, C7H 0805H 1100 0111 C7 0806H 0001 0111 17 RAL 0807H 1010 0000 A0 ANA B 0808H 1011 0001 B1 OR C 0809H 1110 0110 E6 ANI 0011 1011 080AH 0011 1011 080BH 1111 0110 F6 ORI 1100 1100 080CH 1100 1100 080DH 0001 1111 1F RAR 080EH 0010 1111 2F CMA 080FH 1101 0011 D3 OUT 08F0H 0111 0110 76 HLT 08F1H 08F2H : : FFFFH A= 1010 1001 B= 1011 1000 C= 1100 0111 RAL A=1010 1001 A=0101 0011 ANA B (AND the Accumulator) A=0101 0011 B=1011 1000 A=0001 0000 ORA C (OR the Accumulator) A=0001 0000 C=1100 0111 A=1101 0111
  • ANI (AND Immediate the Accumulator) A=1101 0111 0011 1011 A=0001 0011 ORI (OR Immediate the Accumulator) A=0001 0011 1100 1100 A=1101 1111 RAR A=1101 1111 A=1110 1111 CMA (Complement the Accumulator) A=1110 1111 A=0001 0000 (16) Jadi hasil akhirnya A=0001 0000 (16)