You are on page 1of 8

JOBSHEET PRAKTIKUM 2

TRANSFER DATA

Mata Kuliah : Arsitektur Sistem Komputer


Prodi/Jurusan/PT : S1-Teknik Elektro / Teknik Elektro/UNNES
Pengampu : Nur Iksan, ST., M.Kom

A. Tujuan
1. Menggunakan instruksi transfer data register antara register
2. 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. Bahan dan Alat


1. Simulator Mikroprosesor 8085 (GNUSim8085)

C. Dasar Teori

Register
Microprosessor 8085 dalam pemrogamannya menggunakan 11 buah register yaitu register A,
B, C, D, E, H, L, M, F, PC, dan register SP. Mikroprosesor 8085 memiliki enam register umum
untuk menyimpan data 8-bit, dan diidentifikasi sebagai B, C, D, E, H, dan L seperti yang
ditunjukkan pada gambar 2.1. Register A hingga register F (di lambangkan dengan sebuah
huruf. dalam register 8 bit, sedangkan register PC dan register SP adalah register 16 bit).
Register 8 bit dapat dijadikan register 16 bit dengan cara menyatukan 2 buah register 8 bit yang
bersesuaian. Programmer dapat menggunakan register ini untuk menyimpan atau menyalin
data ke dalam register dengan menggunakan instruksi copi data.

Pasangan register yang bersesuaian itu adalah:


1. Register A dengan register F yang disebut dengan register PSW ( program status word ).
2. Register B dengan register C
3. Register D dengan register E
4. Register H dengan register L

Pasangan register ini dalam sebutannya hanya menggunakan nama register B, D dan H.
Contohnya dalam perintah LXI H, 7000 dimaksudkan mengisi register H dengan angka 70h
dan L dengan 00h untuk menunjukkan alamat 7000h di memori.

Register 8 bit selalu di pakai untuk menempatkan data 8 bit yang akan diproses, begitu juga
halnya dengan pasangan register digunakan untuk menempatkan data 16 bit yang akan
diproses. Karena pasangan register adalah gabungan dari 2 buah register maka data 16 bit yang
di simpan pada pasangan register ini dapat di olah secara 8 bit-8bit

Register M (Memory)
Register ini disebut register memori karena ia berisi data yang terletak di memori yang
alamatnya di tunjukan oleh pasangan register HL.

Stack Pointer (SP)


Stack pointer juga merupakan register 16-bit digunakan sebagai pointer memori. SP
menunjukan alamat memori dimana suatu data dapat di simpan secara beurutan dari memori
yang tertinggi hingga ke rendah (menumpuk data). Tentu saja dapat diambil kembali bila
diperlukan. Register ini sebenarnnya khusus di pakai pada perintah PUSH register dan POP
register dimana register yang dimaksudkan adalah pasangan register.

Instruksi/Perintah
Perintah yang digunakan pada mikroprosessor 8085 ini cukup banyak dan cukup sulit untuk
menghafal seluruh perintah tersebut satu-persatu. Namun dengan mengelompokannya kedalam
fungsi-fungsi yang bersamaan maka kita akan sangat tertolong untuk lebih cepat mengenal
setiap perintah. Bila perintah-perintah dikelompokkan berdasarkan fungsinnya yang
bersamaan maka ada:
1. Transfer function (fungsi pemindahan)
2. Initial function (fungsi pengisian)
3. Logic function (fungsi logika)
4. Arithmatik function (fungsi aritmatika)
5. Interchange function (fungsi pertukaran)
6. Setting function (fungsi penetapan)
7. Jumping function (fungsi lompatan)

Kelompok instruksi transfer data merupakan kelompok yang paling sering digunakan, karena
banyaknya kebutuhan pemindahan data baik dari register maupun antara suatu register dengan
suatu lokasi memori. Perlu diketahui bahwa semua instruksi yang masuk ke dalam instruksi
transfer data, tidak mempengaruhi isi register flag.

Perintah-perintah yang termasuk ke dalam kelompok instruksi transfer adalah:

No Instruksi Keterangan
1 MOV reg2, reg1 Pemindahan data dari register 1 ke register 2
2 STA Alamat Pemindahan isi reg. A ke memori pada alamat yang di tunjukan
3 LDA Alamat Kebalikan perintah STA, yaitu memindahkan data dari memori
yang di tunjukan ke reg. A
4 STAX preg Sama halnya seperti STA, hanya saja alamat memorinya tidak di
tunjukan secara langsung melainkan di tunjukan oleh pasangan
register yang di tunjukan pada preg (pasangan register)
5 LDAX preg Memindahkan data dari memori yang di tunjukan pasangan
register ke reg. A
6 IN PORT Mengambil data dari port yang nomornya di tunjukan ke reg. A
7 OUT PORT Mengeluarkan data dari reg. A ke port keluaran
8 LHLD Alamat Pemindahan data 16 bit dari memori yang alamat ditunjukkan ke
pasangan register HL. Alamat yang ditunjukkan akan mengisi reg.
L lalu alamat berikutnya akan mengisi reg. H
9 SHLD Alamat Kebalikan dari perintah LHLD.
10 PUSH preg Menyimpan isi pasangan register ke memori yang alamatnya
ditunjukkan oleh reg.SP. isi register yang di sebutkan akan
disimpan di memori yang ditunjukkan oleh reg.SP dikurangi satu
alamat, sedangkan isi pasangannya disimpan di bawahnya.
11 POP preg Memindahkan kembali data yang telah disimpan dengan perintah
push sebelumnya dan meletakkan kepada pasangan register yang
ditunjukkan. Setelah perintah POP ini dilakasanakan maka reg.SP
akan bertambah 2 alamat. Perhatikan bahwa setelah perintah push
dijalankan maka alamat SP akan berkurang 2 hingga setiap kali
data disimpan maka data terus bertumpuk ke bawah. Lalu bila
perintah POP dijalankan maka alamat SP akan naik 2 terus dan
data diambil mulai dari alamat bawah. Artinya adalah tidak
mungkin terjadi tumpang tindih penyimpanan karena setiap kali
menyimpan SP akan turun, begitu pula tidak akan pernah ada
pengambilan data pada alamat yang sama karena setiap
pengambilan dengan perintah POP alamat SP bertambah 2.

D. Langkah Percobaan dan Latihan

Pada bab ini terdapat empat buah percobaan berikut :

a. Pemindahan data antar register


b. Pengisisan data immediate 8bit ke register serta pemindahan data antar register dan
memori
c. Penggunaan instruksi STA dan LDA
d. Penggunaan instruksi STAX dan LDAX

E. Algoritma, Flowchart dan Program

Percobaan 1:

Dengan menggunakan simulator, isilah register-register berikut dengan data 8bit seperti
tercantum dalam table berikut

Register A B C D E H L
Data 2A 5C 4F A2 57 6B BC
Lakukan reset register terlebih dahulu untuk mengosongkan nilai register, flag, IO port, dan
memory.

Buatlah flowchart dan program mulai alamat 8000h untuk memindahkan isi register – register
di bawah ini dengan langkah berikut:

• Pindahkan 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

Algoritma Pemindahan Data Antar Register

1. Mengisi register A=2A; B=5C; C=4F; D=A2; E=57; H=6B; L=BC


2. Memindahkan register A ke L
3. Memindahkan register B ke register H
4. Memindahkan register H ke register D
5. Memindahkan register C ke register H
6. Memindahkan register H ke register A
7. Memindahkan register E ke register B
8. Memindahkan register D ke register A
9. Selesai
Flowchart Pemindahan Data Antar Register

mulai H←B B←E

A=2AH; B=5CH; C=4FH; D←H A←D


D=A2H; E=57H; H=6BH;
L=BCH
H←C Selesai

L←A A←H

Program Pemindahan Data Antar Register

No MENEMONIK Penjelasan
1 MVI A,2AH Mengisikan nilai 2A ke register A
2 MVI B,5CH Mengisikan nilai 5C ke register B
3 MVI C,4FH Mengisikan nilai 4F ke register C
4 MVI D,0A2H Mengisikan nilai A2 ke register D
5 MVI E,57H Mengisikan nilai 57 ke register E
6 MVI H,6BH Mengisikan nilai 6B ke register H
7 MVI L,0BCH Mengisikan nilai BC ke register L
8 MOV L,A Memindahkan register A ke register L
9 MOV H,B Memindahkan register B ke register H
10 MOV D,H Memindahkan register H ke register D
11 MOV H,C Memindahkan register C ke register H
12 MOV A,H Memindahkan register H ke register A
13 MOV B,E Memindahkan register E ke register B
14 MOV A,D Memindahkan register D ke register A
15 HLT Selesai
Tampilan atau screenshoot jalannya program

Percobaan 2:
Lakukanlah eksperimen pada rancangan program berikut menggunakan simulator dan lakukan
pengamatan pada tiap urutan instruksi.

Urutan Mnemonic Keterangan


1 LXI D,8000 Mengisi pasangan DE = 8000
2 MVI A, 59 Mengisi reg A = 59
3 STAX D Pindahkan nilai dari register H ke memori yang
ditunjukkan pasangan register D.
4 LXI B, 9000 Mengisi pasangan BC = 9000
5 LDAX B Isi reg.A sama dengan isi memori 9000
6 IN 51 Mengambil data dari port 51
7 MVI A, 78 Mengisi reg. A = 78
8 Out 50 Mengeluarkan data 78 ke port keluaran 50 H
9 HLT Menghentikan program
F. Latihan

Latihan 1:

LXI SP,4050
LXI B,2045
PUSH B
Laporan Eksperimen:

Latihan 2:

LXI SP, 4050


LXI B, 0102
LXI D, 0304
LXI H, 0506
PUSH B
PUSH D
PUSH H
LXI B, 0000
LXI D, 0000
LXI H, 0000
POP H

Laporan Eksperimen:
Latihan 3

LXI SP A010
PUSH B
PUSH D
POP B
POP D

Laporan Eksperimen:

Selamat Mengerjakan

You might also like