laporan praktikum 1 syukrul 1120402024 transfer data
DESCRIPTION
laporan ahasil praktikum mikroprossor tranfer data dengan simulator 8085 meliputi analisa dan kesimpulan hasil praktikumTRANSCRIPT
LAPORAN PRAKTIKUMMIKROPROSESSOR
Transfer Data
NAMA : Syukrul
NIM : 1120402024
KELAS : D 2
PRODI : TEKNIK TELEKOMUNIKASI
KEMENTRIAN PENDIDIKAN NASIONAL
POLITEKNIK NEGERI LHOKSEUMAWE
Lembar Pengesahan
Judul Praktikum : Transfer Data
No Praktikum : 01/ LAB.MIKROPROSESOR
Nama : Syukrul
Nim : 1120402024
Jurusan/ Prodi : T.Elektro/ T.Telekomunikasi
Tanggal Praktikum :
Tanggal Penyerahan :
Nilai :
Dibuat Diperiksa Mahasiswa, Dosen Pembimbing,
( SYUKRUL) (Hanafi, ST, M,Eng) Nim. 1120402024 Nip. 196901172002121001
i
Daftar Isi
Lembar Pengesahan ………………………… i
Daftar isi …………………………………………ii
I Tujuan praktikum ………………………… 1
II. Dasar Teori ………………………………… 1
III. Data percobaan ………………………… 5
IV Analisa ………………………………… 15
V Kesimpulan ………………………………… 16
IV Daftar pustaka………………………… 17
ii
Transfer Data
A.Tujuan
1. Menggunakan instruksi transfer data register antara register2. Membedakan penggunaan atau fungsi dan berbagai jenis instruksi move
yang ada pada mikroprosesor 8085.3. Menggunakan instruksi transfer data antara register dengan unit memori.4. Membedakan fungsi instruksi exchange. Baik untuk pasangan register atau
stack point.
B.Dasar Teori
Kelompok instruksi transfer data merupakan kelompok yang paling sering di pergunakan, karena banyak nya kebutuhan pemindahan data baik dari register maupun antara suatu register dengan suatu lokasi memori.
Instruksi yang masuk ke dalam kelompok istruksi data, di antaranya adalah : Instruksi MOV,MVI,STA,LDA,STAX,SPHL,XCHG,SHLD dan LXI. Perlu bahwa semua instruksi yang masuk ke dalam instruksi transfer data , tidak mempengaruhi isi register flag.
Sebelum kita menggunakan kelompok instruksi yang lain, percobaan transfer data harus di lakukan terlebih dahulu, karena cara pemindahan akan sangat banyak di pergunakan dalam pemograman mikroprosesor.
Secara garis besar kelompok instruksi transfer data dapat di bagi menjadi :
Instruksi MOVE Instruksi MOVE immediate Instruksi Load extended immediate Instruksi Load dan store
B 1. Fungsi intruksi MOV dan MVI
Kelompok terbesar dari instruksi transfer data adlah kelompok instruksi MOVE, kelompok instruksi MOVE terdiri atas semua instruksi pemindahan data 8 bit dari suatu register ke register lain atau dari suatu lokasi memori ke register tujuan selalu di tuliskan sebelum tanda koma dan register sumber selalu di tuliskan setelah tanda koma, misalnya instruksi MOV r1.r2 adalah instruksi untuk mentransfer data dari r2 ( register sumber).
Pengertian kata mentransfer di sini adalah menggandakan atau mengcopy karena pada akhir pelaksanaan instruksi, isi register tujuan menjadi sama dengan isi register sumber.
Contoh 2.1
Pada instruksi MOV A, jika pada sebelum insruksi tersebut di lakukan isi register A adalah ch3 dan isi register B adalah 7fh maka setelah instruksi MOV A,B dilaksanakan isi register A akan Sama dengan isi register B yaitu 7fh .
C. Langkah Percobaan dan Latihan
Pada bab ini terdapat empat buah percobaan berikut :
A. Pemindahan data antar registerB. Pengisisan data immediate 8 bit ke register serta pemindahan data antar
register dan memoriC. Penggunaan instruksi STA dan LDAD. Penggunaan instruksi STAX dan LDAX
D.Program dan Flowchart
1. Dengan menggunakan tombol instruksi REG. isilah register-register berikut dengan data 8 bit seperti tercantum dalam table 2.1
Regiter A B C D E F GData 2A 5C 4F A2 57 6B BC
2. Buat lah bagan alir dan program mulai alamat 8000h untuk memindahkan isi register – register di bawah ini dengan langkah berikut :
Pindah kan register A ke register L Pindahkan register B ke register H Pindahkan register H ke register D Pindahkan register C ke register H Pindahkan register H ke register A Pindahkan register E ke register B Pindahkan register D ke register A
E.Penyelesaian Tugas
1. Listing Program
ORG 8000H
MVI A,2AHMVI B,5CHMVI C,4FHMVI D,0A2HMVI E,57HMVI H,6BHMVI L,0BCHMOV L,AMOV B,HMOV H,DMOV C,HMOV H,AMOV E,BMOV D,AEND
>Bagan alir langkah A3.
mulai
L←A
A,2AH B,5CH C,4FH D,A2H E,57H H,6BH L,BCH
H←B
D←H
H←C
A←H
B←E
A←D
Selesai
>Langkah A4
ALAMAT KODE OPERASI MENEMONIK SIMBOL OPERASI8000H MVI A,2AH MVI 2A8002H MVI B,5CH MVI 5C8004H MVI C,4FH MVI 4F8006H MVI D,0A2H MVI A28008H MVI E,57H MVI 57800AH MVI H,6BH MVI 6B800CH MVI L,0BCH MVI BC800EH MOV L,A MOV L←A800FH MOV H,B MOV H←B8010H MOV D,H MOV D←H8011H MOV H,C MOV H←C8012H MOV A,H MOV A←H8013H MOV B,E MOV B←E8014H MOV A,D MOV A←D
Langkah A5
INSTRUKSI(MENEMONIK) PERUBAHAN DATAMVI B,25H B=25
LDA 0D10AH A= 02LXI H,0D10FH D10FLHLD 0D23FH D23FSTA 0D10BH 02
ADD B 27MOV C,A 27
STA 0D10CH 27
>Langkah A6
ORG 8000HLDA 0D000HLDA 0D010HLDA 0D01BHLDA 0D0FFHLDA 0D23FHLDA 0D444H
ALAMAT D000 D010 D01B D0FF D23F D444DATA 2C 56 44 CB 9D FF
>Langkah A7
ORG 8100H
MVI A,49HMVI B,5CH
LDA 0D000HMOV C,ASTA 0D01BHMOV A,BSTA 0D010HMOV B,ALDA 0D23FHMOV B,ASTA 0D444HMVI A,50HSTA 0D23FHHLTEND
Langkah A8
MVI A,49HMVI B,5CH
MULAI
REG A←M
C←A
REG A←M
A←B
REG A← M
B← A
M ←REG AA,50H M ←REG A SELESAI
>Langkah A9
>Langkah A10
ORG 8100H
MVI A,0AFHMVI B,0DHMVI C,23HLXI H,322FHHLTEND
Langkah A11
Langkah A12
REGISTER A B C H L PCDATA AF 0D 23 32 2F 8019
ALD01BAMAT
D000 D010 D01B D0FF D23F D444
DATA 2C 56 44 CB 9D FF
Langkah A13
Instruksi mov r1,r2 berfungsi untuk memindahkan register2 ke register 1
Instruksi mov r,M berfungsi untuk memindahkan data pada memori ke register
Instruksi mov M,r berfungsi untuk memindahhkan data dari register ke memori.
Langkah B1
ORG 8200H
MVI A,0F3H
MVI B,3CH
MVI L,4AH
MVI H,0A0H
STA 0D111H
LXI H,0A04AH
MOV M,C
MOV H,A
STA 0F34BH
LXI B,0F34BH
LDA 0A04BH
STA 0DDDDH
LDA 2000H
HLT
Langkah B2
ALAMAT KODE OPERASI MNEMONIK SIMBOL OPERASI8200 MVI A,0F3H MVI F38202 MVI B,3CH MVI 3C8204 MVI L,4AH MVI 4A8206 MVI H,0A0H MVI A08208 LXI H,0D111H LXI H←D111820B STA 0D111H STA D111←A820E LXI H,0A04AH LXI H← A04A8211 MVI C,00H MVI 008213 MOV C,M MOV C←M8214 LXI H,0A04BH LXI H←A04B 8217 MOV M,C MOV M←C8218 MOV H,A MOV H←A8219 LXI H,0F34BH LXI H←F34B821C MOV B,M MOV B←M821D LXI H,0A04BH LXI H←A04B8220 LDA 0A04BH LDA A←A04B
8223 LXI H,0DDDDH LXI H←DDDD8226 STA 0DDDDH STA DDDD←A
8229 LXI H,2000H LXI H←2000822C LDA 2000H LDA A←2000822F HLT HLT HLT
ORG 8200H
MVI A,11HMVI B,0AHMVI C,1AHLXI H,810AHLDA 0D111HLDA 0A04AHLDA 0A04BHLDA 0F34BHLDA 0DDDDHLDA 2000HHLTEND
Langkah B3
Langkah B4
ALAMAT A B C H L PCDATA 66 0A 1A 81 0A 821B
Langkah B5
ALAMAT D111 A04A A04B F34B DDDD 2000DATA 11 22 33 44 55 66
LANGKAH C1.
ORG 8300HLXI D,1000H LDAX DMOV B,AADD BDAA MOV B,ALXI B,0D0D0HSTAX BHLTEND
LANGKAH C2.
ALAMAT KODEB OPERASI MENEMONIK SIMBOL OPERASI
8300 LXI D,1000H LXI D= 10;E= 008303 LDAX D LDAX A←1A8304 MOV B,A MOV B←A8305 ADD B ADD A=A+B8306 DAA DAA BCD=A8307 MOV B,A MOV B←A8308 LXI B,0D0D0H LXI B=D0;C=D0830B STAX B STAX D0D0←A
LANGKAH C3.
LANGKAH C4.
REGISTER A B PCDATA 3A D0 830C
LANGKAH C5.
ALAMAT 1000 D0D0DATA 1A 3A
LANGKAH BAG. D.
Fungsi instruksi SPHL= berfungsi memindahkan isi dari h & l ke pointer stack
XTHL= berfungsi menukar register h & l dengan register d & e.LXI =berfungsi mengisi register pair (rp) dari nilai data d16 (alamat 16 bit)
SHLD =berfungsi menyimpan data register h & l langsung dalam memori alamat addr16
XCHG : instruksi yang digunakan untuk menukar isi dari register H dengan isi register D, dan isi register L dengan isi register E.
ANALISA
Berdasarkan tabel pada Pengisian Memori dengan alamat bisa berisi data angka
ataupun huruf. Pembacaan antara data yang telah dimasukkan, akan selalu sama
dengan data yang dimasukkan.
Misalnya : kita lihat kolom 1, data yang dimasukkan pada alamat 1000 adalah 1d,
maka pembacaannya pun tetap sama, yaitu 1000 = 1d.
Berdasarkan tabel pada pengisian Register, harus dilakukan satu per satu, karena
letaknya bersebelahan. Bisa dari yang kiri terlebih dahulu kemudian baru yang
kanan, atau sebaliknya. Misalnya register AF, maka kita memasukkan datanya
bisa untuk data yang A atau yang F. Datanya berisi bebas dengan dua digit saja.
Boleh angka ataupun huruf.
Jika kita salah mengetikkan huruf yang bukan register, maka hasil pembacaannya
akan berbeda dengan register yang kita masukkan. Namun, apabila register yang
dimasukkan sudah benar (dalam mengetiknya), maka hasil akan sama dengan
masukkannya.
Kesimpulan
1. Pada pengisian memori dengan alamat, antara alamat yang dimasukkan dengan
pembacaannya hasilnya selalu sama. Baik alamat maupun data diketik sendiri
sesuai dengan ketentuan.
2. Pada pengisian register, kita tinggal memencet tombol register yang ada, setelah
itu baru kita memasukkan data pada masing-masing bagian di register tersebut.