Morlan Pardede, MT
Percobaan Pemindahan Data
MODUL 1
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.
2. Pengalamatan Register
Pengalamatan register merupakan pemindahan data antara register
Contoh program 2.
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.
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
berikut. Click Start, All Program, Sim8085 µP8085 Simulator, sim8085 sehingga monitor
menampilkan tampilan sebagai berikut:
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
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. Percobaan
Percobaan 1.
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.
Program 6
Address Machine Mnemonic Comment
8110H 16-70 MVI D, 70H D= 70H
MVI E, A0H E=
LXI H,0000 HL=
MOV A, D A=
STA 9010H (9010H)=
MOV A, E A=
STA 9011H (9011)=
LHLD 9010H Reg. H= Reg.L=
HLT Berhenti
Program dimulai pada alamat 8110H untuk itu ketik ORG 8110H. Hasil yang akan
diamati alamat 9010H dan 9011H untuk itu kolom memori set pada 9010H dan 8110H
dengan meng-clik Option, Debugger dan set data entry pada 9010. Compile program dan
eksekusi secara Step dengan tombol F8. Setelah program di atas dieksekusi maka isi dari :
Reg. D =.... (H) ; Reg. E = .....(H) ; Reg. H = ....(H); Reg. L = ....(H) ; Reg.A=... (H)
Isi memory: (9010) = ... (H) ; (9011)=....(H).
MOV A,L A=
STA 7524H (7524)=
MOV A,E A=
STA 7525H (7525)=
MOV C,H C=
LDAX B A=
STAX D (7523)=
LHLD 7523H H= L=
MVI M,73H (7575)=
HLT
Percobaan 4.
Masukkan program 9 berikut dan kemudian set alamat Data Entry pada 9FF8H dan Stack
Entry pada A000H dari program simulator. Analisa hasil simulasi.
Program 9.
Address Machine Mnemonic Comment
BCDF LXI SP,0A000H
LXI B,5F32 H
LXI H, 4875 H
LXI D,9675 H
PUSH B (9FFF)=5F (9FFE)=32
SP= 9FFE;
PUSH H (9FFD)=48; (9FFC)=75
SP=9FFC;
LXI B,0F897H BC=F897
LXI H,7745 H HL=7745
POP H L=75; H=48; SP=9FFE
POP B C=32; B=5F, SP=A000
HLT Selesai
Percobaan 5.
Masukkan program 10 dan simulasikan dengan terlebih dahulu menset alamat Data Entry
pada C048H dan Stack Entry pada C050H dari program simulator. Isikan memori 0038H
dengan data 76H. Apa yang diakibatkan PCHL?
Program 10.
SPHL
XCHG
PUSH D
XTHL
POP D
LXI H,0038H
PCHL
Percobaan 6.
Program 11 berikut berfungsi untuk memindahkan isi memori alamat 8700 H sampai 8704
H ke lokasi memory 8710 H sampai 8714 H.
-Ketik program 11 dengan alamat awal 8200H dan set isi memori 8700H s/d 8704H dengan
data (01 s/d 05H) dan isi memori 8710H s/d 8714H dengan 00. Untuk menset isi memori
dilakukan dengan mengetik berikut ini setelah program’
Org 8700H
DB 01 H, 02 H, 03 H, 04 H;
DB 05H;
Org 8710H
DB 00, 00, 00, 00 ;
DB 00 ;
-Set Data entry pada alamat 8700H
-Compile Program dan isikan alamat kode mesin pada table alamat dan kode mesin
- Eksekusi program 11 secara step.
-Setelah instruksi HLT dieksekusi periksa Apakah isi memori 8700H s/d 8704H telah
sama dengan isi 8710H s/d 8714H?
- Berika analisa anda.
Program 11. (Mengcopy isi memori 8700 s/d 8704 ke memory 8710 s/d 8714)
Tugas:
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