MODUL 3
Disusun Oleh :
E-mail: ara.diriku2@gmail.com
PEMERINTAH PROPINSI JAWA TIMUR
CABANG DINAS PENDIDIKAN WILAYAH KOTA MALANG
SMK NEGERI 4 MALANG
Jl. Tanimbar 22 Malang 65117 ( (0341) 353798, Fax (0341) 3630992
Halaman Perancis
Penulis : Atik Rahmawati, S.Pd (E-mail: ara.diriku2@gmail.com) Layouter: Atik Rahmawati, S,Pd Ilustrator : Atik Rahmawati, S.Pd Copyright ©2018 SMK Negeri 4 Malang.3
Kata Pengantar
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena berkat limpahan rahmat dan karunia-Nya, modul pembelajaran Sistem Komputer ini dapat diselesaikan. Dalam penyusunan modul ini tidak terlepas dari kendala dan hambatan, namun berkat bimbingan dan motivasi dari semua pihak yang telah membantu, penulis dapat menyelesaikan peyusunan modul ini dengan baik.
Modul ini disusun untuk mendukung pelaksanaan pembelajaran online siswa kelas XII SMKN 4 Malang yang sedang berada di Industri, khususnya untuk Program keahlian Teknik Komputer Dan Informatika. Dengan harapan siswa masih bisa tetap belajar, meski sedang melaksanakan prakerin di Industri. Dalam Modul ini disajikan materi SISTEM KOMPUTER yang telah disesuaikan dengan Kurikulum 2013.
Penulis menyadari bahwa Modul ini masih jauh dari sempurna, hal ini tidak lepas dari keterbatasan kemampuan penulis, Oleh karena itu saran, kritik dan masukan yang membangun sangat diharapkan untuk peningkatan kualitas Modul ini. Semoga Modul ini dapat dimanfaatkan dan terus diperbaiki agar dapat memenuhi harapan sebagaimana mestinya
Akhirnya kepada semua pihak yang telah membantu dalam penyusunan Modul ini penulis ucapkan terima kasih.
Malang, Agustus 2018 Penulis
4
Daftar Isi
Halaman Perancis ………2 Kata Pengantar………3 A. Pendahuluan………5 B. Kompetensi Dasar………5 C. Tujuan Pembelajaran……….5 D. Materi Pembelajaran……….61. Pengertian Mode Pengalamatan……….……….6
1.1. Addressing ……….……….6
1.2. Direct Addressing ………..6
1.3. Indirect Addressing ..………7
1.4. Register Addressing .………7
1.5. Indirect register Addressing …..……….8
1.6. Diplacement Addressing .………..8
1.7. Stack Addressing ………..………..8
2. Mode pengalamatan yang dikenal oleh mikrokontroler keluarga 6805……..9
2.1. Inhernt…..………..9 2.2. Imediete………..………10 2.3. Direction……….………..……….…..11 2.4. Extended….………12 2.5. Indexed….……… ..13 2.6. Relativ……….…14 E. Lembar Kerja Siswa……….15
F. Test Formatif……….…….16
5
MODUL 3
MODE DAN FORMAT PENGALAMATAN
A. Pendahuluan
Modul 3 Sistem Komputer ini membahas tentang Mode dan format pengalamatan. Secara umum, Set Instruksi mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). Kumpulan intruksi tersebut menyediakan cara yang bervariasi untuk menemukan lokasi memori, cara cara itulah yang disebut mode pengalamatan. Cara tersebut dapat memudahkan pemrosesan list struktur data yang kompleks.
B. Kompetensi Dasar
➢ Memahami mode dan format pengalamatan
➢ Menggunakan mode dan format pengalamatan untuk memecahkan masalah
C. Tujuan Pembelajaran
Setelah mempelajari modul online ini peserta didik diharapkan dapat:
➢ Memahami mode dan format pengalamatan
➢ Menggunakan mode dan format pengalamatan untuk memecahkan masalah Secara khusus pembelajaran modul online ini diharapkan menjadikan peserta didik mampu memahami :
➢ Mode Pengalamatan INHERENT
➢ Mode Pengalamatan IMEDIATE
➢ Mode Pengalamatan DIRECT
➢ Mode Pengalamatan EXTENDED
➢ Mode Pengalamatan INDEXED
➢ Mode Pengalamatan RELATIVE
6
1. Pengertian Mode Pengalamatan
Mode pengalamatan mempunyai pengertian bagaimana suatu instruksi akan
mendpatkan data yang diperlukannya dalam eksekusi. Karena ada beberapa macam mode pengalamatan yang berbeda, suatu instruksi dapat mengakses operan dalam satu atau beberapa cara yang berbeda. Setiap variasi mode pengalamatan dari suatu instruksi harus memiliki kode operasi (op-code) yang unik, sehingga 62 instruksi dasar mikrokontroler M68HC05 membutuhkan setidaknya 210 kode operasi dari instruksi-instruksinya.
Ada 7 mode pengalamatan yang digunakan oleh CPU yaitu :
1.1. Addressing
Bentuk pengalamatan : OPERAND = A
Mode pengalamatan ini dipergunakan untuk menentukan dan menggunakan konstanta atau nilai-nilai variabel awal. Di dalam Immediate Addressing tidak terdapat referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand. Kelebihan mode pengalamatan ini adalah dapat menghemat siklus memori atau cache dalam siklus instruksi. Sementara kerugian dari immediate addressing adalah ukuran bilangan dibatasi oleh ukuran field alamat.
1.2 Direct Addressing
Bentuk pengalamatan : EA = A
Direct Addressing adalah mode pengalamatan yang sederhana yang hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus. Hanya saja, pada Direct Addressing memiliki keterbatasan ruang alamat.
1.3. Indirect Addressing
Bentuk pengalamatan : EA = ( A )
Di dalam Indirect Addressing, field alamat mengacu pada alamat word di dalam memori, sehingga membuat alamat operand menjadi lebih panjang. Untuk setiap panjang word sebesar N, dapat digunakan sebuah ruang alamat 2N. Sedangkan kerugiannya adalah bahwa eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand, sebuah referensi memori untuk mengambil alamat dan referensi lainnya untuk mendapatkan nilainya
7
1.4. Register Addressing
Bentuk pengalamatan : EA = R
Register Addressing mirip dengan Direct Addressing, dan yang membedakannya hanya terletak pada field alamat yang mengacu pada sebuah register, dan bukannya pada alamat memori utama. Register Addressing memerlukan field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi memori.
1.5. Indirect Register Addressing
Bentuk pengalamatan : EA = (R)
Indirect Register Addressing mirip dengan Indirect Addressing, yang membedakannya hanya terletak pada field alamat yang mengacu pada register dan bukannya pada alamat memori utama. Keterbatasan ruang alamat dapat diatasi dengan membiarkan field alamat mereferensi lokasi panjang word di dalam register yang berisi sebuah alamat. Hanya saja untuk eksekusi instruksi, menggunakan satu referensi memori yang lebih sedikit dibandingkan dengan Indirect Addressing.
1.6. Displacement Addressing
Bentuk pengalamatan : EA =A + (R)
Displacement Addressing adalah mode pengalamatan yang fleksibel yang mampu mengkombinasikan Direct Addressing dan Indirect Register Addressing. Diplacement Addressing yang kompleks mensyaratkan instruksi untuk memiliki dua buah field alamat, dan sedikitnya sebuah field yang eksplisit. Nilai A yang eksplisit digunakan secara direct sedangkan (R) merupakan referensi implisit yang berdasarkan opcode, mengacu ke register yang isinya ditambahkan ke A sehingga memperoleh Effective Address.
1.7. Stack Addressing
Bentuk penglamatan : EA = puncak stack
Stack adalah array lokasi yang linear, yang merupakan blok lokasi yang terbalik, sehingga sering disebut juga Last In First Out Queue. Tidak ada referensi memori di dalam Stack Addressing di mana aplikasi memori yang dimilikinya terbatas. Stack addressing merupakan
8
bentuk implied addressing. Instruksi-instruksi mesin tidak perlu memiliki referensi memori namun secara implisit beroperasi pada bagian paling atas stack.
2. Mode pengalamatan yang dikenal oleh mikrokontroler keluarga 6805 ada beberapa macam sebagaimana tercantum di bawah ini:
➢ Mode Pengalamatan INHERENT
➢ Mode Pengalamatan IMEDIATE
➢ Mode Pengalamatan DIRECT
➢ Mode Pengalamatan EXTENDED
➢ Mode Pengalamatan INDEXED
➢ Mode Pengalamatan RELATIVE
2.1. Inhernt
Mode Pengalamatan INHERENT
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi. Contoh:
0200 4C INCA ; increment akumulator
Pertama CPU membaca kode operasi $4C yang menginstruksikan CPU untuk menambah harga dari isi akumulator. Kemudian CPU akan menyimpan harga baru ke dalam akumulator dan mengeset bitflag jika dibutuhkan. Tabel 5.2 menampilkan semua instruksi M68HC05 yang dapat menggunakan mode pengalamatan inherent.
Instruksi-instruksi Mode Pengalamatan INHERENT
Instruksi
Mnemonic
Arithmetic Shift Left Arithmetic Shift Right Clear Carry Bit
Clear Interrupt Mask Bit
ASLA, ASLX ASRA, ASRX CLC
CLI Clear
Complement (invert all bits)
CLRA, CLRX COMA, COMX
9
Decrement Increment
DECA, DECX INCA, INCX Logical Shift Left
Logical Shift Right Multiply
Negate (two’s complement)
LSLA, LSLX LSRA, LSRX MUL
NEGA, NEGX No Operation
Rotate Left thru Carry Rotate Right thru Carry Reset Stack Pointer
NOP
ROLA, ROLX RORA, RORX RSP
Return from Interrupt Return from Subroutine Set Carry Bit
Set Interrupt Mask Bit
RTI RTS SEC SEI Enable IRQ, STOP Oscillator
Software Interrupt
Transfer Accumulator to Index Register Test for Negative Zero
STOP SWI TAX
TSTA, TSTX Transfer Index Register to Accumulator
Wait for Interrupt
TXA WAIT
2.2 Immediate
Dalam mode pengalamatan immediate, operan terkandung di dalam byte yang langsung mengikuti kode operasi. Mode ini digunakan saat suatu harga atau konstanta diketahui saat program dibuat dan tidak akan dirubah selama eksekusi program. Operasi dengan mode ini membutuhkan dua byte instruksi, satu untuk kode operasi dan satu lagi untuk data byte. Contoh:
0200 A6 02 LDA #$02 ; Load konstanta ke akumulator
Pertama CPU akan membaca kode operasi $A6 yang menginstruksikan CPU untuk me-load akumulator dengan nilai immediate yang mengikuti kode operasi. Kemudian CPU akan membaca dataimmediate $02 dari lokasi memori dengan alamat $0201 ke dalam akumulator. Tabel 5.1 menampilkan semua instruksi keluarga M68HC05 ang dapat menggunakan mode pengalamatan immediate ini.
10
Instruksi-instruksi Mode Pengalamatan IMMEDIATE
Instruksi
Mnemonic
Add with Carry Add (without carry) Logical AND
Bit Test Memory with Accumulator
ADC ADD AND BIT Compare Accumulator with Memory
Compare Index Register with Memory Exclusive OR Memory with Accumulator Load Accumulator from Memory
CMP CPX EOR LDA Load Index Register from Memory
Inclusive OR
Substract with Carry
Substract (without borrow)
LDX ORA SBC SUB
2.3 Direction
Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct
menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operan. Contoh: 0200 B6 E0 LDA $E0
Pertama CPU akan membaca kode operasi $B6 yang menginstruksikan CPU untuk
menggunakan mode pengalamatan direct. Kemudian CPU membaca $E0 dari lokasi memori dengan alamat $0201. Harga $E0 ini diterjemahkan sebagai low-order dari alamat
dalam direct page ($0000 sampai $00FF). Setelah itu CPU menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat sebagai $00. Alamat lengkap $00E0 ini
11
dikerjakan. Tabel 5.4 menampilkan semua instrusi yang bisa dikerjakan dengan mode pengalamatan direct ini.
C. Instruksi-instruksi Mode Pengalamatan DIRECT
Instruksi
Mnemonic
Add with Carry Add (without carry) Logical AND
Arithmetic Shift Left
ADC ADD AND ASL Arithmetic Shift Right
Clear Bit in Memory
Bit Test Memory with Accumulator Branch if Bit n is Clear
ASR BCLR BIT BRCLR Branch if Bit n is Set
Set Bit in Memory Clear
Compare Accumulator with Memory
BRSET BSET CLR CMP Complement (invert all bits)
Compare Index Register with Memory Decrement
Exclusive OR Memory with Accumulator
COM CPX DEC EOR Increment Jump Jump to Subroutine
Load Accumulator from Memory
INC JMP JSR LDA Load Index Register from Memory
Logical Shift Left Logical Shift Right
Negate (two’s complement)
LDX LSL LSR NEG Inclusive OR
Rotate Left thru Carry Rotate Right thru Carry Substract with Carry
ORA ROL ROR SBC Store Acuumulator in Memory
Strore Index Register in Memory Substract (without borrow) Test for Negative or Zero
STA STX SUB TST
12
2.4 Extended
Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.
0200 C6 03 65 LDA $0365
Pertama CPU akan membaca kode operasi C6 yang menginstruksikan akumulator untuk menggunakan mode pengalamatan extended. Kemudian CPU akan membaca $03 dari lokasi memori $0201dan diterjemahkan sebagai alamat high-order. Setelah itu CPU membaca $65 dari lokasi $0202 dan diterjemahkan sebagai low-order dari alamat. Terakhir, CPU
membangun alamat lengkap $0365 dan meletakkannya dalam bus alamat dan kemudian melakukan operasi read sehingga isi memori dengan alamat $0365 akan tersedia dalam bus data. Tabel 5.3 di bawah ini akam memperlihatkan semua instruksi yang dapat digunakan dalam mode pengalamatan extended.
Instruksi-instruksi Mode Pengalamatan EXTENDED
Instruksi
Mnemonic
Add with Carry Add (without carry) Logical AND
Bit Test Memory with Accumulator
ADC ADD AND BIT Compare Accumulator with Memory
Compare Index Register with Memory Exclusive OR Memory with Accumulator Jump CMP CPX EOR JMP Jump to Subroutine
Load Accumulator from Memory
JSR LDA
13
Exclusive OR Memory with Accumulator Jump
LDX ORA Substract with Carry
Store Accumulator in Memory Store Index Register in Memory Substract (without borrow)
SBC STA STX SUB
2.5 Indexed
Dalam mode pengalamatan indexed, alamat efektif adalah variabel dan tergantung pada dua faktor: 1) isi index register saat itu dan 2) nilai offset yang terkandung dari byte yang mengikuti kode operasi. Terdapat tiga jenis pengalamatan indexed yang didukung oleh CPU keluarga M68HC05, yaitu: no-offset, 8-bit offset, dan 16-bit offset. Dalam mode
pengalamatan indexed-no offset, alamat efektif dari operan terkandung dalam index register 8-bit. Karena itu, mode pengalamatan ini dapat mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini membutuhkan satu byte instruksi. Contoh: 0200 F6 LDA 0,X
Pertama CPU akan membaca kode operasi $F6 yang menginstruksikan CPU untuk menggunakan mode pengalamatan indexed-no offset. Kemudian CPU menyusun alamat lengkap dengan menjumlahkan $0000 ke isi dari index register 8-bit (X). Alamat ini
kemudian diletakkan dalam bus alamat dan setelah itu dilakukan proses pembacaan data. Tabel 5.5 menampilkan semua instruksi yang dapat menggunakan mode pengalamatan ini.
INDEXED-NO OFFSET dan INDEXED-8 BIT OFFSET
Instruksi
Mnemonic
Add with Carry Add (without carry) Logical AND
Arithmetic Shift Left
ADC ADD AND ASL
Arithmetic Shift Right
Bit Test Memory with Accumulator
ASR BIT
14
Clear
Compare Accumulator with Memory
CLR CMP Complement (invert all bits)
Compare Index Register with Memory Decrement
Exclusive OR Memory with Accumulator
COM CPX DEC EOR Increment Jump Jump to Subroutine
Load Accumulator from Memory
INC JMP JSR LDA Load Index Register from Memory
Logical Shift Left Logical Shift Right
Negate (two’s complement)
LDX LSL LSR NEG Inclusive OR
Rotate Left thru Carry Rotate Right thru Carry Substract with Carry
ORA ROL ROR SBC Store Acuumulator in Memory
Strore Index Register in Memory Substract (without borrow) Test for Negative or Zero
STA STX SUB TST
Dalam mode pengalamatan indexed-8 bit offset, alamat efektif dicapai dengan
menambahkan data byte yang mengikuti kode operasi dengan isi dari index register. Harga byte offset yang disediakan dalam instruksi adalah integer tak bertanda 8-bit. Karena itu operasi ini adalah dua byte instruksi di mana offset terkandung dalam byte yang mengikuti kode operasi. Isi dari index register tidak akan dirubah. Contoh: 0200 E6 05 LDA 5,X
Pertama CPU akan membaca kode operasi $E6 yang menginstruksikan CPU menggunakan mode pengalamatan indexed 8-bit offset. Kemudian CPU akan membaca 8-bit offset ($05) dari alamat $0201. CPU akan menyusun alamat lengkap dengan menambahkan nilai offset $05 ke isi dari index register 8-bit (X). Setelah itu, alamat diletakkan dalam bus alamat dan opersi pembacaan data ke akumulator dikerjakan. Tabel 5.5 menunjukkan semua instruksi yang mampu menggunakan mode pengalamatan ini. Dalam mode pengalamatan indexed-16 bit offset, alamat efektif dari operan suatu instruksi adalah hasil penjumlahan antara isi
15
dari index register 8-bit dengan dua byte alamat yang mengikuti kode operasi. Isi dari kode operasi tidak dirubah. Instruksi ini memakan tiga byte, satu untuk kode operasi dan dua byte untuk offset 16-bit. Contoh: 0200 D6 03 77 LDA $377,X
Pertama CPU akan membaca kode operasi $D6 yang menginstruksikan CPU untuk menggunakan mode pengalamatan indexed –16 bit offset. Kemudian CPU akan membaca high order alamat ($03) dari alamat memori $0201 dan membaca low order alamat ($77) dari alamat $0202. CPU akan menyusun alamat lengkap dengan menambahkan isi dari index register 8-bit dengan 16-bit alamat yang baru saja dibaca. Alamat ini diletakkkan dalam bus alamat dan kemudian operasi pembacaan data dilakukan.
Instruksi-instruksi Mode Pengalamatan INDEXED-16 BIT OFFSET
Instruksi
Mnemonic
Add with Carry Add (without carry) Logical AND
Bit Test Memory with Accumulator
ADC ADD AND BIT Compare Accumulator with Memory
Compare Index Register with Memory Exclusive OR Memory with Accumulator Jump CMP CPX EOR JMP Jump to Subroutine
Load Accumulator from Memory
Exclusive OR Memory with Accumulator Jump
JSR LDA LDX ORA Substract with Carry
Store Accumulator in Memory Store Index Register in Memory Substract (without borrow)
SBC STA STX SUB
KERJAKAN TUGAS DI BAWAH INI, UNTUK PENDALAMAN MATERI
16
2. Jelaskan Mode pengalamatan Extended
3. Sebutkan instruksi dalam mode pengalamatan indexed
PILIHLAH JAWABAN YANG TEPAT !
1. Dalam mode pengalamatan semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh cpu dan tidak dibutuhkan operan eksternal dari memori atau
dari program. Disebut….
a. Indexed
b. Logika
c. Dirction
d. Extended
e. Inherent
2. Operasi dengan metode immediate membutuhkan dua byte intruksi yaitu….
a. Satu untuk kode intruksi dan satu lagi untuk data byte intruksi
b. Satu untuk kode intruksi dan satu lagi untuk data byte
c. Satu untuk kode byte dan satu lagi untuk data intruksi
d. Satuuntukberduameatode
e. Satu untuk kode operasi dan satu lagi untuk data byte
3. Mode format pengalamatandibawahiniadalah, kecuali ...
a. Inherent
b. Extended
c. Immediate
d. Pemformatan
e. Direct
4. Menspesifikasikanoperasi yang akandilakukansebagaikodeoperasi…..
a. Operation code
b. Next intruction reference
c. Inhernt code
d. Source operand reference
e. Result operand reference
5. Operasidapatberasaldarilebihsatusumberdisebut…..
a. Operation code
b. Source operand reference
c. Next intruction reference
d. Inhernt code
e. Result operand reference
6. Yang bukan merupakan teknik pengalamatan adalah .... a. Immediate Addressing
17
b. Direct Addressing c. Display Addressing d. Register Addressing e. Stack Addressing
7. Salah satu ciri pengalamatan langsung (direct addressing) adalah .... a. Tidak adanya referensi memori
b. Letak operand berada pada memori yang dituju oleh isi register c. Diperlukan memori ganda
d. Field alamat berisi efektif address sebuah operand
e. Mengacu pada register
8. Yang bukan merupakan Instruksi-instruksi Mode Pengalamatan INHERENT adalah..
a. Arithmetic Shift Left
b. Arithmetic Shift Right
c. Clear Carry Bit
d. Clear Interrupt Mask Bit
e. Add with Carry
9. Yang bukan merupakan Instruksi-instruksi Mode Pengalamatan IMEDIATE adalah..
a. Add with Carry
b. Arithmetic Shift Left
c. Add (without carry)
d. Logical AND
e. Bit Test Memory with Accumulator
10.Semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Berikut
adalah cara kerja mode pengalamatan…
a. Inhernt b. Immediate c. Extended d. Indexed e. Relativ