Pengalamatan pada mikroprosesor 8085 dibagi atas: Pengalamatan Implied (Implied addressing), pengalamatan seketika (immediate addressing), pengalamatan langsung (direct addressing), pengalamatan tidak langsung (indirect addressing), dan pengalamatan register (register addressing).
Pengalamatan ImpliedPenglamatan jenis ini adalh instruksi
yang hanya terdiri dari kode operasi (op-code) yaitu 8-bit. Instruksi
pengalamatan paling sederhana ini adalah operasi yang men-set atau meng-clear
register bendera (Reg. Flag), menambah/mengurangi register Internal (A, B, C,
D, E, H, L, SP), atau mentrasfer isi dari suatu register ke register yang lain.
Contoh : INR A 3C; Naikkan suatu isi ACC.
ADD B 80; Jumlahkan isi ACC dengan isi
register B
Pengalamatan Seketika (Immediate Addressing)
Pengalamatan seketika adalah instruksi
yang operandnya adalah data langsung. Untuk penstranferan data Mikroprosessor
8085 mempunyai dua bentuk dasar dari instruksi pengalamatan seketika ini yaitu:
- Bentuk MVI (Move Immediate); Bentuk ini digunakan untuk
mentransfer data 8-bit ke suatu register.
Contoh : MVI A, 05 3E-05 ; Data 05 diberikan ke Acc.
- Bentuk LXI (Load Immediate); Bentuk ini digunakan untuk
membebani pasangan register dengan data 16-bit. Setiap Instruksi LXI terdiri
dari 3 byte, yaitu byte pertama berisi Op-Code, byte kedua dan ketiga berisi
data immediate 16 bit.
Contoh : LXI H, 7894 21-94-78 ; Reg. HL = 7894
Pengalamatan Langsung (Direct Addressing)
Pengalamatan langsung adalah
pengalamatan yang langsung menuju lokasi memori. Instruksi ini terdiri dari
kode operasi yang diikuti oleh alamat dari lokasi yang dituju. Mikroprosessor
8085 mempunyai dua bentuk instruksi pengalamatan langsung yaitu : Instruksi
membebani yang menyimpan Accumulator, instruksi membebani yang menyimpan isi
pasangan register HL.
Contoh:
Assembly Machine Comment
LDA a16 3A-ll-hh Reg. A diisi dengan isi alamat a16
STA a16 32-ll-hh Isi Reg. A disimpan pada alamat a16
LHLD a16 2A-ll-hh HL dibebani dengan data dari isi memory
a16 + 1.
SHLD a16 22-ll-hh Isi pasangan Reg. HL disimpan pada
alamat a16 dan a16 +1.
Catatan : a16 = alamat 16-bit , ll = alamat low byte
hh = alamat high byte
Pengalamatan Tidak Langsung (Indirect Addressing)
Pengalamatan tidak langsung adalah
pengalamatan suatu lokasi memori dimana pengalamatan dilakukan melalui
register. Pengalamatan tidak langsung pada 8085 dilakukan melalui register M
dan dengan instruksi STAX dan LDAX. Register M adalah memori dimana alamatnya
terdapat pada pasangan register HL.
Contoh :
Assembly Machine Comment
LDAX B 02 ;Bebani Reg. A dengan isi alamat yang alamatnya
terdapat pada Reg. BC
LDAX D 0A ;Bebani Reg. A dengan isi alamat yang alamatnya
terdapat pada Reg. DE
STAX B 12 ;Simpan isi Reg. A pada lokasi memory yang
alamatnya terdapat pada Reg. BC
STAX D 1A ;Simpan isi Reg. A pada lokasi memory yang
alamatnya terdapat pada Reg. DE
MVI M, 05 36-05 ;Bebani memory dimana alamatnya pada HL
dengan data 05
Contoh berikut ini mengilustrasikan bagaimana pasangan Register
dibebani dengan alamat memory dan kemudian dengan menggunakan
instruksi
LDAX B Akkumulator dibebani dengan data dari lokasi memory
1000(H), dan
selanjutnya data tersebut disimpan kembali pada alamat 1200(H)
dengan instruksi
STAX D.
Contoh :
Assembly Machine Comment
LXI B, 1000 (H) 01-00-10 ; alamat 1000(H) BC
LXI D, 1200 (H) 11-00-12 ; alamat 1200(H) DE
LDAX B 0A ; isi alamat 1000(H) ACC.
STAX D 12 ; isi Akkumulator alamat 1200
Pengalamatan Register
Pengalamatan ini merupakan
pemindahan/pembacaan data antara register. Pengalamatan register ini merupakan
pengalamatan yang paling umum digunakan. Pengalamatan register ini mempunyai
panjang 8-bit.
- Instruksi Data Transfer Antara Register :
Kelompok ini terdiri dari 63 Instruksi yang berbeda. Instruksi ini
disebut
dengan pemindahan (MOV = Move). Format dasar dari instruksi MOV
digambarkan seperti dibawah ini :
MOV rd, rs rd = Register tujuan
rs = Register asal
Daftar yang lengkap dari instruksi MOV diperlihatkan pada daftar Instruksi
set 8085. Perhatikan bahwa beberapa dari instruksi ini menggunakan pengalamatan
indirect seperti pengalamatan Register.
Contoh berikut menunjukkan bagaimana suatu bilangan pada
Accumulator dipindahkan ke Register D dan E. Instruksi mula-mula
mengcopy isi Accumulator ke Register D dan kemudian mengcopy isi
Register D ke Register E.
Contoh :
Assembly Machine Comment
MOV D, A 57 ; Isi Acc. Dicopy ke Reg. D
MOV E, D 5A ; Isi Acc. Dicopy ke Reg. E
0 komentar:
Posting Komentar