SAP-3.

Slides:



Advertisements
Presentasi serupa
Flags.
Advertisements

Turbo Assembly Operasi Aritmatika.
BAB IV MODE PENGALAMATAN
Simple as Possible Computer 2
Set-Set Instruksi MCS-51 (Pendahuluan)
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
Arsitektur Komputer “Instruksi Set Arsitektur”
Mode Pengalamatan.
REGISTER Oleh : Oman Somantri, S.Kom
Instruksi Percabangan
Dasar pemrograman Mikroprosesor 8086
BAB III RAM Internal pada MCS-51
ARSITEKTUR SET INSTRUKSI
Instruksi Pengatur Program
TEORI, IMPLEMENTASI & APLIKASI
SET INSTRUKSI.
REGISTER.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ORGANISASI & ARSITEKTUR KOMPUTER 2 STRUKTUR & FUNGSI CPU IBP WIDJA, MT
SISTEM BILANGAN DAN REGISTER
Program Bahasa Rakitan dengan DEBUG.COM
Arsitektur Perangkat Lunak 8086
Perangkat Lunak Z-80 Dalam perangkat lunak Z-80 terdapat 22 register/
Dasar-Dasar Pemrograman Assembler
lnstruksi Aritmetika dan Logika
TEK 2524 Organisasi Komputer
INSTRUKSI LOGIKA DASAR
Arsitektur Mikroprosessor 8086
Register.
Abdillah, S.Si MIT Model Hipotesis SAP-1 Abdillah, S.Si MIT
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
ARSITEKTUR SET INSTRUKSI
Set Instruksi:.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
BIOS, DOS, dan String.
BAB IV Teknik Pemrograman
1. Mikroprosesor Intel Pertama adalah : a c
Dasar-Dasar Pemrograman Assembler
Flag Register.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
MODE PENGALAMATAN DAN SET INSTRUKSI
Model Hipotesis SAP-3 Abdillah, S.Si, MIT.
Mode Pengalamatan.
SAP-2.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
SISTEM MIKROPROSESOR PERTEMUAN 4.
ARSITEKTUR SET INSTRUKSI
REGISTER.
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Pengenalan Assembler.
Operasi I/O Abdillah, S.Si, MIT.
FLOW CONTROL INSTRUTIONS
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Pertemuan 6 Instruksi Bahasa Rakitan 8088
KOMPUTER SIMPLE AS POSSIBLE (SAP-1)
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
Operasi Input Output (I/O)
OPERASI PEMINDAHAN DATA
TEK 2524 Organisasi Komputer
ARSITEKTUR SET INSTRUKSI
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Andang, Elektronika Komputer Digital
ARSITEKTUR SET INSTRUKSI
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

SAP-3

Pengantar SAP-3: sebuah mikrokomputer 8-bit yang kompatibel ke atas dengan mikroprosesor 8085 Perangkat instruksi: sama dengan SAP-2, ditambah dengan instruksi-instruksi baru

Model Pemrograman Register pada SAP-3

Model Pemrograman PC berupa register 16-bit yang melakukan pencacahan dari 0000H - FFFFH PC mengirimkan alamat instruksi berikutnya yang akan dilaksanakan  dan kemudian ditahan dalam MAR Register CPU: Register A, B, C, D, E, H, L, masing-masing register berukuran 8-bit yang digunakan dalam operasi aritmetika dan logika

Model Pemrograman Register F (Flag) digunakan untuk menyimpan bit-bit bendera S, Z, CY, dan P Register SP (Stack Pointer): register SP berupa register 16-bit, yang digunakan untuk menunjukkan suatu bagian dari memori yang disebut stack

Instruksi Perpindahan Data

MOV dan MVI Instruksi MOV: digunakan untuk perpindahan data antar register Format: MOV reg1, reg2 dengan reg1 = reg A, B, C, D, E, H atau L reg2 = reg A, B, C , D, E, H atau L Secara mikrooperasi: reg1  reg2 Contoh: MOV L, A MOV E, H

MOV dan MVI Instruksi MVI: berupa instruksi perpindahan data segera (immediate) Format: MVI reg, byte dengan reg = register A, B, C, D, E, H atau L Contoh: MVI D,0EH MVI L, FFH Keuntungan CPU yang mempunyai jumlah register lebih banyak: MOV dan MVI memerlukan keadaan T lebih sedikit dibandingkan dengan instruksi MRI. Semakin banyak register  semakin banyak MOV dan MVI yang dapat dipakai

Instruksi-instruksi Aritmetika

Bendera Carry Gambar di atas adalah rangkaian logika yang digunakan sebagai penjumlah-pengurang pada SAP-3. Jika SUB=0, rangkaian melakukan penjumlahan Jika SUB=1, rangkaian melakukan pengurangan

Bendera Carry Selama operasi penjumlahan, CY disebut carry. Pada operasi pengurangan, CY disebut borrow Hasil operasi penjumlahan disimpan dalam akumulator, dan carry/borrow yang terjadi disimpan pada bendera CY

Instruksi Bendera Pindahan (Carry/Borrow) STC (Set Carry) Membuat bit CY bernilai ‘1’ (set) CMC (Complement the Carry) Mengkomplemenkan nilai carry Jika sebelum eksekusi CY=0, setelah instruksi CMC dilaksanakan maka CY=1 Jika sebelum eksekusi CY=1, setelah instruksi CMC dilaksanakan maka CY=0 Bagaimana untuk mereset Carry?

Instruksi ADD Format instruksi: ADD reg dengan reg = register A, B, C, D, E, H dan L Instruksi ADD: menjumlahkan isi register yang ditunjuk dengan isi akumulator, hasil penjumlahan disimpan dalam akumulator. Contoh:

Instruksi ADD Sehingga pada akhir siklus instruksi dihasilkan: CY=0 dan A = 1111 1001

Instruksi ADC Instruksi ADC (Add With Carry): jumlahkan dengan carry Format: ADC reg dengan reg = register A, B, C, D, E, H dan L

Instruksi ADC Contoh:

Instruksi SUB Format: SUB reg Instruksi ini akan mengurangkan isi register yang ditunjuk dari isi akumulator Jika terjadi borrow, CY akan diset ‘1’ Jika tidak terjadi borrow, CY akan direset

Instruksi SUB Contoh: A=0000 1111 dan C=0000 0001 Maka eksekusi instruksi SUB C menghasilkan: Tidak terjadi borrow, sehingga CY=0 dan A=0000 1110

Instruksi SBB Instruksi SBB (Substract with Borrow) digunakan untuk mengurangkan isi register yang ditunjuk beserta isi bendera CY, dari isi yang terdapat dalam register akumulator Contoh: Jika A = 1111 1111 E = 0000 0010 dan CY =1, maka instruksi SBB E akan menghasilkan:

Instruksi SBB Hasil akhir dari operasi ini adalah: CY=0 dan A=1111 1100

Penambahan (Increment) Format instruksi: INR reg Contoh: Jika diberikan L=0000 1111 eksekusi dari INR L akan menghasilkan L = 0001 0000 Instruksi INR tidak berpengaruh pada bendera carry, tetapi instruksi ini mempengaruhi bendera tanda dan bendera nol

Penambahan (Increment) Contoh: Jika B = 1111 1111 dari keadaan semula bendera-bendera adalah S=1, Z=0, CY = 0 Maka setelah eksekusi INR B akan dihasilkan: B = 0000 0000 dengan S=0, Z=1, CY=0 Terlihat bahwa bendera carry tidak berubah walaupun terjadi carry

Pengurangan (Decrement) Format Instruksi: DCR reg Contoh: Jika E = 0111 0110 Eksekusi DCR E akan menghasilkan E = 0111 0101 Instruksi DCR mempengaruhi bendera tanda (Sign) dan bendera nol (Zero), tetapi tidak mempengaruhi bendera CY

Pengurangan (Decrement) Contoh: Kondisi awal: E = 0000 0000 S = 0, Z = 1, CY = 0 Setelah eksekusi DCR E akan diperoleh kondisi baru: E = 1111 1111 S = 1, Z = 0, CY = 0

Putar semua ke kiri Format: RAL reg Instruksi RAL: memutar semua bit termasuk bendera CY ke kiri

Putar semua ke kanan Format: RAR reg Instruksi RAR: memutar semua bit termasuk bendera CY ke kanan

RLC dan RRC Format: RLC reg Format: RRC reg

Instruksi Logika Instruksi yang ada: ANA reg ORA reg XRA reg Instruksi-instruksi ini menyebabkan terjadinya operasi-operasi AND, OR dan XOR antara register yang ditunjuk dengan akumulator

Instruksi Logika Instruksi yang lain CMP reg Instruksi ini membandingkan isi register yang ditunjuk dengan isi akumulator Bendera nol (Zero) menunjukkan hasil pembandingan:

Instruksi Logika Instruksi CMP tidak mempengaruhi isi akumulator, tetapi hanya mempengaruhi isi bendera Z Contoh: Jika: A=F8H D=F8H Z=0 setelah operasi CMP D akan menghasilkan A=F8H Z=1

Instruksi Aritmetika dan Logika Segera (Immediate) Format instruksi: ANI byte ORI byte XRI byte Byte data akan disegera di-’AND, OR atau XOR’-kan dengan isi akumulator

Instruksi Aritmetika dan Logika Segera (Immediate) Format instruksi ADI byte  ADD immediate ACI byte  ADC immediate SUI byte  SUB immediate SBI byte  SBB immediate CPI byte  CMP immediate

Instruksi Lompatan Instruksi-instruksi SAP-2 yang digunakan pada SAP-3 adalah: JMP alamat JM alamat JZ alamat JNZ alamat

Instruksi Lompatan - JP JP = Jump if Positive Format instruksi: JP alamat menghasilkan suatu lompatan ke alamat yang ditentukan jika bendera tanda dalam keadaan reset

Instruksi Lompatan - JC JC = Jump if Carry Format instruksi: JC alamat menghasilkan suatu lompatan ke alamat yang ditentukan jika bendera carry dalam keadaan set

Instruksi Lompatan - JNC JNC = Jump if NoCarry Format instruksi: JNC alamat menghasilkan suatu lompatan ke alamat yang ditentukan jika bendera carry tidak dalam keadaan set

Instruksi Lompatan - Bendera Paritas Register F yang menyimpan bendera-bendera Untuk bit paritas: Jika angka 1 berjumlah genap maka bendera paritas diset Jika angka 1 berjumlah ganjil maka bendera paritas direset

Instruksi Lompatan - JPE JPE = Jump if Parity Even Format instruksi: JPE alamat menghasilkan suatu lompatan ke alamat yang ditentukan jika bendera paritas dalam keadaan set (paritas genap)

Instruksi Lompatan - JPO JPO = Jump if Parity Odd Format instruksi: JPO alamat menghasilkan suatu lompatan ke alamat yang ditentukan jika bendera paritas dalam keadaan reset (paritas ganjil)

Instruksi Lompatan - Contoh Misalkan keadaan bendera-bendera adalah S=1, Z=0, CY=0 dan P=1 maka program akan melompat jika menjumpai instruksi JPE

Instruksi Register Berpasangan

Pasangan Register Pasangan register

Instruksi LXI Format instruksi: dengan B mewakili pasangan BC LXI B, dble LXI D, dble LXI H, dble dengan B mewakili pasangan BC D mewakili pasangan DE H mewakili pasangan HL Contoh: LXI B, 90FFH

Instruksi DAD (Double ADD) Format instruksi: DAD B DAD D DAD H Instruksi DAD menjumlahkan isi dari pasangan register tertemtu dengan pasangan register HL. Hasil penjumlahan disimpan dalam pasangan register HL

Instruksi DAD (Double ADD) Contoh: BC = F521H HL = 0003H maka eksekusi DAD B menghasilkan HL = F524H Instruksi DAD mempengaruhi bendera CY

Instruksi INX (Increment the Extended Register) Format instruksi: INX B INX D INX H

Instruksi DCX (Decrement the Extended Register) Format instruksi: DCX B DCX D DCX H Instruksi INX dan DCX tidak mempengaruhi bendera

Instruksi-instruksi Taklangsung

Visualisasi Penunjuk HL SAP-3 memiliki instruksi yang menggunakan register HL sebagai penunjuk alamat data (data pointer)

Pengalamatan Taklangsung Pengalamatan langsung: LDA 5000H STA 6000H Pengalamatan taklangsung: digunakan penunjuk HL sebagai penunjuk alamat

Pembacaan Taklangsung Salah satu bentuk: MOV reg, M dengan reg = A, B, C, D, E, H, atau L M = MHL Instruksi ini mengisi register tertentu dengan data yang alamatnya ditunjukkan oleh isi register HL. Setelah eksekusi, register tersebut berisi MHL

Pembacaan Taklangsung Contoh: HL = 3000H dan M3000H = 87H maka eksekusi MOV C, M menghasilkan C = 87H

Penulisan Taklangsung Salah satu bentuk: MOV M, reg dengan reg = A, B, C, D, E, H, atau L M = MHL Instruksi ini mengisi lokasi memori tertentu yang alamatnya ditunjukkan oleh isi register HL. Setelah eksekusi, akan diperoleh MHL = reg

Penulisan Taklangsung Contoh: HL = E300H B = F2H eksekusi dari MOV M,B menghasilkan ME300H = F2H

Instruksi Segera Taklangsung Misal: MVI M,byte Jika dimisalkan HL = 3000H, maka eksekusi dari MVI M, 87H akan menghasilkan M3000H = 87H

Instruksi-instruksi Penunjuk yang lain ADD M ADC M SUB M SBB M INR M DCR M ANA M ORA M XRA M CMP M

Instruksi Penumpukan

SAP-2 mempunyai instruksi CALL yang dapat mengarahkan program kepada suatu subrutin Sebelum terjadi lompatan  isi PC ditambah satu dan disimpan pada alamat FFFEH dan FFFFH Pada saat berakhirnya subrutin, instruksi RET mengisi PC dengan alamat kembali, yang mengakibatkan komputer kembali ke program utama

Tumpukan Merupakan bagian dari memori yang disediakan terutama bagi penyimpanan alamat kembali (return address) SAP-2: tumpukan pada alamat FFFEH dan FFFFH

Tumpukan SAP-3: struktur tumpukan berbeda  pemrogram dapat memutuskan di mana lokasi tumpukan dan berapa besar tumpukan yang dipakai tumpukan Bagian memori yang telah digunakan sebagai tumpukan tidak dapat digunakan untuk menyimpan program/data

Penunjuk Tumpukan Instruksi yang digunakan: PUSH, POP, dan CALL Instruksi tumpukan menggunakan pengalamatan taklangsung, register SP digunakan sebagai penunjuk alamat

Penunjuk Tumpukan Misalkan SP = 20FFH, penunjuk tumpukan akan menunjuk ke M20FFH Inisialisasi penunjuk tumpukan: LXI SP, dble Contoh: LXI SP, 20FFH berarti penunjuk alamat tumpukan akan diinisialisasi ke alamat 20FFH

Instruksi PUSH Instruksi PUSH digunakan untuk menyimpan data dalam suatu tumpukan (stack) Instruksi yang ada: PUSH B PUSH D PUSH H PUSH PSW PSW (Program Status Word) merupakan rangkuman dari isi register Akumulator dan register bendera, jadi PSW=AF

Instruksi PUSH Pelaksanaan instruksi PUSH Penunjuk tumpukan dikurangi satu, sehingga diperoleh SP-1 Byte tinggi dalam pasangan register disimpan dalam MSP-1 Penunjuk tumpukan dikurangi lagi menjadi SP-2 Byte rendah dalam pasangan register disimpan dalam MSP-2

Instruksi PUSH Contoh: BC = 5612H SP = 2100H Bila PUSH B dieksekusi, maka Penunjuk tumpukan diturunkan menjadi 20FFH Byte tinggi pada pasangan register BC, yaitu 56H disimpan pada lokasi 20FFH

Instruksi PUSH Penunjuk tumpukan diturunkan lagi menjadi 20FEH byte rendah dari pasangan register BC, yaitu 12H disimpan pada lokasi 20FEH

Instruksi PUSH Contoh lain: Misal SP = 2100H AF = 1234H DE = 5678H HL = 9A25H Maka eksekusi dari PUSH PSW PUSH D PUSH HL

Instruksi POP Instruksi yang ada: Pelaksanaan instruksi POP POP B POP D POP H POP PSW Pelaksanaan instruksi POP Byte dibaca dari lokasi memori yang dialamati oleh penunjuk tumpukan. Byte ini kemudian ditempatkan ke byte rendah dari pasangan register yang ditentukan Penunjuk tumpukan di-increment Byte dibaca dari lokasi memori dan disimpan pada byte tinggi dari pasangan register yang ditentukan

Instruksi POP Misalkan dalam tumpukan sudah terdapat data: maka penunjuk tumpukan berada pada alamat 20FAH Maka Eksekusi POP B: Byte 25 H dibaca dari lokasi 20FAH dan disimpan pada register C

Instruksi POP Penunjuk tumpukan diincrement menjadi 20FCH Penunjuk tumpukan diincrement menjadi 20FB. Byte 9AH dibaca dari lokasi 20FB dan disimpan pada register B. Pasangan regsiter BC sekarang berisi BC = 9A25H Penunjuk tumpukan diincrement menjadi 20FCH

Instruksi POP Setiap kali melaksanakan instruksi POP, 2 byte data akan keluar dari tumpukan. Jika instruksi POP PSW dan POP H dilaksanakan, maka isi register menjadi: AF = 5678 HL = 1234H dan SP = 2100H

Instruksi CALL dan RET Digunakan untuk pemanggilan subrutin Format instruksi CALL alamat Urutan pelaksanaan Pada saat dilaksanakan, isi PC di-PUSH ke tumpukan Kemudian alamat awal subrutin dimuat ke PC Setelah subrutin selesai dilaksanakan, instruksi RET akan mem-POP isi PC yang disimpan dalam tumpukan  eksekusi program utama lagi

Instruksi CALL dan RET Contoh penggunaan:

Instruksi CALL dan RET Pada saat eksekusi CALL 8050H, alamat instruksi berikutnya (2006H) di-PUSH ke tumpukan. Pada saat eksekusi RET, alamat instruksi berikutnya akan di-POP ke PC

Pemanggilan dan Pengembalian Bersyarat Instruksi Pemanggilan yang ada CNZ alamat CZ alamat CNC alamat CC alamat CPO alamat CPE alamat CP alamat CM alamat Instruksi Pengembalian yang ada RNZ alamat RZ alamat RNC alamat RC alamat RPO alamat RPE alamat RP alamat RM alamat