Anda di halaman 1dari 27

LAPORAN PRAKTIKUM

MIKROKONTROLLER DAN ANTARMUKA


“DATA TRANSFER”

DISUSUN OLEH :

NAMA : Parlindungan

NIM : 2105061018

KELAS : TK – 4B

PROGRAM STUDI TEKNIK

TELEKOMUNIKASI JURUSAN TEKNIK

ELETRO

POLITEKNIK NEGERI
MEDAN T.A. 2023/2024
LEMBAR PENGESAHAN

NO. PERCOBAAN : 01/Prak. Mikrokontroller dan

antarmuka/TK-4B/2023

JUDUL PERCOBAAN : Pemindahan Data (Data Transfer)

TANGGAL PERCOBAAN : 9 Februari 2023

TANGGAL PENYERAHAN : 2 Maret 2023

NAMA : Parlindungan

NIM : 2105061018

KELAS : TK – 4B

INSTRUKTUR : 1. Ir. Morlan Pardede, M.T.

2. Daniel Saragih Napitu, S.T., M.Kom

Mengetahui,

Instruktur 1 Instruktur 2

(Ir. Morlan Pardede, M.T.) (Daniel Saragih Napitu, S.T., M.Kom)


PERCOBAAN PEMINDAHAN DATA

A. TUJUAN
- Membuktikan fungsi instruksi-instruksi Pemindahan data
- Membuat program pemindahan data dari Register ke memori, register ke
memori dan dari memori ke register.

B. Dasar Teori
Modus pengalamatan adalah bagaimana mikroprosesor mengeksekusi perintah tersebut. Pada
mikroprosesor pengalamatan dibagi atas:
-Pengalamatan Immeadiate
-Pengalamatan Register
-Pengalamatan Langsung
-Pengalamatan Tidak langsung
-Pengalamatan Implied

1. Pengalamatan Immmediate
Pengalamatan ini merupakan pengalamatan dimana datanya mengikuti setelah kode operasi
(seketika setelah kode operasi).
Contoh program 1.

Address Machine Mnemonic Comment


8100 3E – 03 MVI A, 03 Data 03  Reg. A
8102 06 – 08 MVI B, 08 Data 08  Reg. B
8104 0E – 09 MVI C, 09 Data 09  Reg. C
8106 11-34-12 LXI D,1234 Data 1234 ke reg. DE
8109 FF RST 7 Berhenti

Setelah program di atas maka :


Register A=03H ; RegisterB =08H; Register C=09 H ; Reg. D=12 H ; E=34 H
2. Pengalamatan Register
Pengalamatan register merupakan pemindahan data antara register
Contoh program 2.

Address Machine Mnemonic Comment


8108 0E – 05 MVI C, 05 Data 05  Reg. C
810A 41 MOV B , C Data 05  Reg. B
810B 60 MOV H , B Data 05  Reg. H
810C 76 HLT Berhenti

Setelah program diatas Register C, B, H akan berisi data 05 (H). Program 2 di atas terdiri dari
Pengalamatan Immediate dan Pengalamatan Register.

3. Pengalamatan Langsung
Pengalamatan langsung adalah pengalamatan dimana alamat yang akan diakses langsung
diberikan setelah kode operasi.
Contoh program 3.

Address Machine Mnemonic Comment


8800 3E – 07 MVI A , 07 Data 07  Reg. A
8802 32 – 15 – 90 STA 9015 Data 07  (9015)
8805 3E – 08 MVI A , 08 Data 08  Reg. A
8807 32 – 16 – 90 STA 9016 Data 08  (9016)
880A 2A– 15 – 90 LHLD 9015 Isi Memori 9015 Reg. L; L=07
Isi Memori 9016 Reg.H; H=08
880D FF RST 7 Berhenti
Setelah program di atas dilaksanakan isi dari:
Reg. L= 07H ; H= 08 H ; A= 08 H ; Lokasi memory : 7015= 07 H ; dan 7016 = 08 H .

4. Pengalamatan Tidak Langsung


Pengalamatan tidak langsung adalah pengalamatan dimana memori yang akan diakses
dilakukan melalui suatu pasangan register, yaitu alamat yang akan diakses terdapat pada pasangan
register yang disebutkan setelah menemonic perintah.
Contoh program 4.
Address Machine Mnemonic Comment
8500 01 – 00 – 88 LXI B, 8800 Penandaan alamat memory
8503 3E – 0E MVI A, 0E Data 0E  Reg. A; A=0E
8505 02 STAX B Data 0E memory(8800); (8800)=0E
8506 76 HLT Berhenti
Setelah program di atas dilaksanakan isi dari :
Reg. B = 88H ; Reg. C = 00 H ; Reg. A = 0E H
Lokasi memory : 8800 = 0E H

5. Pemindahan data pada Stack


Stack merupakan tumpukan memori yang digunakan untuk menyimpan data, dan untuk
sementara, sehingga data dan alamat tersebut dapat digunakan kembali. Operasi Stack ini dilakukan
pada saat instruksi PUSH, POP dan CALL.
Contoh program 5
Address Machine Mnemonic Comment
9500 3E – 05 MVI A, 05 Data 05  Reg. A
9502 16 – 07 MVI D, 07 Data 07  Reg. D
9504 31 – 02 – 93 LXI SP, 9302 Penandaan untuk stack
9507 F5 PUSH PSW Data 05 dan isi Flag disimpan
pada Stack
9508 7A MOV A, D Data 07  Reg.A
9509 32 – 00 – 83 STA 8300 Data 07  (8300)
950C F1 POP PSW Data dari Stack diambil
950D 76 HLT Berhenti
Setelah program di atas dilaksanakan
maka: Reg A. = 05H ; Reg. D = 07 H ; SP =
9302H
Lokasi memory : 8300 = 07 H ; 9301 = 05H
C. Pengoperasian Program Simulasi8085
Program berbasis 8085 dapat disimulasikan pada komputer pc dengan menjalankan Program
Simulasi 8085. Untuk dapat mensimulasikan program terlebih dahulu software simulasi diinstall
pada komputer dan selanjutnya menjalankannya dengan tahapan sebagai berikut. Click Start, All
Program, Sim8085 µP8085 Simulator, sim8085 sehingga monitor menampilkan tampilan sebagai
berikut:

Untuk memulai menulis Program: Click: File New


Masukkan program 1 sehingga tampilan seperti gambar berikut

Set alamat memori yang ditampilkan pada saat menjalankan simulasi


click: Option, Debugger , Option
-Isikan code entry dengan alamat awal program (8100H)
-Isikan Data entry dengan alamat awal dari tempat data yang akan dianalisa (8100)
-Isikan stack entry dengan alamat tumpukan data (stack) yang akan dianalisa
-click ok

Compile program dengan mengclick: Program, Compile

Perhatikan apakah ada yang salah. Jika ada yang salah perbaiki
Selanjutnya untuk mensimulasikan lakukan langkah berikut dengan Click: Project, Debug Mode.
Simulasikan program secara Step dengan menekan tombol F8 dan perhatikan perubahan isi register
dan Program Counter setiap F8 ditekan
5. Catat Hasil simulasi pada lembar kerja anda seperti beriku ini.
Address Machine Mnemonic Comment
8100 3E – 05 MVI A, 05 A=05H ; PC=8102H
8102 06 – 08 MVI B, 08 B=08H ; PC=8104H
8104 0E – 09 MVI C, 09 C=09H ; PC=8106H
8106 76/FF HLT Berhenti

6. Ulangi langkah pengujian di atas dengan terlebih dahulu meng-Click Project, Terminate
kemudian Click Project mode..
7. Simpan program anda dengan nama file coba1.a85 Dengan meng_Click File,
Save As.

D. Langkah Percobaan
1. Lengkapi alamat, kode mesin dan komentar dari program 6.
2. Ketik program 6 pada simulator 8085
3. Compile program 6 dengan mengclick Project, Compile
4. Buka hasil Compile dengan mengclik Project, Debug mode
5. Bandingkan alamat dan kode mesin yang anda buat dengan hasil compile.
6. Eksekusi program secara bertahap (step) dengan menekan tombol F8 setiap satu perintah.
7. Bandingkan hasil simulasi dengan hasil analisa anda.
8. Lanjutkan mengeksekusi hingga program HLT dieksekusi.
9. Ulangi langkah – langkah diatas hingga seluruh program selesai
10. Berikan kesimpulan anda
E. Percobaan
1. Permasalahan
Cara mengoperasikan data transfer
2. Algoritma
PERCOBAAN 1 (Program 6)
• Set data pada reg.D dan E
• Reset register HL
• Isi Acc dengan data pada reg.D
• Simpan isi Acc pada alamat memori 9010
• Isi Acc dengan data pada reg.E
• Simpan isi Acc pada alamat momori 9011
• Isi pasangan reg. HL dengan data pada memori 9010 dan 9011
PERCOBAAN 2 (Program 7)
• Set isi pasangan reg HL dengan 8800
• Set isi pasangan reg BC dengan 8801
• Isi memori dengan 0FFH
• Isi Acc dengan isi memori
• Simpan data Acc pada stack BC (8800)
• Isi alamat memori 8802 dan 8803 dengan isi pasangan reg.HL

PERCOBAAN 3 (Program 8)
• Set pasangan reg.DE pada alamat memori 7523
• Set pasangan reg.HL pada alamat memori 2475
• Set pasangan reg.BC pada alamat memori 7524
• Isi alamat memori 7524 dengan isi reg.L
• Isi alamat memori 7525 dengan idi reg.D
• Isi alamat memori 7525 dengan isi pasangan reg.HL

PERCOBAAN 4 (Program 9)
• Set SP
• Set isi pasangan reg. BC,HL dan DE
• PUSH data ke stack dari pasangan reg.BC dan HL
• Isi pasangan reg.BC dan HL
• Panggil data dari stack ke pasangan reg.BC dan HL

PERCOBAAN 5 (Program 10)


• Set isi pasangan reg.HL, DE, dan BC
• Pindahkan isi pasangan reg.HL ke SP
• Tukar isi pasangan reg.HL dengan DE
• PUSH isi pasnagan reg.DE ke stack
• Panggil data dari stack ke pasangan reg.DE
• Tukar stack tertinggi dengan isi pasangan reg.HL
• Set isi pasangan reg.HL

PERCOBAAN 6 (Program 11)


• Set alamat memori awal(DE) dan yang akan dipindahkan(BC)
• Set pengulangan sebanyak 5
• Copy data pada alamat memori awal
• Simpan data pada alamat memori yang akan dipindahkan
• Alamat data awal dan yang akan dipindahkan +1
• Ulangi langkah 3 bila belum 0

3. Flowchart

START START

Set data pada reg.D dan reg. E Set pasangan reg. DE pada alamat memori 7523

Set pasangan reg. HL pada alamat memori 2475


Isi Acc dengan data pada reg.D
Set pasangan reg. BC pada alamat memori 7524
Simpan isi Acc pada alamat memori
Isi alamat memori 7524 dengan isi reg. L
9010
Isi Acc dengan data pada reg. E Isi alamat memori 7525 dengan reg. D

Isi alamat memori 7525 dengan isi pasangan reg. HL


Simpan Acc pada alamat memori
9011
Isi pasangan reg. HL dengan data pada
memori 9010 dan 9011
SELESAI

SELESAI
4. Program Percobaan
Program 6
Kickoff 8110H
Org 8110H
MVI D, 70H
MVI E, A0H
LXI H,0000
MOV A, D
STA 9010H
MOV A, E
STA 9011H
LHLD 9010H
HLT

Program 7
KICKOFF 8500H
ORG 8500H
LXI HL, 8800H
LXI BC, 8801H
MVI M, 0FFH
MOV A, M
STAX BC
SHLD 8802H
HLT

Program 8
KICKOFF 8CC0H
ORG 8CC0H
LXI DE,7523H
LXI HL,2475H
LXI BC,7524H
MOV A,L
STA 7524H
MOV A,E
STA 7525H
MOV C,H
LDAX BC
STAX DE
LHLD 7523H
MVI M,73H
HLT

Program 9
KICKOFF BCDFH
ORG BCDFH
LXI SP,0A000H
LXI BC,5F32H
LXI HL, 4875H
LXI DE,9675H
PUSH BC
PUSH HL
LXI BC,0F897H
LXI HL,7745H
POP HL
POP BC
HLT

Program 10
KICKOFF 80E0H
ORG 80E0H
LXI HL,49232
LXI DE,7568H
LXI BC, 8975H
SPHL
XCHG
PUSH DE
XTHL
POP DE
LXI HL,0038H
PCHL

Program 11
KICKOFF 8200H
ORG 8200H
LXI DE,8700H
LXI BC,8710H
MVI L,05H
Ulang:
LDAX DE
STAX BC
INX DE
INX BC
DCR L
JNZ Ulang
HLT
Org 8700H
DB 01H, 02H, 03H, 04H;
DB 05H;
Org 8710H
DB 00, 00, 00, 00 ;
DB 00 ;
5. Hasil Percobaan
PROGRAM 6

Address Machine Mnemonic Comment

8110H 16-70 MVI D, 70H D= 70H


8112H 1E10 MVI E, A0H E= 10H
8114H 21-00-00 LXI H,0000 HL= 0000H
8117H 7A MOV A, D A= 70H
8118H 32-10-90 STA 9010H (9010H)= 70H
811BH 7B MOV A, E A= 10H
811CH 32-11-90 STA 9011H (9011)= 10H
811FH 2A-10-90 LHLD 9010H Reg. H= 10H Reg.L= 70H
8122H 76 HLT Berhenti
PROGRAM 7

Address Machine Mnemonic Comment


8500H 21-00-88 LXI H, 8800H HL= 8800H
8503H 01-01-88 LXI B, 8801H BC= 8801H
8506H 36-FF MVI M, 0FFH (8800H)= 8800H
8508H 7E MOV A, M A= FFH
8509H 02 STAX B (8801H)= FFH
850AH 22-02-88 SHLD 8802H (8802H)= FFH (8803H)=
FFH
850DH 76 HLT Berhenti
PROGRAM 8

Address Machine Mnemonic Comment


8CC0H 11-23-75 LXI D,7523H DE= 7523H
8CC3H 21-75-24 LXI H,2475H HL= 2475H
8CC6H 01-24-75 LXI B,7524H BC= 7524H
8CC9H 7D MOV A,L A= 75H
8CCAH 32-24-75 STA 7524H (7524)= 75H
8CCDH 7B MOV A,E A= 23H
8CCEH 32-25-75 STA 7525H (7525)= 23H
8CD1H 4C MOV C,H C= 24H
8CD2H 0A LDAX B A= 23H
8CD3H 12 STAX D (7523)= 23H
8CD4H 2A-23-75 LHLD 7523H H= 75H L= 23H
8CD7H 36-73 MVI M,73H (7575)= 73H
8CD9H 76 HLT BERHENTI
PROGRAM 9

Address Machine Mnemonic Comment


BCDF 31-00-0A LXI SP,0A000H SP = 0A00H
BCE2 01-32-5F LXI B,5F32 H BC = 5F32H
BCE5 21-75-48 LXI H, 4875 H HL = 4875H
BCE8 11-75-96 LXI D,9675 H DE = 9675H
BCEB C5 PUSH B (9FFF)=5F (9FFE)=32

SP= 9FFE;
BCEC E5 PUSH H (9FFD)=48; (9FFC)=75

SP=9FFC;
BCED 01-89-0F LXI B,0F897H BC=F897
BCF0 21-45-77 LXI H,7745 H HL=7745
BCF3 E1 POP H L=75; H=48; SP=9FFE
BCF4 C1 POP B C=32; B=5F, SP=A000
BCF5 76 HLT Selesai
PROGRAM 10

Address Machine Mnemonic Comment


80E0 21-50-C0 LXI H,C050H HL = C050H
80E3 11-68-75 LXI D,7568H DE = 7568H
80E6 01-75-89 LXI B, 8975H BC = 8975H
80E9 F9 SPHL SP = C050H
80EA EB XCHG HL = 7568H , DE = C050H
80EB D5 PUSH D C04F = C0H , C04E = 50H
80EC E3 XTHL HL = C050H , C04F = 75H C04E =
68H

80ED D1 POP D E = 68H , D = 75H , SP = C050H


80EE 21-38-00 LXI H,0038H HL = 0038H

80F1 E9 PCHL PC = 0038H


PROGRAM 11

Address Kode Mesin Label Mnemonic Komentar

8200H 11-00-87 LXI D,8700H DE= DE = DE = DE = DE =


8700H 8700H 8700H 8700H 8700H

8203 01-10-87 LXI B,8710H BC= BC= BC= BC= BC=


8710H 8710H 8710H 8710H 8710H

8206 2E-05 MVI L,05H L= 05H L= 05H L= 05H L=05H L=05H

8208 1A Ulang: LDAX D A= 45H A= A= A=


A= 45H
45H 45H 45H

8209 02 STAX B (8710H)= (8711)= (8712)= (8713)= (8714)=


45H 45H 45H 45H 45H.

820A 13 INX D DE= 01H


DE= 01H DE= 01H DE=01H DE = 01H

820B 03 INX B BC= BC= BC= BC= BC =


8711H 8711H 8711H 8711H 8711H

820C 2D DCR L L=04H L=04H L= 04H L=04H L= 04H


Flag= 00 Flag=00 Flag= 00 Flag= 00 Flag =
00
820D C2-08-82 JNZ Ulang PC= PC = PC= PC= PC =
8200H 8200H 8200H 8200H 8200H

8210 76 HLT Berhenti Berhe Berhe Berhe Berhe


nti nti nti nti
F. ANALISA DATA
G. Tugas dan Jawaban
1. Tentukan alamat, kode mesin dan hasil setiap instruksi dari program 12 sampai
13 Program 12.
Address Machine Label Mnemonic Komentar
AAAAH LXI H,7589
LXI B,F324
LXI D,9568
MOV A,E
STAX B
MVI C,2B
MOV A,D
STAX B
SHLD F389
LHLD F324
HLT

Program 13.
Address Machine Mnemonic Comment
BCDE LXI H,7890
LXI D,5689
LXI SP, 8900
LXI B,7896
PUSH B
XTHL
MVI M,67
XCHG
MOV M,E
POP D
XCHG HL=5689 DE=7890
PCHL

Sebelum diekseskusi isikan memory 5689 dengan data 76 atau perintah HLT
2. Buat program untuk mempertukarkan isi memori 8800H sampai 8805H dengan isi memori 8810H
sampai 8815H (Block Exchange). Program ditulis mulai dari alamat 8100H

3. Buat program untuk mengosongkan (mengisi data FFH) memori 8800H sampai 8810H.

JAWABAN :
1. PROGRAM 12

Address Machine Label Mnemonic Komentar

AAAAH 21-89-75 LXI H,7589 HL = 7589 H

AAADH 01-24-F3 LXI B,F324 BC = F324H

AAB0H 11-60-25 LXI D,9568 DE = 9568H

AAB3H 7B MOV A,E A = 60H

AAB4H 02 STAX B (F324H) = 60H

AAB5H 0E2B MVI C,2B C = 2BH

A = 25H
AAB7H 7A MOV A,D
C= 2BH
AAB8H 02 STAX B
(F389H) = 89H (F390H) = 75H
AAB9H 22-89-F3 SHLD F389
Reg H = 75H , Reg L = 89H
AABCH 2A-24-F3 LHLD F324
Berhenti
AABFH 76 HLT
Program 13.

Address Machine Mnemonic Comment


BCDE 21-90-78 LXI H,7890 HL = 7890H
BCE1 11-89-56 LXI D,5689 DE = 5689H
BCE4 31-00-89 LXI SP, 8900 SP = 8900H
BCE7 01-96-78 LXI B,7896 BC = 7896H
BCEA C5 PUSH B (BCEBH) = 90H (BCECH) = 78H
BCEB E3 XTHL HL = 7890H , (BCEBH)= 56H
(BCECH) = 89H
BCEC 36-67 MVI M,67 (BCEEH) = 67H
BCEE EB XCHG HL = 5689H DE = 7890H
BCEF 73 MOV M,E (BCF0H) = 67H
BCF0 D1 POP D E = 90H D = 56 H SP = 8900H
BCF1 EB XCHG HL=5689 DE=7890
BCF2 E9 PCHL DE = 5689H HL = 7890H

2. KICKOFF 8100H
ORG 8100H
LXI DE,8800H
LXI BC,8810H
MVI L,05H
ULANG:
LDAX DE
STAX BC
INX DE
INX BC
DCR L
JNZ 8100H
HLT
ORG 8800H
DB 45H, 46H, 65H, 34H
DB 67H
ORG 8801H
DB 00, 00, 00,
00
DB 00, 00, 00, 00
ORG 8802H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8803H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8804H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8805H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8810H
DB 45H, 46H, 65H, 34H
DB 67H
ORG 8811H
DB 00, 00, 00,
00
DB 00, 00, 00, 00
ORG 8812H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8813H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8814H
DB 00, 00, 00, 00
DB 00, 00, 00, 00
ORG 8815H
DB 00, 00, 00, 00
DB 00, 00, 00, 00

3.
KICKOFF 8800H
ORG 8800H
MVI A , 07
STA 9015
MVI A , 08
STA 9016
LHLD 9015
HLT
H. Kesimpulan

Anda mungkin juga menyukai