Top Banner
Blok diagram PPI 8255
68

materi dasar Mikroprosesor

Aug 08, 2015

Download

Documents

Miouw Ngeong

ditujukan untuk uas kuliah dasar mikroprosesor universitas tirtayasa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: materi dasar Mikroprosesor

Blok diagram PPI 8255

Page 2: materi dasar Mikroprosesor

Tabel Kebenaran PPI 8255

Page 3: materi dasar Mikroprosesor

Metode transfer data paralel

• Terdapat 4 metode transfer data paralel, yaitu:–Simple Input and Output–Simple Strobe I/O–Single handshake I/O–Double handshake I/O

Page 4: materi dasar Mikroprosesor

Simple Input and Output

• Metode transfer ini digunakan untuk operasi input atau output pada peralatan yang selalu berada dalam keadaan siap (ready) seperti sensor dan LED.

Page 5: materi dasar Mikroprosesor

Simple Strobe I/O• Pada periperal tertentu, data hanya tersedia pada waktu

tertentu saja. Untuk memperoleh data yang valid, pembacaan harus dilakukan pada saat tersebut.

• Contoh peralatan yang menggunakan metode ini adalah keyboard.

• Data dari keyboard ada hanya pada saat-saat tertentu, yaitu pada saat tombol ditekan dan pada saat tersebut data valid. Untuk memberitahu komponen lain bahwa ada data valid, keyboard menghasilkan sinyal strobe.

Page 6: materi dasar Mikroprosesor

Single handshake I/O• Metode transfer Simple Strobe I/O cocok digunakan untuk

transfer data dengan kecepatan rendah. Jika komponen pengirim dapat mengirimkan data dengan kecepatan yang lebih tinggi dibanding yang dapat diterima oleh komponen penerima, maka metode tersebut tidak cocok digunakan.

• Untuk itu harus digunakan "handshaking" atau tanya jawab antar kedua komponen.

Page 7: materi dasar Mikroprosesor

Double handshake I/O• Jika koordinasi yang lebih baik diperlukan, maka digunakan 2

buah "handshaking“.• Pada double handshake tiap tepi sinyal memiliki arti.• Sebelum mengirimkan data pengirim terlebih dahulu

menanyakan kesiapan penerima dengan menurunkan sinyal Strobe.

• Jika siap, penerima akan memberitahu pengirim dengan cara menaikkan sinyal Acknowledge.

• Selanjutnya pengirim mengirimkan data, dan memberitahu penerima bahwa data telah dikirim dengan cara menaikkan sinyal Strobe.

• Dan apabila data tersebut telah diterima, penerima menurunkan sinyal Acknowledge dan ini sekaligus berarti meminta pengirim mengirim data berikutnya.

Page 8: materi dasar Mikroprosesor

Double handshake I/O

Page 9: materi dasar Mikroprosesor

Mode Operasi PPI 8255• Mode O

– Operasi I/O dengan simple input output tanpa menggunakan sinyal handshaking.

– Jika port A dan port B diinisialisasi pada mode 0, maka port C dapat digunakan sebagai port 8 bit atau sebagai 2 buah port 4 bit (C upper dan C lower) yang berdiri sendiri.

Page 10: materi dasar Mikroprosesor

Mode Operasi PPI 8255• Mode 1

– Jika proses transfer data membutuhkan sinyal handshaking, maka PPI diinisialisasi pada mode 1.

– Jika port B diinisialisasi pada mode 1, maka saluran PC0, PC1, PC2 akan berfungsi sebagai saluran handshake untuk port B.

– Jika port A diinisialisasi pada mode 1 sebagai port input, maka saluran PC3, PC4, PC5 akan berfungsi sebagai sinyal handshake untuk port A. Sedangkan saluran PC6 dan PC7 dapat digunakan sebagai saluran input atau saluran output.

– Jika port A diinisialisasi pada mode 1 sebagai port output, maka saluran PC3, PC6, PC7 akan berfungsi sebagai sinyal handshake untuk port A. Sedangkan port PC4 dan PC5 dapat digunakan sebagai saluran input atau output.

Page 11: materi dasar Mikroprosesor

Mode Operasi PPI 8255

• Mode 2– Hanya port A yang dapat diiinisialisasi pada

mode 2. – Pada mode 2, port A dapat digunakan untuk

transfer data 2 arah (port A berfungsi sebagai port input sekaligus port output) dan menggunakan sinyal-sinyal handshaking.

– Biasanya digunakan untuk memperpanjang bus system ke mikroprosesor slave.

Page 12: materi dasar Mikroprosesor

Insialisasi PPI• Sebelum dapat digunakan sebagai port input

atau port output PPI terlebih dahulu harus diinisialisasi. Berikut ini dijelaskan cara mengiinisialisasi PPI.

• Tentukan Control Word atau data pengontrolan berdasarkan sifat port-port yang telah ditentukan sebelumnya.

• Untuk menentukan nilai tiap bit pada Control Word, ikuti aturan pada tabel di halaman berikutnya.

• Setelah Control Word ditentukan, isikan Control Word tersebut ke Control Register.

Page 13: materi dasar Mikroprosesor

Tabel untuk penentuan

Control Word

Page 14: materi dasar Mikroprosesor

Contoh 1:• Misalkan PPI akan diprogram agar berfungsi

sebagai berikut:– Port B : sebagai port input pada mode 1.– Port A : sebagai port output pada mode 0.– Port C upper sebagai port input– Bit PC3 (Port C Lower) sebagai output.– Misalkan alamat dari Control Register adalah

303 H.

Page 15: materi dasar Mikroprosesor

Control Wordnya:

Page 16: materi dasar Mikroprosesor

Program inisialisasinya :

MOV DX, 303 HMOV AL, 10001110 BOUT DX, AL

Page 17: materi dasar Mikroprosesor

Contoh 2: Semua port diinisialisasi sebagai port output pada mode 0

Control Wordnya adalah sebagai berikut:

Page 18: materi dasar Mikroprosesor

Program inisialisasinya : MOV DX, 303 H MOV AL, 10000000 B OUT DX, AL

Program output data (port A):MOV DX, 300 HMOV AL, 00001111 BOUT DX, AL

Page 19: materi dasar Mikroprosesor

Contoh 3:

• Dengan menggunakan address decoder seperti pada gambar di atas, tentukanlah alamat Port A,B,C dan Control Register.

• Tentukanlah Control Word, diasumsikan port A dan C diset sebagai port input.

• Tuliskan program untuk menginisialisasi PPI.• Tuliskan program untuk menyalakan/mematikan LED-LED

seperti pada gambar di atas.

Page 20: materi dasar Mikroprosesor

Contoh 4:• Program ini membaca data dari saklar yang terhubung ke port 300 H. • Jika saklar off (0) maka lampu-lampu yang terhubung ke port 301 H akan

padam. Jika saklar on (1) maka lampu-lampu yang terhubung ke port 301 H akan menyala. Kedua port tersebut adalah port 8-bit.

Page 21: materi dasar Mikroprosesor

Segmen Programnya:MOV DX, 300 HIN AL,DXAND AL,01 H ; periksa saklar, apakah on

atau offJNZ On

Off: MOV DX,301 HMOV AL,00 H ; u/ mematikan lampuOUT DX,AL

………On: MOV DX,301 H

MOV AL,FF H ; u/ menyalakan lampuOUT DX,AL

……….

Page 22: materi dasar Mikroprosesor

Contoh 5:• Program ini membaca data dari sebuah

sensor suhu. • Jika suhu lebih atau sama dengan 27 derajat,

heater akan dimatikan. Sebaliknya jika suhu kurang dari 27 derajat, maka heater akan dinyalakan.

• Dimisalkan sensor suhu terhubung ke port dengan alamat FFFB H, sedangkan heater terhubung ke port dengan alamat FFFA H.

• Untuk menghidupkan heater pada port FFFA H dikirimkan data 80 H, sedangkan untuk mematikan heater pada port FFFA H dikirimkan data 00 H.

Page 23: materi dasar Mikroprosesor

CODE_HERE SEGMEN 'CODE'ASSUME CS:CODE_HERE

TEMP_IN: MOV DX,FFFB H ; baca data dari sensor

IN AL,DXCMP AL,27 ; uji dengan

bilangan 27JB HEATER_ON ; jika di bawah 27JMP HEATER_OFF ; jika di atas/sama dengan 27

HEATER_ON: MOV AL,80 HMOV DX,FFFA HOUT DX,AL ; hidupkan heaterJMP TEMP_IN ; baca lagi data dari

sensorHEATER_OFF: MOV AL,00 H

MOV DX,FFFA HOUT DX,ALJMP TEMP_IN ; baca lagi data dari

sensorCODE_HERE ENDS

Page 24: materi dasar Mikroprosesor

Men-set/reset bit-bit port C

• Selain digunakan untuk menentukan konfigurasi port-port, control word juga digunakan untuk men-set/reset bit-bit port C (PC0 .. PC7).

• Apabila sebelumnya pada saat control word digunakan untuk menentukan konfigurasi port, bit D7 diisi dengan 1, pada saat control word digunakan untuk men-set/reset nilai bit-bit port C, nilai D7 haruslah diisi dengan 0.

Page 25: materi dasar Mikroprosesor

Contoh: • Nilai bit PC3 akan diset.• Untuk itu ditentukan control wordnya

sebagai berikut:

Page 26: materi dasar Mikroprosesor

Contoh:

• Nilai bit PC5 akan direset.• Untuk itu ditentukan control wordnya sebagai

berikut:

Page 27: materi dasar Mikroprosesor

• Sama seperti control word untuk mengkonfigurasi port, control word ini juga harus dikirimkan ke control register. Jika alamat control register adalah 303 H, maka program inisialisasinya adalah:

MOV DX, 303 HMOV AL, 00000111 BOUT DX, AL

Page 28: materi dasar Mikroprosesor

PPI 8255 pada mode 1 digunakan sebagai port input

• Ada 2 sinyal handshaking yang digunakan, yaitu : strobe dan IBF (input buffer full). Sinyal strobe dihasilkan oleh peripheral pengirim, sedangkan IBF dihasilkan oleh PPI.

Page 29: materi dasar Mikroprosesor

PPI 8255 pada mode 1 digunakan sebagai port output

• Ada 2 sinyal handshaking yang digunakan, yaitu: OBF (output buffer full) dan Acknowledge. Sinyal OBF dihasilkan oleh PPI, sedangkan sinyal acknowledge dihasilkan oleh peripheral penerima.

Page 30: materi dasar Mikroprosesor

Contoh Aplikasi PPI: Pengontrolan mesin bubut oleh mikrokomputer

• Pada sistem ini operasi sebuah mesin bubut akan dikontrol oleh mikrokomputer.

• Mesin bubut digunakan untuk membuat berbagai jenis baut dari batang stainless steel.

• Data-data pemotongan untuk tiap baut tersimpan pada sebuah metal tape..

• Tape reader berfungsi membaca data-data yang tersimpan pada metal tape.

• Mikrokomputer akan membaca data tersebut dari tape reader. • Mikrokomputer juga akan selalu memantau kondisi mesin bubut

untuk memastikan bahwa mesin bubut tidak kehabisan bahan, minyak pelumasnya tidak habis, dan juga memastikan mesin bubut tidak macet oleh berbagai sebab yang lain.

Page 31: materi dasar Mikroprosesor
Page 32: materi dasar Mikroprosesor

Pada aplikasi ini PPI terlebih dahulu diinisialisasi dengan konfigurasi berikut:

• Port A harus diinisialisasi sebagai port input pada mode 1 karena pembacaan data dari tape reader membutuhkan sinkronisasi (menggunakan sinyal-sinyal handshaking).

• Port B digunakan untuk mengoutputkan data pengontrolan berupa sinyal on/off ke mesin bubut dan operasi tersebut tidak membutuhkan sinyal-sinyal handshaking. Untuk itu Port B diinisialisasi sebagai port output pada mode 0.

• Bit PC0, PC1, PC2 digunakan untuk menginputkan data sensor dari mesin bubut dan operasi ini pun tidak membutuhkan sinyal handshaking sehingga port C lower diinisialisasi pada mode 0 sebagai port input.

Page 33: materi dasar Mikroprosesor

• Bit PC3, PC4, PC5 berfungsi sebagai sinyal-sinyal handshaking yang digunakan pada proses transfer data dari tape reader ke port A.

• Bit PC6 digunakan untuk menghasilkan sinyal GO/STOP untuk menghidupkan/mematikan tape reader. Untuk itu port C upper diinisialisasi sebagai port output.

• Bit PC7 tidak digunakan.

Page 34: materi dasar Mikroprosesor

Untuk konfigurasi tersebut control word-nya adalah sebagai berikut :

Page 35: materi dasar Mikroprosesor

Cara Kerja Sistem :• PPI diinisialisasi• Sistem akan membaca port C bit PC0, PC1,

PC2 untuk mengecek apakah mesin bubut siap untuk beroperasi. Pembacaan port C dilakukan dengan melakukan input dari alamat port C.

• Jika mesin bubut siap, maka mikrokomputer akan mengeluarkan perintah START (GO) berupa sinyal "low" melalui bit PC6.

• Hal ini dilakukan dengan menggunakan perintah set/reset command. Karena sinyal ini berupa sinyal low, berarti bit PC6 harus direset. Control word yang digunakan untuk mereset PC6: 00001100 .

Page 36: materi dasar Mikroprosesor

Cara Kerja Sistem :

• Setelah tape reader menerima perintah START (GO), tape reader akan mulai membaca data dan mengirimkan datanya dalam bentuk data 8-bit melalui saluran R0 sampai R7 ke port A.

• Proses transfer data ini menggunakan sinyal-sinyal handshaking untuk sinkronisasi sehingga tape reader hanya akan mengirimkan data berikutnya jika ada konfirmasi dari penerima bahwa data telah berhasil diterima.

Page 37: materi dasar Mikroprosesor

Proses transfer datanya adalah sebagai berikut:

• Tape reader mengirim data melalui bit R0 sampai R7.

• Tape reader kemudian menurunkan level sinyal strobe pada PC4 ke "low" sebagai tanda bahwa data telah dikirim.

• Sebagai balasannya PPI akan menaikkan sinyal IBF (input buffer full) pada PC5 ke "high" sebagai tanda bahwa PPI siap menerima data.

• Pada saat mendeteksi perubahan level IBF ke "high", tape reader akan kembali menaikkan level sinyal strobe ke "high".

Page 38: materi dasar Mikroprosesor

• Perubahan level sinyal strobe dari "low" ke "high" memberikan 2 efek pada PPI. Yang pertama, PPI akan mengambil data dari saluran (PA0..PA7) dan menyimpannya pada buffer di port A.

• Yang kedua, perubahan tersebut akan menyebabkan PPI mengirimkan sinyal interupsi ke mikrokomputer melalui saluran PC3.

• Pada saat menerima sinyal interupsi, prosesor akan mengerjakan suatu rutin interupsi yang akan membaca data dari port A.

• Pada saat membaca data, mikrokomputer akan mengirimkan sinyal RD. Pada saat sinyal ini berubah ke "low" , PPI akan menghentikan pengiriman sinyal interupsi.

• Pada saat sinyal RD berubah menjadi "high", PPI akan menurunkan level sinyal IBF ke "low".

• Sinyal IBF berubah ke "low" merupakan tanda bagi tape reader bahwa proses transfer data telah selesai dan bahwa tape reader boleh mengirimkan data berikutnya.

Page 39: materi dasar Mikroprosesor

Diagram waktu proses transfer data

Page 40: materi dasar Mikroprosesor

• Data yang dibaca dari tape reader dieksekusi di prosesor. Dan sebagai hasilnya mikrokomputer akan mengoutputkan data-data pengontrolan melalui port B ke mesin bubut.

Page 41: materi dasar Mikroprosesor

Catatan:• Instruksi AND

– Penulisan: AND destination, source– Fungsi : Membentuk perkalian logika

– Instruksi AND digunakan untuk mengclear bit bilangan biner, seperti contoh berikut. Nilai bit yang di-AND-kan dengan 1 tidak berubah, sedangkan nilai bit yang di-AND-kan dengan 0 berubah menjadi 0.

Page 42: materi dasar Mikroprosesor

Contoh:

MOV AL, 9D H (1001 1101 B)AND AL, 3C H (0011 1100 B)

Hasilnya, isi AL = 1C H (0001 1100 B

Page 43: materi dasar Mikroprosesor

Instruksi TEST• Penulisan : TEST destination, source• Fungsi instruksi ini ialah membentuk operasi yang

hampir sama dengan AND. Perbedaannya, instruksi AND mengubah operand tujuan, sedangkan instruksi TEST tidak. Instruksi TEST hanya mempengaruhi isi register flag.

• Instruksi TEST memiliki fungsi yang sama dengan instruksi CMP. Perbedaannya adalah bahwa instruksi TEST biasanya mengetes bit tungggal (atau bit ganda), sedangkan instruksi CMP mengetes seluruh data byte atau word.

• Biasanya instruksi TEST diikuti oleh instruksi JZ(Jump if Zero) atau JNZ (Jump if Not Zero).

Page 44: materi dasar Mikroprosesor

Contoh program:• Berikut adalah sekumpulan instruksi untuk

mengetes bit paling kiri dan paling kanan dari register AL. Di sini , 1 (1 H) dipilih untuk mengetes bit paling kanan dan 128 (80 H) untuk mengetes bit paling kiri.

TEST AL,1 H; tes bit paling kanan

JNZ RIGHT ; jika bit paling kanan (bit 0) =1, jump ke label RIGHT

………….. TEST AL, 80 H ; test bit paling kiri JNZ LEFT ; jika bit paling kiri (bit 7)

=1, jump ke label LEFT

Page 45: materi dasar Mikroprosesor

Instruksi IN

• Penulisan : IN akumulator,port• Fungsi : Menginputkan data dari port ke akumulator (register

AL atau register AX).• Port adalah sebuah komponen tempat peralatan input output

terhubung.• Contoh port adalah port serial COM1, COM2 yang biasa

dihubungkan dengan mouse atau keyboard; port printer LPT1, atau port PPI yang biasa digunakan untuk eksperimen.

Page 46: materi dasar Mikroprosesor

Instruksi OUT• Penulisan : OUT port,akumulator• Fungsi : Menyalin (mengoutputkan)

data dari akumulator (Register AL atau Register AX) ke port.

Page 47: materi dasar Mikroprosesor

Instruksi CMP• Penulisan : CMP destination,source• Fungsi : Membandingkan data pada destination dengan

data pada source.• Instruksi perbandingan (CMP) adalah bentuk pengurangan yang

hanya mengubah bit-bit flag, sedangkan operand destination tidak berubah.

Page 48: materi dasar Mikroprosesor

Jump

• Istilah lebih besar (greater) dan lebih kecil (less) mengacu ke bilangan bertanda, sedangkan di atas (above) dan di bawah (below) mengacu ke bilangan tak bertanda.

Page 49: materi dasar Mikroprosesor

II. Mode Pengalamatan Register(Register Addressing)

Bentuk:

MOV AL,BL

SUMBER: REGISTER

TUJUAN: REGISTER

Register addressing adalah mode pengalamatan yang digunakan untuk mentransfer data (byte/word) dari register sumber ke register tujuan.

Arti: copy isi register BL ke register AL

Page 50: materi dasar Mikroprosesor

Contoh Mode Pengalamatan Register:

• MOV AL, BL apa artinya?

• MOV AX, CX apa artinya?

• MOV CS, AX apa artinya?

• MOV CS, DS tidak diijinkan karena segment to segment

• MOV BL, BX Tidak dijinkan karena berbeda ukuran (mixed size)

Page 51: materi dasar Mikroprosesor

Contoh Mode Pengalamatan Register:

• Susun perintah untuk mengisi register segmen DS dengan data 1234 heksadesimal!

• Jawab:MOV AX,1234 immediate

addressing

MOV DS,AX register addressing

Page 52: materi dasar Mikroprosesor

III. Mode Pengalamatan Langsung(Direct Addressing)

Bentuk 1: MOV AL,[0120]

SUMBER: ALAMAT RELATIF MEMORI

Direct addressing merupakan mode pengalamatan untuk mentransfer data antar memori dan register

Arti: copy data pada alamat relatif memori 0120 ke register AL

TUJUAN: REGISTER

Page 53: materi dasar Mikroprosesor

Contoh Bentuk 1:

Susun instruksi assembly untuk memindahkan/copy isi alamat 10120 heksadesimal ke register AL, isi alamat 10150 heksadesimal ke register BL, dan isi alamat 10160 heksadesimal ke register CL! Anggap segment base 1000 tersimpan pada register DS!Jawab:

MOV AX,1000 immediate addressingMOV DS,AX register addressingMOV AL,[0120] direct addressing

MOV BL,[0150] direct addressingMOV CL,[0160] direct addressing

Coba kerjakan contoh di atas menggunakan program DEBUG!

Page 54: materi dasar Mikroprosesor

Bentuk 2: MOV [0120],AL

SUMBER: REGISTER

TUJUAN: ALAMAT RELATIF MEMORI

Contoh: susun instruksi untuk mengisi alamat 10120 dengan data 5 heksadesimal! Anggap segment base yang digunakan adalah 1000 tersimpan dalam DS!

Page 55: materi dasar Mikroprosesor

Jawab: MOV AX,1000 IMMEDIATE ADDRESSINGMOV DS,AX REGISTER ADDRESSINGMOV AL,5 IMMEDIATE ADDRESSINGMOV [0120],AL DIRECT ADDRESSING

Tugas1: Susun instruksi untuk mengisi alamat 20150 heksadesimal dengan data 5, dan alamat 20160 heksadesimal dengan data 2. Isi kedua alamat tersebut dijumlahkan dan hasilnay disimpan di alamat 20170 heksadesimal. Anggap segment base yang digunakan adalah 2000 tersimpan dengan DS! Gunakan program DEBUG untuk menguji program anda, tunjukkan dengan peta memori dan register bahwa program telah berjalan dengan baik.

Page 56: materi dasar Mikroprosesor

IV. Mode Pengalamatan Tak Langsung(Indirect Addressing)

Merupakan mode pengalamatan untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register.

Contoh MOV [BX], AX Pindahkan isi register AX ke

dalam alamat memori yang ditunjukkan oleh isi register BX

Page 57: materi dasar Mikroprosesor

Contoh permasalahan Susunlah intruksi ke dalam bahasa assembly untuk memindahkan data A1B2 yang ada di register AX ke alamat fisik memori 20300 heksadesimal menggunakan mode pengalamatan register indirect, anggap segment yang digunakan adalah DS = 2000 dan alamat relatif yang menunjukkan alamat memory disimpan di register BXJawab:DS : IP = 20300 alamat fisik DS = 20000 alamat awal DS IP = 0300Intruksi yang digunakan

MOV AX, 2000MOV DS, AXMOV BX, 0300MOV AX, A1B2MOV [BX], AX

MOV AX, 2000MOV DS, AXMOV AX, A1B2MOV [0300], AX

DIRECT:

Page 58: materi dasar Mikroprosesor

V. Base Plus Index Addressing Yaitu mode pengalamatan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh jumlah register base dan index.Bentuk1: MOV [BX + SI], AX

Bentuk2: MOV AX,[BX+SI]

Tugas2:Susun intruksi dalam bahasa assembly untuk memindahkan isi akumulator AX yakni A1B2 ke alamat memori 10500 heksadesimal dengan menggunakan mode pengalamatan base plus index, anggap segmen yang digunakan DS = 1000 dan register indeks yang digunakan SI = 300

Page 59: materi dasar Mikroprosesor

V. Register Relative Addressing Yaitu mode pengalamatan untuk tranfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan jaraknya (displacement)

Contoh MOV [BX + 4], AX

Page 60: materi dasar Mikroprosesor

Contoh permasalahan Susun intruksi dalam bahasa assembly untuk memindahkan data A1B2 dari akumulator AX ke alamat memori 20304 H dengan menggunakan register relative addressing , anggap segmen yang digunakan DS : 2000 dan dan displacement 4

DS : IP = 20304 DS = 20000 IP = 0304

Intruksi yang digunakan Mov AX,2000Mov DS, AXMov BX,0300Mov AX,A1B2Mov [Bx + 4], AX

Page 61: materi dasar Mikroprosesor

VI. Base Relative Plus Index Addressing

Merupakan mode pengalamtan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh suatu register base dan register index ditambah displacement nya Contoh :

MOV AX, [BX + DI + 4]

Page 62: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Immediate AddressingMOV AL,15 ; Copy 15 heksadesimal ke register ALMOV BL,40 ; Copy 40 heksadesimal ke register BL MOV CL,50 ; Copy 50 heksadesimal ke register CL MOV DL,60 ; Copy 60 heksadesimal ke register DL

• Ingat! SMS32V23 atau SMS32V50 hanya memiliki 4 buah register serbaguna yakni AL, BL, CL dan DL.

Page 63: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Indirect Addressing

MOV [40],AL ; Copy value in AL to RAM location [40]

MOV BL,[40] ; Copy value in RAM location [A0] into BL

Page 64: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Register Indirect Addressing

MOV [CL],AL ; Copy the value in AL to the RAM location

that CL points to.

MOV BL,[CL] ; Copy the RAM location that CL points to

into the BL register.

• Ingat! Ukuran RAM (memori) SMS32V23 atau SMS32V50 adalah 256 byte.

Page 65: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Register Addressing SMS32V23 atau SMS32V50 tidak menyediakan mode pengalamatan ini. Mode ini dijalankan dengan bantuan memori stack dengan perintah PUSH dan POP. Contoh: jika ingin copy data dari register AL ke BL, maka dilakukan dengan cara:

PUSH ALPOP BL

Page 66: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Register Addressing

5

AL BL

5

Memori Stack

PUSH AL

5

AL BL

5

5

Memori Stack

POP BLInstruksinya:MOV AL,5PUSH ALPOP BL

Page 67: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Contoh persoalanSusun program untuk mengisi alamat 50 dengan data A1 mengunakan akumulator AL. Data tersebut selanjutnya dipindah ke register BL dan isi BL ditambah dengan 5 dan hasilnya di copy ke register CL. Lakukan pengujian dengan simulator SMS32V23 atau SMS32V50!

Page 68: materi dasar Mikroprosesor

Mode Pengalamatan Pada SMS32V23

• Jawab:MOV AL,A1MOV [50],ALMOV BL,[50]ADD BL,5PUSH BLPOP CL