Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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. 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
1-1
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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 Setelah program di atas dilaksanakan isi dari:
Berhenti
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.
1-2
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
Contoh program 4. Address Machine Mnemonic 8500 01 – 00 – 88 LXI B, 8800 8503 3E – 0E MVI A, 0E 8505 02 STAX B 8506 76 HLT Setelah program di atas dilaksanakan isi dari :
Comment Penandaan alamat memory Data 0E Reg. A; A=0E Data 0E memory(8800); (8800)=0E Berhenti
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 9500 9502 9504 9507
Machine 3E – 05 16 – 07 31 – 02 – 93 F5
Mnemonic MVI A, 05 MVI D, 07 LXI SP, 9302 PUSH PSW
9508 7A MOV A, D 9509 32 – 00 – 83 STA 8300 950C F1 POP PSW 950D 76 HLT Setelah program di atas dilaksanakan maka:
Comment Data 05 Reg. A Data 07 Reg. D Penandaan untuk stack Data 05 dan isi Flag disimpan pada Stack Data 07 Reg.A Data 07 (8300) Data dari Stack diambil Berhenti
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
1-3
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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
1-4
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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 1-5
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
8100 8102 8104 8106
3E – 05 06 – 08 0E – 09 76/FF
Ir.Morlan Pardede, MT
MVI A, 05 MVI B, 08 MVI C, 09 HLT
A=05H ; PC=8102H B=08H ; PC=8104H C=09H ; PC=8106H 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. 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 8110H
Machine 16-70
Mnemonic MVI D, 70H MVI E, A0H LXI H,0000 MOV A, D STA 9010H 1-6
Comment D= 70H E= HL= A= (9010H)= POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
MOV A, E STA 9011H LHLD 9010H HLT
A= (9011)= Reg. H= Berhenti
Reg.L=
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). Percobaan 2. Simulasikan program 7 berikut Program.7. Address 8500H
Machine
Mnemonic LXI H, 8800H LXI B, 8801H MVI M, 0FFH MOV A, M STAX B SHLD 8802H HLT
Comment HL= BC= (8800H)= A= (8801H)= (8802H)= (8803H)= Berhenti
Setelah program di atas dilaksanakan (execute) isi dari : Reg. A = ...(H) ; Reg. B = .... (H) ; Reg. H = .....(H) ; Reg. L = ....(H) ; Reg. A = .... (H) Isi alamat dari : (8800) =... (H) ;
(8801)=.... (H)
(8802) =....(H) ;
(8803)=.....(H)
Percobaan 3. Simulasikan program 8 berikut Program 8. Address 8CC0
Machine
Mnemonic LXI D,7523H LXI H,2475H LXI B,7524H
1-7
Comment DE= HL= BC=
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
MOV A,L STA 7524H MOV A,E STA 7525H MOV C,H LDAX B STAX D LHLD 7523H MVI M,73H HLT
A= (7524)= A= (7525)= C= A= (7523)= H= L= (7575)=
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 BCDF
Machine
Mnemonic LXI SP,0A000H LXI B,5F32 H LXI H, 4875 H LXI D,9675 H PUSH B PUSH H LXI B,0F897H LXI H,7745 H POP H POP B HLT
Comment
(9FFF)=5F (9FFE)=32 SP= 9FFE; (9FFD)=48; (9FFC)=75 SP=9FFC; BC=F897 HL=7745 L=75; H=48; SP=9FFE C=32; B=5F, SP=A000 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. Address 80E0
Machine
Mnemonic LXI H,C050H LXI D,7568H LXI B, 8975H
1-8
Comment
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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 H
8704
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) Address
Kode Mesin
Label
8200H
11-00-87
LXI D,8700H
DE=
8203
01-10-87
LXI B,8710H
BC=
8206
2E-05
MVI L,05H
L=
8208
1A
LDAX D
A=
Ulang:
Mnemonic
1-9
Komentar
A=
A=
A=
POLITEKNIK NEGERI MEDAN
..
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
8209
02
STAX B
(8710H)=
820A
13
INX D
820B
03
820C
(8711)
(8712)=
(8713)=
(9714)=.
DE=
DE=
DE=
..
INX B
BC=
BC
BC
..
2D
DCR L
L=
L=
L=
..
820D
C2-08-82
JNZ Ulang
Flag Z=
Z=
Z=
..
8210
76
HLT
Berhenti
Proses diulangi hingga 5 kali Berikan analisa dan Kesimpulan Anda Tugas: 1. Tentukan alamat, kode mesin dan hasil setiap instruksi dari program 12 sampai 13 Program 12. Address
Machine
AAAAH
Label
Mnemonic
Komentar
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 BCDE
Machine
Mnemonic
Comment
LXI H,7890 LXI D,5689 LXI SP, 8900 1-10
POLITEKNIK NEGERI MEDAN
Mikroprosesor Percobaan Pemindahan Data
Ir.Morlan Pardede, MT
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
1-11
POLITEKNIK NEGERI MEDAN