Thursday, September 6, 2012

Mikroprosessor Intel 8085


MIKROPROSESSOR INTEL 8085
1.1. Pengenalan Mikroprosessor Intel 8085
Mikroprosesor INTEL 8085 merupakan prosesor 8-bit yang diproduksi oleh perusahaan INTEL yang berada di California USA. Prosesor 8085 ini merupakan prosesor sederhana yang memiliki kurang dari 80 instruksi.
Data yang terdapat dalam memori diproses oleh ALU (Arithmetic and Logical Unit), unit aritmatik dan logika. Biasanya, data berupa angka atau huruf yang dinotasikan dalam system biner.

Memori berfungsi untuk menyimpan data. Memory memiliki beberapa tipe :
1.    RAM (Random Access Memory)
Memori ini dapat dibaca dan dapat diubah
2.    ROM (Read Only Memory)
Memori ini hanya bisa membaca, data disimpan di dalam device memori selama proses pembuatan memorinya.
3.    EPROM (Erasable Programmable Read Only Memory)
Sama seperti ROM tetapi pengguna dapat memprogramnya. Sehingga memori ini bisa dipakai berulang kali.
Berikut adalah susunan peta memory dalam Mikroprosessor INTEL 8085
Alamat
Daerah
$0000
$3FFF
EPROM 27128
PROGRAM MONITOR
$4000
$5FFF
EPROM 27128
Untuk melaksanakan PROGRAM MONITOR
$6000
$67FF
RAM 4464
DAERAH KERJA MONITOR
$6800
$6FFF
RAM 4464
DAERAH KERJA BASIC
$7000
$7FFF
RAM 4464
USER RAM
$8000
$9FFF
RAM 4464
USER RAM

$A000
$BFFF
RAM 4464
USER RAM
$C000
$DFFF
RAM 4464
USER RAM

$E000
$FFFF
RAM 4464
USER RAM
Tabel 1.1 Peta Memory INTEL 8085
Berdasarkan tabel peta memory diatas, maka daerah EPROM menempati alamat memory $0000-$5FFF, daerah sistem RAM menempati alamat yang dimulai dari  alamat memory $6000-$6FFF, dan daerah user RAM menempati alamat memory dari $7000-$FFFF


1.2. Diagram Blok Mikroprosessor Intel 8085
Mikroprosesor 8085 memiliki jumlah Bus Alamat sebanyak 16-bit dengan demikian dapat mengakses memori secara langsung sebanyak 216 alamat memori atau sebanyak 65535 alamat, sering disebut sebagai 64K x 8Bit atau 64KByte memori secara langsung.
ALU dalam 8085 menerima masukan dari dua register yakni AKUMULATOR (REGISTER A) dan register sementara TMP (TEMPORARY). ALU melaksanakan penjumlahan, pengurangan dan operasi logika khusus pada pasangan byte masukan dalam register A dan TMP. Operasi logika ini antara lain adalah operasi AND, OR, NOT, dan XOR. Register flag juga dipengaruhi oleh operasi logika ini, dan setiap hasilnya akan disimpan di akumulator.

1.3. Intel 8085 Register
Register pada prosesor INTEL 8085 terdapat 8 regitster 8-bit, yaitu
·         Register A (akumulator 8 bit)
·         Register B
·         Register C
·         Register D
·         Register E
·         Register F (Flag Register)
·         Register H
·         Register L
Dari ke 8 register yang terdapat diatas, ada 6 register yang dapat membentuk 3 pasangan register yang memiliki kapasitas penyimpanan data 16 bit, yaitu
·         Pasangan register BC
REG B
REG C
·         Pasangan register DE
REG D
REG E
·         Pasangan register HL (akumulator 16 bit)
REG H
REG L

Ketiga pasangan register tersebut digunakan untuk menunjukkan alamat dimana tempat data dalam unit memori yang akan diakses oleh prosesor yang berfungsi sebagai register pointer.
Prosesor INTEL 8085 juga memiliki 2 register 16 bit, yaitu:
·           Register Program Counter (register PC)
·           Register Stack Pointer (register SP)

ü  Fungsi Program Counter
            Register PC merupakan register 16 bit yang berfungsi untuk menunjukkan alamat tempat tersimpannya kode operasi yang akan dieksekusi oleh prosesor

ü  Fungsi Stack Pointer
            Register SP merupakan register 16 bit yang berfungsi untuk menunjukkan alamat tempat tersimpannya ‘puncak data’ dalam STACK.
Stack adalah bagian dari unit memori yang dipergunakan sebagai tempat penyimpanan data sementara, data yang disimpan ke dalam stack berasal dari register 16 bit. Stack tidak sama dengan stack pointer, karena stack pointer merupakan suatu register yang berada di dalam prosessor, sedangkan stack merupakan bagian dari unit memori yang berada di luar CPU.
            Sistem stack dalam mikroprosesor ada 2 macam, yaitu:
1.    First In First Out (FIFO)
Data yang pertama masuk ke stack, akan pertama keluar stack
2.    Last In First Out (LIFO):
Data yang terakhir masuk ke stack, akan perrtama keluar stack
Pada umumnya mikroprosesor INTEL menggunakan sistem stack LIFO.

            Contoh instruksi yang berkaitan dengan penyimpanan dan pengambilan data dari dan ke stack:
1.    PUSH H
Menyimpan data 16-bit yang berasal dari pasangan register HL ke stack. Symbol operasi : (stack←[HL]).
2.    PUSH B
Menyimpan data 16-bit yang berasal dari pasangan register BC ke stack. Symbol operasi : (stack←[BC]).
3.    PUSH D
Menyimpan data 16-bit yang berasal dari pasangan register DE ke stack. Symbol operasi : (stack←[DE]).
4.    PUSH PSW
Menyimpan data 16-bit yang berasal dari register A (8-bit) dan register F (8-bit) ke stack. Symbol operasi : (stack←[A]:[F]).
5.    POP H
Mengambil data 16-bit dari puncak stack dan menyimpannya ke register HL. Symbol operasi : ([HL]←stack).
6.    POP B
Mengambil data 16-bit dari puncak stack dan menyimpannya ke register BC. Symbol operasi : ([BC]←stack).
7.    POP D
Mengambil data 16-bit dari puncak stack dan menyimpannya ke register DE. Symbol operasi : ([DE]←stack).
8.    POP PSW
Mengambil data 16-bit dari puncak stack dan menyimpannya ke register A (8-bit) dan ke register F (8-bit). Symbol operasi : ([A]:[F]←stack).

ü  Register Flag
            Register F merupakan register status pada prosesor 8085, namun register F ini hanya memanfaatkan sebanyak 5 bit sebagai bit-bit status
              B7     B6         B5       B4         B3         B2         B1          B0
S
Z
-
Ac
-
Pe
-
Cy

1.  Bit S
Bit S merupakan Sign-bit, berada pada posisi SET atau berlogik 1 jika hasil logika prosesnya yang dilakukan oleh ALU menghasilkan nilai negatif, dan berada pada posisi RESET jika proses ALU bernilai bukan negatip atau lebih besar dari 0
2.  Bit Z
Bit Zero, berada pada posisi SET (logik 1) jika hasil aritmatika ALU menghasilkan nilai nol, dan berada pada posisi RESET atau CLEAR jika proses ALU bernilai bukan nol (bernilai lebih kecil atau lebih besar dari nol)
3.  Bit Ac
Bit Auxiliary carry , berada pada posisi SET (logik 1) jika hasil aritmatika ALU khususnya operasi penjumlahan bilangan/data BCD menghasilkan carry pada posisi bit B3, dan berada pada posisi RESET atau CLEAR jika proses ALU tidak menghasilkan carry pada posisi B3
4.  Bit Pe
Bit even partity, berada pada posisi SET (logik 1) jika hasil aritmatika ALU menghasilkan nilai data 8 bit yang memiliki logik 1 genap, dan berada pada posisi RESET atau CLEAR jika proses ALU menghasilkan nilai data 8 bit yang memiliki logik 1 ganjil
5.  Bit Cy
Bit carry, berada pada posisi SET (logik 1) jika hasil aritmatika ALU khususnya operasi penjumlahan dan pengurangan data biner menghasilkan carry pada posisi bit 7 (MSB), dan berada pada posisi RESET atau CLEAR jika proses ALU khususnya operasi penjumlahan dan pengurangan data biner tidak menghasilkan carry pada posisi bit 7

1.4. Trainer Midicom Sebagai Alat Praktikum
Midikom adalah sebuah trainer kit yang digunakan di lab mikroprosesor. Trainer kit mikroprosesor ini memiliki:
·         PIO (Paralel Input Output) 0 dengan address 50 dan PIO 1 dengan address 40
·         EPROM dengan alamat 0000-3FFF
·         RAM 5 buah dengan alamat 6000-FFFF
·         TIMER
·         MEMORY DECODER
Pada Trainer midikom terdapat pula 8 buah led yang digunakan sebagai indikator output 8 bit atau 1 byte, 8 buah 7 segment, 8 saklar sebagai indikator input dan kit-kit lainnya.
Register yang terdapat pada trainer midicom adalah sebagai berikut:
·         Register A (akumulator 8 bit)
·         Register B
·         Register C
·         Register D
·         Register E
·         Register F (Flag Register)
·         Register H
·         Register L
·         Register M
·         Register F
·         Register S
·         Register P
·         Register SP (16 bit)

1.4.1.   Cara Menghidupkan dan Mengoperasikan Trainer MIDICOM
Untuk menghidupkan trainer MIDICOM pertama - tama periksa apakah kabel penghubung daya telah terpasang dengan benar. Kemudian ubah posisi saklar yang terletak di sudut kiri atas modul ke posisi ON. Lalu tekan space bar agar monitor siap menjalankan perintah.
Agar dapat menjalankan trainer Midikom, kita harus menggunakan bahasa mesin atau assembly untuk mengoperasikannya. Berikut adalah menu-menu yang terdapat dalam Midikom :
1.      R : Read/Register
Digunakan untuk melihat atau mengganti isi dari register
ESC
R
 register
CR
                   Contoh :
Register
A
B
C
D
E
H
L
F
SP
PC
Data
64
00
00
01
01
09
B3
54
60D0
ABCD C
                   Cara :
1)  Melihat isi dari suatu register : ESC         R          A         CR
2)  Mengubah isi dari suatu register (data baru: 11)
 ESC       R      A      11          CR
2.      M : Memory
Digunakan untuk melihat data yang berada pada suatu lokasi memory baik RAM maupun EPROM
ESC
M
Alamat
CR
Contoh:
Mem.Address
1234
4567
6677
7243
7400
9999
FFFF
Data
D3
32
B5
B7
FF
33
A2
Cara : ESC         M         1234      CR
Untuk mengubah data lokasi memory dapat dilakukan dengan cara, sebagai berikut:
ESC
M
Alamat Lama
CR
Alamat Baru
CR
Contoh:
Mem.Address
8205
8206
8207
8208
9328
9329
932A
Data Lama
75
75
75
75
75
75
75
Data Baru
42
A2
72
49
49
F3
CA
Cara : ESC         M         8206       CR      A2  
3.      L : List
Digunakan untuk melihat data dalam suatu “blok memory” dan hanya dapat mencakup 256 kata
ESC
L
Alamat awal
CR
Alamat akhir
CR
4.      C : Copy
Digunakan untuk membuat duplikat data dari satu lokasi memori ke lokasi memori lain. Di sini kita harus menentukan alamat awal dan alamat akhir, serta alamat tujuan tempat data tersebut akan digandakan.
ESC
C
Alamat awal sumber
CR
Alamat akhir sumber
CR
Alamat akhir sumber
CR
Untuk mencheck dapat menggunakan instruksi LIST.
5.      I : Insert
Digunakan untuk menyisipkan data diantara sekumpulan data. Kita harus menentukan alamat awal data yang akan digeser dan batas akhirnya. Sedangkan banyaknya penggeseran ditentukan dengan banyaknya kita menekan tombol [CR]. Kelemahan dari perintah ini adalah kesalahan saat program dibuat sehingga jika kita menyisipkan 3 data akan muncul 4 data dengan lambang 00.
ESC
I
Masukan Data
CR
Alamat akhir
CR
Insert Address
CR
Contoh:
8300
10
 8301
11
8302
12
8303
13
8304
14
8305
15
8306
16
8307
17
8308
18
Data yang akan dimasukkan : 7C,7C,7E


Cara:ESC       I       8302     CR      8308       CR       7C       CR     7D      CR
6.      F : Fill
Digunakan untuk mengisi suatu blok memori dengan data yang sama, seperti perintah List, kita harus memberikan alamat awal dan alamat akhir yang datanya akan diganti serta data penggantinya.
Contoh : Ubah semua data menjadi 10
8300
10
 8301
11
8302
12
8303
13
8304
14
8305
15
8306
16
8307
17
8308
18




Cara: ESC     F      8300       CR      8308      CR      10         CR
7.      G: Go
Digunakan untuk menjalankan perintah
ESC
G
 alamat
CR
Contoh:
Alamat
Hex-Code
Mnemonic
A000
21   0070
LXI H,7000
A003
OE  00
MVI C,0
A005
71
MOV M,C
A006
0C
INR C
A007
2C
INR L
A008
70
MOV A,L
A009
FE  10
CPI 10
A00B
C2  05A0
JNZ A005
A00E
CF
RST 1
Cara: ESC     G      A000      CR
Ketika program telah dieksekusi atau dijalankan, maka pada layar monitor :
PC
A
BC
DE
HL
M
F
SZxAxPxC
SP <SP>
A00E
10
7910
FF01
7010
77
54
Z 0 P
6002 E366
8.      T: Trace
Digunakan untuk menjalankan perintah satu persatu
ESC
T
 alamat
CR
Ketika telah dijalankan maka, di layar monitor program akan memperlihatkan hasil eksekusi mnemonic hanya alamat itu sendiri saja. Untuk melihat hasil eksekusi lainya tekan CR secara terus menerus sampai alamat program selesai.
9.      A: Assembler
Digunakan untuk mengubah mnemonik yang diberikan padanya ke kode mesin (menerejmahkan ke bahasa terjemahan kita). Midicom akan meminta alamat memori tempat menyimpan program setelah huruf A ditekan.
ESC
A
 alamat
CR
10.   D: Disambler
Digunakan untuk melihat kembali program yang telah kita buat sebelumnya.
ESC
D
 alamat
CR
11.   Contoh pengoperasian program pada MIDICOM :
1)    Setelah menghidupkan layar midicom, tekan space bar agar keluar menu-menu yang kita inginkan
2)    Ketik huruf ‘A’ untuk memulai program. AP = C000
   3)        ESC      A     C000     CR
4)    Setelah itu masukan perintah dengan menggunakan bahasa mesin sesuai flowchart yang telah kita buat.
5)     Perintah yang akan terlihat di layar monitor :
Alamat
Hex-Code
Mnemonic
C000
06  79
MVI B,79
C002
0E  33
MVI C,33
C004
16  FF
MVI D,FF
C006
78
MOV A,B
C007
81
ADD C
C008
67
MOV H,A
C009
7A
MOV A,D
C00A
90
SUB B
C00B
6F
MOV L,A
C00C
CF
RST 1
6)    Untuk menjalankan program gunakan instruksi GO
ESC       G    C000     CR
Maka, layar monitor akan menampilkan


PC
A
BC
DE
HL
M
F
SZxAxPxC
SP <SP>
C00C
86
7933
FF01
AC86
FF
B0
s   a
   60D2 E366

No comments:

Post a Comment