mode pengalamatan
Mode dan Format 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) Decrement Increment |
CLRA, CLRX
COMA, COMX 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 |
(imersion, 2015)
----
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.
(Blog, 2015)
----
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 loworder dari alamat dalamdirect page ($0000 sampai $00FF).Setelah itu CPU
menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat
sebagai $00. Alamat lengkap $00E0 ini kemudian diletakkan dalam bus alamat dan
kemudian proses pembacaan data pun dikerjakan. Tabel 5.4 menampilkan semua
instrusi yang bisa dikerjakan dengan mode pengalamatan direct ini.
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 loworder dari alamat dalamdirect page ($0000 sampai $00FF).Setelah itu CPU
menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat
sebagai $00. Alamat lengkap $00E0 ini kemudian diletakkan dalam bus alamat dan
kemudian proses pembacaan data pun dikerjakan. Tabel 5.4 menampilkan semua
instrusi yang bisa dikerjakan dengan mode pengalamatan direct ini.
(Endra Sumartono, 2014)
----
Extended
Partisi Extended juga merupakan partisi utama pada harddisk. Partisi Extended berfungsi untuk mengatasi keterbatasan pembagian partisi. Partisi Extended tidak menangani pengolahan data secara langsung. Untuk dapat menggunakannya, kita harus menciptakan Partisi Logical terlebih dahulu. Bisa dibilang tipe partisi ini adalah partisi lain selain Partisi Primary. (Adinata, 2015)
----
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.
(hsutanto)
----
Mnemonic, Operation, Machine Code, Addressing Mode
Operation code (Op code), Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
Source Operand reference, Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi
Result Operand reference, Merupakan hasil atau keluaran operasi
Next Instruction Reference, Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
B. MnemonicKode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
ADD = penambahan
SUB = substract (pengurangan)
LOAD = muatkan data ke memori
Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat menetapkan lokasi masing – masing operand.
Operand dari Operation1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register
C. Addressing Mode ( Mode Pengalamatan )
Mengatasi keterbatasan format instruksi :
– Dapat mereferensi lokasi memori yang besar
– Mode pengalamatan yang mampu menangani keterbatasan tersebut :
Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
Memiliki pertimbangan dalam penggunaannya.
ADDRESSING MODE
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack
Pengenalan Mode Pengalamatan
Mode pengalamatan adalah bagaimana cara menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan diambil.
Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.
(Sekolah, 2016)
Listing alamat, mnemonic, kode mesin(OpCode), dan addressing mode
A. Elemen Instruksi Mesin
Operation code (Op code): Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
Source Operand reference: Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi
Result Operand reference: Merupakan hasil atau keluaran operasi
Next Instruction Reference: Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
B. Mnemonic
Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
– ADD = penambahan
– SUB = substract (pengurangan)
– LOAD = muatkan data ke memori
• Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat menetapkan lokasi masing – masing operand
• Operand dari Operation
1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register.
• Representasi Instruksi
Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
Layout instruksi dikenal dengan format instruksi.
• Korelasi
Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
Dalam bahasa tingkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
• Jenis-Jenis Instruksi
1. Pengolahan data (data processing),
meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
2. Perpindahan data(data movement),
berisi instruksi perpindahan data antar register maupun modul I/O. Untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data (data storage),
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program (program flow control),
berisi instruksi pengontrolan operasi dan pencabangan. Instruksi ini berguna untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain
C. Addressing Mode ( Mode Pengalamatan )
Mengatasi keterbatasan format instruksi :
– Dapat mereferensi lokasi memori yang besar
– Mode pengalamatan yang mampu menangani keterbatasan tersebut :
1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
2. Memiliki pertimbangan dalam penggunaannya.
(Sekolah, Modem dan format pengalamatan, 2016)
