2B M01 Reni Intan Kartini
2B M01 Reni Intan Kartini
8085 register
Sistem minimum
Set instructions
Mnemoics : singkatan instruksi dalam bahasa asembling
Algorima : urusan langkah-langkah yang harus dilakukan untuk melakukan fungsi tertentu
Flowchart / diagram alir
Program dam bahasa rakitan
Program dengan loop
Program transfer data
Program penjumlahan
Program pengurangan
Program perkalian
Program pembagian
Program konversi data
Program konversi bialngan
Program dengan subroutine
Program dengan interupsi
Program delay
Program dengan tabel data
Pemrograman 1/0 (input output)
Pemrograman unit peraga 7 segment
Pemograman ADC dan DAC
Pemrograman DC Volt meter
Program kalkulator sederhana
Pemograman wave generator
Pemrograman sinyal/wave recorder
Dll
8085 REGISTER
1. Register-Register Pada Intel 8085
Register adalah sebuah rangkaian yang digunakan untuk menyimpan Data. Mikroprosesor
Intel 8085 menggunakan Bahasa Pemrograman Assembly. Assembly ini merupakan bahasa
tingkat menengah ( Middle ), berada di antara Bahasa Tingkat Rendah ( Low Level Language )
dan Bahasa Tingkat Tinggi ( High Level Language ). Secara garis besar walaupun
Mikroprosesor Intel 8085 merupakan prosesor 8-bit namun register-registernya dibagi menjadi
2 bagian, yaitu Register 8-bit dan Register 16-bit
a. Register 8-bit
Register 8-bit ini yang membedakan hanyalah pada bagian penyimpanan data, yaitu
penyimpanannya 8-bit biner, atau 2-bit hexa. Register 8-bit pada Intel 8085 terdiri dari :
Register A
Register B
Register C
Register D
Register E
Register H
Register L
Register I
Register F
Register 8-bit ini dapat dihubungkan menjadi register 16-bit namun dengan konfigurasi tertentu,
yaitu :
1) Register BC
2) Register DE
3) Register HL
Program :
Urutan instruksi-instruksi yang disusun sedemikian rupa sehingga dapat dijalankan.
Fetch
Decode
Execute
: Mengambil intruksi
: Menerjemahkan intruksi
: Dilaksanakan
Memory
Fetch
Register I
Decode
Execut
e
Keterangan :
Program yang tersusun secara lima kotak merupakan program yang berisi perintah untuk suatu
fungsi tertentu dalam sebuah memory yang memiliki langkah langkah sebelumnya ada empat kotak,
tiga kotak, dst. Merupakan urutan program yang di mulai dari satu program, yang kemudian di
ambil untuk di instruksikan di register I oleh jalur fetch, yang selanjutnya di artikan (decode) untuk
kemudian di jalankan (execute) dan seterusnya untuk program ke dua, ke tiga, ke empat, dan ke
lima. Urutan perintah harus benar dan penyelesaiannya berurutan.
-
b. Register 16-bit
Register 16-bit memiliki tempat penyimpanan yang lebih besar yaitu 16-bit data atau 4-bit hexa.
Register 16-bit ini terdiri dari :
LSB
C
MSB
LSB
MSB
LSB
8 Bit
8 Bit
SB
16
b6
Z
b5
-
b4
AC
b3
-
b2
Pe
Keterangan :
S
: Sign bit
: Zero bit
: Biasanya 0
b1
-
b0
Cy
Ac
: Auxilary Carry bit = Carry tambahan (ada tidaknya carry dari satuan ke puluhan,
0 jika tidak ada, 1 jika ada.
PE
: Parity Even bit = (mendeteksi jumlah logic 1 pada hasil operasi, 1 jika genap,0
jika ganjil). Bit yang ditambahkan untuk mengetahui apakah ada data yang salah
atau tidak.
Cy
: Carry / Borrow bit (ada tidaknya carry pada hasil operasi paling kiri,1 jika ada,
0 jika tidak ada)
Contoh :
Penjumlahan bilangan biner
10101100
11111001 +
110100101
Cy sign bit
Jika menjumlahkan 8 bit dengan 8 bit maka hasil juga harus 8 bit dan disimpan di
akumulator
S
=1
Z
=1
Ac
=1
PE
=1
Cy
=1
Desimal
37
29 +
66
Misal :
BCD
Cy
Ac
0011 0111
0010 1001 +
0110 0000
0000 0110 +
0110 0110
12
12 +
00
Z=1
6
6
Catatan :
1 Lihat satuan apakah hasilnya lebih dari 9 , dan apakah satuan memberi carry
pada puluhan, jika iya maka satuan di tambahkan 6
2 Lihat puluhan apakah hasil lebih dari 9, apakahpuluhan memberi carry pada
ratusan, jika tidak maka puluhan di tambahkan 0
3 Mengapa factor koreksi 0 dan 6
Decimal : 0,1,2,3,4,5,6,7,8,9,10
Heksa
: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,10 (dari 9-10 ada 6 variable/huruf)
4 Dari hasil di atas di dapatkan S=0,Z=O,Ac=1,Pe=1(yang di hitung hasil akhir
setelah mendapat factor koreksi), Cy=0
Desimal
BCD
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
RANGKUMAN PRAKTIKUM
Langkah-langkah menghidupkan modul medicom
1. Tekan tombol power
2. Ketika dihidupkan akan ada 4 LED yang menyala, jika salah satunya ada yang mati maka
ada modul medicom tersebut tidak benar atau ada yang salah
3. Lalu seven segmennya harus dalam keadaan mati, jika ada yang nyala maka harus direset
4. Lalu hidupkan monitor dengan menarik powernya, lalu akan muncul tanda minus berwarna
hijau
5. Lalu tekan tombol spasi pada keyboard untuk memunculkan menu, akan ada perintahperintah pada procesor atau pada sistem.
6. Tampilkan menu tersebut, jika menu tidak jelas bisa diatur tampilannya dengan pengaturan
cahaya (aturlah secukupnya) jangan terlalu terang, karena akan boros pemakaian yang
menyebabkan monitor tersebut pendek umurnya, karena monitor tersebut memancarkan
elektron.
Perintah pertama ialah Register (R) yang berkaitan dengan data pada suatu register.
Ketika ditekan R : Register, maka monitor akan bertanya Register mana? (ketik register yang
dia kenal A B C D E H L F)
Contoh :
Register C
Tekan CR (Carriet Ritten) umumnya dikeyboard sama saja dengan ENTER
Didalam register ada urutannya A B C D E H L F
A
A 64 7C
CR
Praktikum :
1
Power Switch
Untuk menjalankan modul midicom, terlebih dahulu menyalakan tombol power switch
yang terletak pada samping kiri atas pada modul midicom, pastikan tombol menyala ketika
di tekan tombol ON, dengan power port terhubung ke terminal dan monitor mendapat
tegangan. Indikator dari modul midicom yang normal (siap dijalankan), yaitu :
Ketika di ON kan lampu pada 7 segment display dalam keadaan mati, jika terdapat
salah satu atau beberapa lampu yang menyala, maka tekan tombol riset yang terdapat di
sebelah kiri bawah pada modul midicom
Indicator pada lampu LED yang berjumlah 4 harus menyala, jika tidak ada yang
menyala atau salah satu tidak menyala, maka modul tidak dalam keadaan normal atau
tidak siap untuk di jalankan, hal ini terjadi karena tegangan supply tidak masuk akibat
kerusakan pada sistem modul midicom (kesalahan teknis)
Monitor
Monitor harus mendapat atau diberi tegangan supply dengan port yang terhubung
pada terminal, untuk menjalankan monitor terlebih dahulu menghidupkan monitor terlebih
dahulu dengan menarik tombol yang terdapat pada sebelah kanan display monitor, terdapat 2
tombol yang dapat di fungsikan, untuk menghidupkan layar monitor dari tombol pada
bagian atas, dengan indicator lampu pada monitor menyala yang kemudian terlihat kursor
bertanda minus (-) berwarna hijau yang berkedip kedip, kemudian atur lampu kursor agar
tidak terlalu terang, lampu layar monitor yang terang dapat mengakibatkan mudahnya
kerusakan pada monitor, hal ini dikarenakan lampu layar monitor menggunakan elektron
yang ditembakan ke layar monitor untuk pencahayaannya. Jika digunakan terlalu banyak,
elektron-elektron tersebut dapat mudah habis dan membuat layar monitor menjadi redup
untuk selanjutnya rusak.
EPROM
SISTEM
(RAM)
USER
(RAM)
Keterangan :
Untuk melihat data yang ada di memory maka harus ada alamat memory yang ingin di lihat.
Memory yang terdapat pada modul MIDICOM yaitu ,
a EPROM
adalah memory yang data memorinya tidak bisa di ubah, dengan batas alamat memory
antara 0000 H sampai 5FFF H, EPROM sendiri memiliki silsilah keluarga induk dari
b
memory dapat berubah namun hanya pada sistemnya, dengan alamat memory dari 6000
H sampai 6FFF H, pada keadaan tertentu data memory tidak dapat di ubah pada batas
alamat memory transisi atau sekitar alamat 6000 H, sedangkan pada USER (RAM) data
dapat di ubah sesuai dengan keinginan USER atau pengguna yang ingin di masukan
pada data memory dengan batas alamat memory dari 7000 H sampai FFFF H, yang dari
batas tersebut memiliki lebih dari 40.000 lokasi memory.
4
Menu Perintah
Setelah mengatur intensitas cahaya lampu layar monitor telah di tetapkan atau siap,
kemudian untuk menjalankan program program microprosesor perlu adanya perintah
perintah program, untuk menampilkan perintah program pada layar monitor tekan tombol
space bar (spasi) hingga muncul tampilan menu perintah pada layar monitor yang
merupakan perintah pada sistem dan prosesor (sistem midicom)
a Perintah R (Read/Set Register)
Perintah yang berfungsi untuk melihat data yang tersimpan pada register. Ketikan
tombol R untuk menjalankan perintah R. hingga muncul kata Register_ yang artinya
menanyakan register mana yang akan di lihat dengan nama register yang di kenal.
Contoh :
ketik R => A => CR
CR merupakan tombol perintah untuk memasukan kode data pada register atau memory
ENTER , Maka akan terlihat data memory yang terdapat pada register
A 00, yang
artinya dalam register A terdapat data 00. Untuk melakukan perintah selanjutnya lihatlah
pada layar monitor jika pada layar monitor terlihat kursor berada di samping dari data
A 00_ itu menandakan bahwa monitor atau memory belum siap untuk menerima
perintah baru, untuk memberikan perintah baru tekan tombol ESC(Escape) hingga
muncul tampilan kursor -_ dengan kursor bawah berkedip kedip, itu menandakan
bahwa monitor atau program siap menerima perintah baru.
Example : pada register A yang tadinya berisi data 00 ingin di ubah menjadi 7C maka
prosesnya, tekan R=>A 00 7C => CR , maka dengan menjalankan kembali perintah A
b
maka akan muncul 7700 sampai dengan 7709 dengan data 30 sampai 39, yang juga
merupakan angka ASCII dari 0sampai dengan 9.
Koe ASCII 30 1
41 A
61 a
P
O
L
B
A
N
50
4F
4C
42
41
4E
Catatan untuk mengganti data pada alamat memory harus pada memory RAM
d
USER.
Perintah C (Copy)
Adalah perintah untuk mengcopy data dari lokasi memori ke lokasi memori lainnya, atau
satu blok memory lebih dari satu data.
Contoh :
Mengcopy data dari 7700 sanpai dengan 7709 ke lokasi memori 7900 sampai dengan
7909 agar data sama dari 0-9.
ESC=> C =>CR=> alamat awal (7700)=>CR=>alamat akhir (7709)=>CR=>alamat
tujuan awal (7900)=>CR=>L=>CR=> alamat tujuan awal (7900)=>CR=>alamat tujuan
akhir (7909)=> CR
Maka akan menampilkan data pada alamat memory 7900 sampai dengan 7909 sama
dengan data dari alamat memory 7700 sampai dengan 7709 yaitu 0-9
Perintah Fill
Adalah perintah yang berfungsi untuk mengisi data sama pada satu blok memory yang
banyak misalnya 1000 kali dengan data yang sama.
ESC =>F => alamat awal=>CR=>alamat akhir=>ketik 15 =>CR
Maka data akan menampilkan data memory yang sama.
Perintah I (Insert)
Adalah perintah yang berfungsi menyisipkan data, apabila da data yang terlewat untuk
menambahkan data tersebut ke dalam susunan data di antaranya. Dalam praktikum
terdafat kesalah teknis yaitu modul MIDICOM tdak berfungsi dengan baik, kesalahan
tersebut menambah satu data baru 00 pada data yang akan di sisipkan, sehingga untuk
mengatasi hal ini jika data yang akan disispkan di kurangi satu jumlahnya sehingga yang
tersisip di antara data tersebut berjumlah sesuai yang di inginkan. Misalnya ingin
menyisipkan 3 data, namun dalam perintah program hanya menyisipkan 2 data saja,
tetapi hasil akhir akan mendapat 3 ssipan data di antara data data tersebut.
Perintah GO
Adalah perintah yang berfungsi untuk menjalankan instruksi suatu program secara
langsung hingga bertemu stop atau perintah akhir.
Perintah T (trase)
Adalah perintah
AC
PE
Cy / Bw
Keterangan :
S
: Sign Bit / Sign Flag
Z
: Zero Bit / Zero Flag
AC
: Auxiliary Carry Bit / Half Carry Bit
PE
: Parity Even Flag
Sign Bit
Sign Bit Bernilai 1, karena pada 10110111 bilangan tersebut bernilai negatif.
b. Zero Bit
Zero Bit adalah bagian bit ke-6 yang berhubungan dengan hasil yang bernilai 0.
Z akan Set ( berlogika 1 ), jika hasil akhir pemrosesan data tidak bernilai 0.
Z akan Reset / Clear ( berlogika 0 ), jika hasil akhir pemrosesan data bernilai 0.
Contoh :
1
Zero Bit
10001101
10111001_+
1 01000110
Pada Contoh penjumlahan di atas terdapat Auxiliary Carry bernilai 1, maka Ac bernilai 1.
d. Parity Even Flag
Parity Even Flag bekerja dengan mendeteksi Paritas Genap pada Hasil pemrosesan dari Intel
8085.
Jika Jumlah angka 1 pada hasil berjumlah Genap, maka parity even bernilai logika 1.
Jika Jumlah angka 1 pada hasil berjumlah Ganjil, maka parity even bernilai logika 0.
e. Carry Flag / Borrow Flag
Carry Flaq / Borrow Flag adalah indikator yang menunjukan nilai Carry atau Borrow pada
hasil pemrosesan data pada Intel 8085. Jika terdapat Carry pada proses penjumlahan, dan
Logika lainnya maka akan bernilai 1 Sedangkan jika terdapat Borrow pada proses pengurangan,
maka akan bernilai 1 pula. Carry / Borrow akan bernilai 0 apabila tidak terdapat Carry atau
Borrow.
Contoh :
10001101
10111001_+
1 01000110
Pada Contoh Penjumlahan di atas terdapat Carry yang berada pada bit ke-8 bernilai 1, maka
Pada Carry Flag akan bernilai 1.
Contoh Pemrosesan pada Intel 8085 :
10001101
10001101
10111001_+
10111001 ^
1 01000110
10001001
Penjumlaha
n
AND
10001101
10111001
10111101
10001101
10111001
00110100
10001101
10111001 1 11010100
OR
EX-OR
Pegurang
an