Anda di halaman 1dari 16

Laporan Sementara

MK. Praktek Mikroprosessor

PERCOBAAN III

OPERASI PENAMBAHAN DAN PENGURANGAN

OLEH:

SERLY FEBRIANTI

1725042011

S1-B

JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MAKASSAR

2019
PERCOBAAN III

OPERASI PENAMBAHAN DAN PENGURANGAN

Tanggal Percobaan : 11 Maret 2019

A. Tujuan Percobaan
1. Mengetahui dan mengerti bagaimana operasi penambahan dan
pengurangan dilaksanakan dalam suatu mikrokomputer.
2. Membiasakan pemakai dengan teknik-teknik membuat program.

B. Teori Dasar
Dalam percobaan ini kita hanya membicarakan penambahan dan
pengurangan bilangan bulat (integer) biner tak tertanda. Untuk suatu bilangan
biner AND bit, cakupannya adalah (0 - > 2 -1) misalnya, jika AND = 8,
cakupannya adalah (0->255); jika AND = 16, cakupannya adalah (0 ->
65535). Jika cakupan bilangan-bilangan itu dinyatakan dalam digit-digit
Heksadesimal, cakupannya adalah (0 -> FFH) dan (0-> FFFFH) dan
seterusnya. Jika operasi penjumlahan lebih besar dai pada nilai maksimum
yang dapat dinyatakan dalam AND bit, dihasilkan carry, carry flag di-set.
Dalam operai pengurangan, jika bilangan pengurangan lebih besar daripada
bilangan yang dikurangi, dihasilkan peminjaman (borrow) dan carry flag di-
Set, berartihasilnya tidak benar,
CONTOH I : Penambahann dan pengurangan bit tunggal
Penambahan : 7 FH + ADH + 12 CH
01111111 7FH
+) 10101101 ADH
-----------------------------------
100101100 12 CH

Carry <CY>
Pengurangan 7FH – ADH Pengurangan ADH-7FH=2 EH
01111111 10101101
-) 10101101 -)01111111
111010010 000101110

Pinjaman pinjaman
(borrow) (borrow)

Hasil tidak benar (CY = 1) Hasil tidak benar (CY = 0)

CONTOH II Penambahan dan pengurangan tiga byte

Penambahan : 6A7CBDH + 4B65ACH = B5E269H

6A 7C BD

4B 65 AC

+ 0 + 1 + 0

B5 E2 69
0 0 0

CARRY CARRY CARRY


Pengurangan : 854372H - 69ACBFH =

85 43 72

-69 -AC -BF

0 1B 1 97 1 B3

- 1 - 1 - 0

1A 96 B3
0 1 1

BORROW BORROW BORROW

Pinjaman dari byte berorde paling tinggi adalah 0, jadi hasilnya adalah
benar. Dalam pengurangan lebih dari satu byte (Multibyte), benar atau tidaknya
hasil yang didapat tergantung dari pinjaman pada byte yang berorde paling tinggi.
Jika pinjaman = 1, hasilnya tidak benar.

1. Susunan Data Yang Tersimpan Dalam Memory


Penyimpanan data multi byte dalam memory adalah sebagai
berikut : byte yang berorde paling rendah disimpan dalam address yang
paling rendah, byte yang berorde paling tinggi disimpan dalam address
yang paling tinggi pula. Misalnya, bilangan 7325 H disimpan dalam
memory address A sebagai berikut :

Address A byte berorde 25 rendah

73
A + 1 byte berorde tinggi
Jika address awal dari empat buah bilangan tiga bye yang
tersimpan di memory adalah A, data dan address-addressnya sebagai
berikut :
Address A 56
7C 987C56H
98
A+3 43
69 AD6943H
AD
A+3 BC
01 2501BCH
25
A+9 78
95 439578H
43
A + 12 21
96 …….

2. Merancang Program-Program Penambahan Dan Pengurangan


Data yang dipakai pada operasi penambahan/pengurangan
disimpan dalam memory menurut metode diatas. Address awal dari
bilangan yang ditambah/dikurangi disimpan dalam register indeks IX.
Address awal dari bilangan penambahan/pengurangan disimpan dalam
register indeks IY. Data tentang jumlah byte disimpan dalam register B.
Pertama-tama, nolkan carry flag dan isikan bilangan yang akan
ditambah/dikurangi ke accumulator. Kemudian, pergunakan instruksi-
instruksi mode addressing indeks ADC<SBC> untuk operasi-operasi
pengurangan /penambahan. Hasilnya disimpan dalam address asal
bilangan yang ditambah/dikurangi. Akhirnya, periksa carry flag untuk
menentukan apakah hasilnya benar. Satu-satunya perbedaan antara
program penambahan/pengurangan adalah bahwa instruksi ADC
digunakan untuk operasi penambahan, sedangkan instruksi SBC digunakan
untuk operasi pengurangan. Berikut ini adalah flowchart dan program
operasi-operasi penambahan dan pengurangan yang dapat dipakai sebagai
perbandingan.
a) *** CONTOH PROGRAM GMS - 1***
b) PENAMBAHAN 3 BYTE (BILANGAN BULAT TIDAK
BERTANDA)
c) INPUT : ADDRESS BILANGAN YANG DITAMBAH PADA
IY, ADDRESS BILANGAN YANG DITAMBAH PADA IY.
d) OUTPUT : JUMLAH PADA ADDRESS YANG DITAMBAH
e) ADD3 : XOR A ; NOL-KAN CARRY FLAG
LD B,3 ; JUMLAH BYTE PADA B
f) ADDLP : LD A,(IX)
ADC A,(IY)
LD (IX),A
INC IX
INC IY
DJNZ ADDLP
RET
3. Teknik program
Dari contoh-conto diatas (contoh 1 dan 2) kita dapat melihat bahwa
operasi penambahan/pengurangan multi byte dapat dilakukan dengan cara
mengulangi operasi penambahan/pengurangan byte tunggal, yaitu dengan
operasi ‘loop’ penambahan/pengurangan byte tunggal. Pada program
diatas, register B dipakai sebagai penghitung loop. Jika jumlah byte adalah
4, bilangan tersebut (4) pertama-tama harus diisikan ke B. setiap selesai
satu operasi loop, register B dikurangi dengan 1 operasi loop berakhir jika
B sama dengan 0. Instruksi DJNZ dipakai untuk operasi loncat bersyarat.
Bila B sama dengan 0, program tidak lagi melaksanakan operasi ‘jump’.
Karena instruksi- instruksi ADC dan SBC digunakan pada program, CY
perlukan pada tiap-tiap operasi penambahan/pengurangan. Karena itu
sebelum operasi penambahan/pengurangan byte pertama flag carry harus 0
(instruksi XOR A). Register-register indeks IX dan IY digunakan sebagai
penunjuk address. Dengan penambah IX dan IY dengan satu, CPU dapat
mengambil data dari memory di address yang dimaksud.
C. Program Percobaan

Tabel 3.1 Listing Program Penjumlahan Bilangan Biner 793865 H

OBJECT Bahasa
ADDRESS Keterangan
CODE Assembly
1800 H AF
1801 H 06
1802 H 03
1803 H DD
1804 H 7E
1805 H 00
1806 H FD
1807 H 8E
1808 H 00
1809 H DD
180A H 77
180B H 00
180C H DD
180D H 23
180E H FD
180F H 23
1810 H 10
1811 H F1
1812 H FF
1813 H FF
1814 H FF
1815 H FF
1816 H 79
1817 H 38
1818 H 65
1819 H AB
181A H CD
181B H EF

Tabel 3.2 Listing Program Penjumlahan Bilangan Biner 009543H

OBJECT Bahasa
ADDRESS Keterangan
CODE Assembly
1800 H AF XOR A Nolkan Carry
1801 H 06 LD B,3
Memuat (load) register B
1802 H 03
1803 H DD LD A,(IX)
1804 H 7E Memuat (load) register A
1805 H 00
1806 H FD ADC A, (IY)
1807 H 8E Menjumlahkan register A
1808 H 00
1809 H DD LD (IX) A Memuat (load) IX
180A H 77
180B H 00
180C H DD INC IX Increament IX
180D H 23
180E H FD INC IY Increament IY
180F H 23 Increament HL
Instruksi untuk mengurangi 1
1810 H 10 DJNZ DIS
dari data pada register B
1811 H F1 POP AF
1812 H FF RST 38H
1813 H FF RST 38H
1814 H FF RST 38H
1815 H FF RST 38H
1816 H 00
1817 H 95
1818 H 43
1819 H AB
181A H 12
181B H 36

Tabel 3.3 Listing Program Penjumlahan Biner 954717H

OBJECT Bahasa
ADDRESS Keterangan
CODE assembly
1800 H AF XOR A Nolkan Carry
1801 H 06 LD B,3
Memuat (load) register B
1802 H 03
1803 H DD LD A,(IX)
Memuat (load) register A
1804 H 7E
1805 H 00
1806 H FD SBC A, (IY) Mengurangkan register A
1807 H 8E
1808 H 00
1809 H DD LD (IX), A Memuat (load) IX
180A H 77
180B H 00
180C H DD INC IX Increament IX
180D H 23
180E H FD INC IY Increament IY
180F H 23 Increament HL
Instruksi untuk megurangi 1
1810 H 10 DJNZ DIS
dari data pada register B
1811 H F1 POP AF
1812 H FF RST 38H
1813 H FF RST 38H
1814 H FF RST 38H
1815 H FF RST 38H
1816 H 95
1817 H 47
1818 H 17
1819 H 00
181A H 33
181B H 90

Tabel 3.4 Listing Program Pengurangan Bilangan Biner 5935ABH

OBJECT Bahasa
ADDRESS Keterangan
CODE assembly
1800 H AF XOR A Nolkan Carry
1801 H 06 LD B,3
Memuat (load) register B
1802 H 03
1803 H DD LD A,(IX) Memuat (load) register A
1804 H 7E
1805 H 00
1806 H FD SBC A, (IY)
1807 H 8E Mengurangkan register A
1808 H 00
1809 H DD LD (IX), A Memuat (load) IX
180A H 77
180B H 00
180C H DD INC IX Increament IX
180D H 23
180E H FD INC IY Increament IY
180F H 23 Increament HL
Instruksi untuk megurangi 1
1810 H 10 DJNZ DIS
dari data pada register B
1811 H F1 POP AF
1812 H FF RST 38H
1813 H FF RST 38H
1814 H FF RST 38H
1815 H FF RST 38H
1816 H 68
1817 H 13
1818 H 47
1819 H 33
181A H 67
181B H 00

Tabel 3.5 Listing Program Pengurangan Bilangan Biner 5935ABH

OBJECT Bahasa
ADDRESS Keterangan
CODE Assembly
1800 H AF XOR A Nolkan Carry
1801 H 06 LD B,3 Memuat (load) register B
1802 H 03
Memuat (load) register A
1803 H DD LD A,(IX)

1804 H 7E
1805 H 00
1806 H FD SBC A, (IY) Mengurangkan register A
1807 H 8E
1808 H 00
1809 H DD LD (IX), A Memuat (load) IX
180A H 77
180B H 00
180C H DD INC IX Increament IX
180D H 23
180E H FD INC IY Increament IY
180F H 23 Increament HL
Instruksi untuk megurangi 1
1810 H 10 DJNZ DIS
dari data pada register B
1811 H F1 POP AF
1812 H FF RST 38H
1813 H FF RST 38H
1814 H FF RST 38H
1815 H FF RST 38H
1816 H 59
1817 H 35
1818 H AB
1819 H 58
181A H 77
181B H FF

Tabel 3.6 Listing Program Pengurangan Bilangan Biner 049677H


OBJECT Bahasa
ADDRESS Keterangan
CODE Assembly
1800 H AF XOR A Nolkan Carry
1801 H 06 LD B,3 Memuat (load) register B
1802 H 03
Memuat (load) register A
1803 H DD LD A,(IX)

1804 H 7E
1805 H 00
1806 H FD SBC A, (IY) Mengurangkan register A
1807 H 8E
1808 H 00
1809 H DD LD (IX), A Memuat (load) IX
180A H 77
180B H 00
180C H DD INC IX Increament IX
180D H 23
180E H FD INC IY Increament IY
180F H 23 Increament HL
Instruksi untuk megurangi 1
1810 H 10 DJNZ DIS
dari data pada register B
1811 H F1 POP AF
1812 H FF RST 38H
1813 H FF RST 38H
1814 H FF RST 38H
1815 H FF RST 38H
1816 H 04
1817 H 96
1818 H 77
1819 H F6
181A H 5B
181B H 79

D. Alat dan Bahan


1. Adaptor 1 unit
2. MPT-1 1 unit

E. Langkah Percobaan
1. Menyiapkan alat dan bahan percobaan yang dibutuhkan.
2. Menuliskan program dalam bahasa assembly untuk penambahan
bilangan biner pada tabel 3.1.
3. Melengkapi bahasa mesin dari instruksi yang diberikan pada tabel 3.1
4. Memasukkan program penjumlahan bilangan biner pada tabel 3.1 ke
trainer mikroprosessor Z-80.
5. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
6. Memeriksa isi address 1816,1817 dan 1818 dan menulis hasilnya pada
tabel 3.7
7. Memeriksa Carry dengan tombol REG.PNC dan menulis hasilnya pada
tabel 3.7
8. Masukkan program pada tabel 3.2 ke trainer mikroprosessor Z-80.
9. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
10. Memeriksa isi address 1816,1817, dan 1818 dan menulis hasilnya pada
tabel 3.7
11. Memeriksa carry register dengan tombol PNC dan menulis hasilnya
pada tabel 3.7
12. Masukkan program pada tabel 3.3 ke trainer mikroprosessor Z-80.
13. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
14. Memeriksa isi address 1816,1817, dan 1818 dan menulis hasilnya pada
tabel 3.7
15. Memeriksa carry register dengan tombol PNC dan menulis hasilnya
pada tabel 3.7
16. Masukkan program pengurangan bilangan biner pada tabel 3.4 ke
trainer mikroprosessor Z-80.
17. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
18. Memeriksa isi address 1816, 1817, dan 1818 dan menulis hasilnya
pada tabel 3.8
19. Memeriksa carry register dengan tombol PNC dan menulis hasilnya
pada tabel 3.8
20. Masukkan program pada tabel 3.5 ke trainer mikroprosessor Z-80.
21. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
22. Memeriksa isi address 1816, 1817, dan 1818 dan menulis hasilnya
pada tabel 3.8
23. Memeriksa carry register dengan tombol PNC dan menulis hasilnya
pada tabel 3.8
24. Masukkan program pada tabel 3.6 ke trainer mikroprosessor Z-80.
25. Mengisi register IX dengan data 18+16 dan register IY dengan data
18+19. Memeriksa program yang tersimpan dalam memori dengan
mengeksekusi program dengan menekan tombol RESET-PC-GO.
26. Memeriksa isi address 1816, 1817, dan 1818 dan menulis hasilnya
pada tabel 3.8
27. Memeriksa carry register dengan tombol PNC dan menulis hasilnya
pada tabel 3.8
28. Membuat analisa data dan kesimpulan.
29. Mengembalikan alat dan bahan praktikum.

Anda mungkin juga menyukai

  • JK FF
    JK FF
    Dokumen6 halaman
    JK FF
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Latar Belakang
    Latar Belakang
    Dokumen2 halaman
    Latar Belakang
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • De Morgan Asistensi
    De Morgan Asistensi
    Dokumen2 halaman
    De Morgan Asistensi
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Tarbiyah Jinsiyah
    Tarbiyah Jinsiyah
    Dokumen4 halaman
    Tarbiyah Jinsiyah
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • THAHARAH
    THAHARAH
    Dokumen3 halaman
    THAHARAH
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Pertemuan 4
    Pertemuan 4
    Dokumen3 halaman
    Pertemuan 4
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Percobaan Ii
    Percobaan Ii
    Dokumen10 halaman
    Percobaan Ii
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Gerbang EX-OR
    Gerbang EX-OR
    Dokumen4 halaman
    Gerbang EX-OR
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Percobaan Iv
    Percobaan Iv
    Dokumen12 halaman
    Percobaan Iv
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Gerbang AND
    Gerbang AND
    Dokumen5 halaman
    Gerbang AND
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • MAKALAH
    MAKALAH
    Dokumen3 halaman
    MAKALAH
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat
  • Penyearah Terkendali
    Penyearah Terkendali
    Dokumen17 halaman
    Penyearah Terkendali
    Dewi Sri Mulyana Supriadi
    Belum ada peringkat