mikroprosessor - Salahuddin bin Ali

advertisement
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
G
INSTRUKSI DASAR
MIKROPROSESSOR 8085
Agar suatu mikrokomputer dapat bekerja maka harus diberikan instruksi,
dimana instruksi ini merupakan perintah-perintah yang akan dilaksanakan oleh
mikroprosessor. Instruksi ini terdiri dari kode operasi (Op-Code) dan alamat atau
data yang diperlukan.
Kode Operasi (Op-Code) pada CPU 8085 terdiri dari 8-bit, yang berarti
terdapat 256 (28) instruksi yang berbeda tetapi yang diperkenalkan pada umum
hanya 246 instruksi. Bentuk format dari instruksi umumnya terdiri dari Op-Code
dan Operand. Op-Code adalah singkatan dari Operation Code yang menyatakan
instruksi yang akan dilaksanakan, sedangkan Operand adalah data yang
digunakan oleh Op-Code yang berupa data atau alamat. Format dari bentuk
perintah yang digunakan pada CPU 8085 ada 3 jenis yaitu 1 byte, 2 byte, 3 byte
yang ditunjukkan pada gambar berikut.
Byte 1
Byte 2
Byte 3
Kode Operasi
(Op-Code)
Data byte rendah
(low order data)
atau
byte rendah alamat
(low order address)
Data byte tinggi (high
order data)
Atau
Byte tinggi alamat
(high order address)
Gambar Bentuk Format dari Perintah CPU 8085
Berdasarkan fungsinya instruksi CPU 8085 dapat dibedakan atas 5 jenis, yaitu :





Instruksi Pemindahan Data (Data Transfer)
Instruksi Pemrosesan Data (Data Processing)
Instruksi Kendali (Control)
Instruksi Masukan-Keluaran (Input-Output)
Instruksi Lompat dan Cabang (Jump and Branch)
Dosen Pembimbing : Salahuddin, SST
1
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
H
SISTEM STACK
1. Operasi Tranfer Data Stack
Mikroprosessor 8085A mempunyai sifat penumpukan data dengan system
LIFO (Last In First Out). Stack digunakan untuk menyimpan alamat kembali
(return) dari subroutine dan juga penyimpanan data untuk sementara waktu. Agar
pemogram mengetahui lokasi Stack penyimpanan data maka perlu alamat Stack
tersebut ditandai terlebih dahulu. Penandaan ini dilaksanakan dengan mengisi SP
(Stack Pointer). Instruksi yang berhubungan dengan Stack ini adalah PUSH, POP,
XTHL. POP membaca data dari Stack, dan XTHL adalah mempertukarkan ini
Register HL dengan isi Stack yang ditunjuk oleh SP.
Assembly
Machine
PUSH PSW
F5
Comment
; Isi Reg. A dan Flag disimpan pada
stack
PUSH B
C5
; Isi pasangan Reg. BC disimpan pada
stack
PUSH D
D5
; Isi pasangan Reg. DE disimpan pada
stack
PUSH H
E5
; Isi pasangan Reg. HL disimpan pada
stack
POP PSW
F1
; data pada stack diambil kembali dan
dimasukkan ke Reg. A dan Flag.
POP B
C1
; data pada stack diambil kembali dan
dimasukkan ke Reg. BC
Dosen Pembimbing : Salahuddin, SST
2
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
POP D
D1
; data pada stack diambil kembali dan
dimasukkan ke Reg. DE
POP H
E1
; data pada stack diambil kembali dan
dimasukkan ke Reg. HL
XTHL
E3
; isi Reg. HL saling dipertukarkan
dengan data yang terdapat pada stack.
2. Operasi PUSH
Instruksi PUSH merupakan instruksi untuk menyimpan data pada Stack.
Instruksi set ini terdiri dari instruksi PUSH, POP, XTHL. Operasi dari PUSH ini
ditunjukkan paada gambar berikut:
PUSH D
setelah
sebelum
D
SP
12
34
900 3
E
D
SP
12
34
E
900 1
9001
B6
9001
34
9002
05
9002
12
9003
0F
9003
0F
9004
08
9004
08
Memory Stack
Gambar Operasi PUSH
Anggap bahwa isi SP adalah 9003(H) dan pasangan register DE berisi data
1234(H). Instruksi PUSH membuat isi SP dikurangi satu (SP-1 = 9002) dan 12(H)
dari Reg. D disimpan pada memori 9002. Kemudian isi SP dikurangi satu lagi
Dosen Pembimbing : Salahuddin, SST
3
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
(SP-2=9001) dan kemudian data 34(H) dari Reg. E disimpan pada memory 9001,
sedangkan isi alamat 9003 sampai 9004 dan isi register tetap.
3. Operasi POP
Instruksi POP adalah instruksi yang membaca data kembali dari Stack,
seperti ditunjukkan pada gambar berikut ini :
POP D
setelah
sebelum
D
SP
66
87
900 1
E
D
SP
12
34
E
900 3
9001
34
9001
34
9002
12
9002
12
9003
0F
9003
0F
9004
08
9004
08
Memory Stack
Gambar Operasi POP
Langkah-langkah operasi POP D menghasilkan sebagai berikut: Anggap
bahwa isi SP tidak berubah dari saat instruksi PUSH (SP=9001). Data dari Stack
alamat 9001 diambil kembali dan dimasukkan ke Register E dan setelah itu isi SP
Dosen Pembimbing : Salahuddin, SST
4
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
ditambah satu (SP+1=9002(H)), kemudian isi alamat 9002(H) dimasukkan ke
register D selanjutnya isi SP ditambah satu lagi (SP+2=9003(H)).
4. Operasi Exchange HL dengan Data Stack (XTHL):
Instruksi ini meng-exchange isi pasangan Register HL dengan data yang
ada pada stack.
Contoh :
Data 1000 (H) di push pada stack dan HL berisi 2000 (H), maka setelah instruksi
XTHL akan mengakibatkan kedua harga ini diexchage, sehingga HL berisi
1000 (H) dan stack berisi 2000 (H).
5. Miscelleneous Data Transfer Instruction.
Instruksi Miscelleneous adalah instruksi yang tidak termasuk kepada
kelompok diatas. Instruksi-instruksi ini seperti yang terdapat pada table.
Assembly
Machine
IN
DB p8
p8
Comment
; Baca data yang ada pada Port p8 dan simpan di
Acc.
OUT p8
D3 p8
; Keluarkan isi Acc ke Port beralamat p8
SPHL
F9
; Isi pasangan Reg. HL diberikan pada Stack
Pointer (SP)
XCHG
EB
; HL dan DE saling dipertukarkan
6. Instruksi IN dan OUT
Instruksi IN dan OUT berfungsi untuk berhubungan dengan peralatan
input/output. Instruksi IN dan OUT diikuti dengan alamat input output yang akan
dituju. Pada saat mikroprosessor melaksanakan instruksi IN atau OUT saluran
Dosen Pembimbing : Salahuddin, SST
5
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
alamat byte rendah dan byte tinggi sama yaitu berisiskan alamat input/output yang
dituju, jadi untuk mendekodekan alamat input/output dapat diambil dari saluran
alamat tinggi atau alamat rendah. Jadi lokasi alamat input/output yang dapat
diakses maksimum 256.
Instruksi OUT 20H menyebabkan isi akkumulatordikeluarkan ke port
(Bandar) yang beralamat 20H dan instruksi IN 21H menyebabkan data pada port
yang beralamat 21H masuk pada akkumulator.
7. Instruksi SPHL
Instruksi ini berguna untuk membebani Stack Pointer dengan isi pasangan
register HL. Instruksi SPHL ini hanya 1 byte (Op-Code saja). Instruksi ini sering
digunakan untuk menandai Stack Pointer untuk menggantikan instruksi LXI SP.
Misalnya sebelum instruksi SPHL ini isi Stack Pointer (SP) adalah 0008 (H) dan
pasangan register HL berisi 7008 (H). Setelah instruksi ini dikerjakan
microprocessor maka Stack Pointer akan berisi 7008 (H).
8. Instruksi XCHG
Instruksi ini berfungsi untuk meng-exchange isi pasangan register HL
dengan pasangan register DE. Anggap sebelum instruksi XCHG isi pasangan
register HL = 5643 (H), DE = 7613 (H), maka setelah instruksi XCHG dikerjakan
mikroprosessor maka isi pasangan register HL = 7613 (H) dan DE = 5643 (H).
Contoh :
Assembly
Machine
LXI D, 1200 (H)
11-00-12
; Tanda untuk alamat 1200 (H)
LXI H, 1000 (H)
21-00-10
; Tanda untuk alamat 1000 (H)
Dosen Pembimbing : Salahuddin, SST
Comment
6
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
MOV A, M
7E
;
Data
dari
alamat
1000
(H)
dimasukkan ke Accumulator.
XCHG
EB
;
Tanda
untuk
alamat
saling
dipertukarkan.
MOV B, M
46
; Isi alamat 1200 (H) dimasukkan ke
register B
MOV M, A
77
; Isi alamt 1000 (H) dimasukkan ke
alamat 1200 (H).
XCHG
EB
; Tanda dipertukarkan kembali.
MOV M, B
70
; Isi alamat 1200 (H) yang pertama
dimasukkan ke alamat memori.
Dosen Pembimbing : Salahuddin, SST
7
Bahan Kuliah Mikroprosessor untuk Teknik Listrik
Tugas dan Pertanyaan :
1. Apa yang dimaksud dengan Op-Code dan Operand
2. Sebutkan 5 jenis instruksi pada Mikroprosessor 8085 menurut fungsinya.
3. Sebutkan dan jelaskan Mode Pengalamatan pada Mikroprosessor 8085
serta berikan contohnya.
4. Isilah alamat, Op-Code dan comment pada table berikut sesuai dengan
Instruksi pada Mnemonic.
Address
Op-Code
Mnemonic
LXI H, 7800
LXI B, 7801
MVI M, FF
MOV A, M
STAX B
SHLD 7802
RST 1
Comment
Setelah program di atas dilaksanakan (execute) isi dari :
Reg. A = _______Reg. B = ______ Reg. L = _______
Isi alamat dari : 7800 (H) =
7801 (H) =
7802 (H) =
7803 (H) =
5. Buatlah sebuah Program Perkalian untuk mengalikan dua buah bilangan
yaitu 07 dikalikan dengan 06, dan hasil perkaliannya disimpan pada
Register D, dan alamat nya dimulai dari alamt 9000.
Dosen Pembimbing : Salahuddin, SST
8
Download