Anda di halaman 1dari 15

Laporan Sementara

MK. Praktik Teknik Kendali

PERCOBAAN III

OPERASI PENAMBAHAN DAN PENGURANGAN

Oleh :

PARIDA
1925040008
S1

JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA


FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSA
2021
PERCOBAAN III

OPERASI PENAMBAHAN DAN PENGURANGAN

TanggalPercobaan : 01 Maret 2021

A. TujuanPercobaan
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
Heksa desimal, cakupannya adalah (0 -> FFH) dan (0-> FFFFH) dan
seterusnya. Jika operasi penjumlahan lebih besar dari 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, berarti hasilnya 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 tidakbenar (CY = 1) Hasil tidakbenar (CY = 0)

CONTOH II Penambahan dan pengurangantiga 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 tidakbenar.

1. Susunan Data Yang TersimpanDalam 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 Asebagai berikut :

Address A byte 25 berorderendah

73
A + 1 byteberordetinggi
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-ProgramPenambahan 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, nol kan carry flag dan isikan bilangan yang akan
ditambah/dikurangi ke accumulator. Kemudian, pergunakan instruksi-
instruksi mode addressing indeks ADC<SBC>untukoperasi-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 ZOR 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 Increment IX
180C H DD INC IX
180D H 23
180E H FD INC IY Increment IY
180F H 23 Increment HL
Intruksiuntukmengurangi 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 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
Instruksiuntukmengurangi 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)
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
Instruksiuntukmegurangi 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 9E 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
Instruksiuntukmegurangi 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 9E
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
Instruksiuntukmegurangi 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
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 9E
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
Instruksiuntukmegurangi 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. LangkahPercobaan
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 dengantombol REG.PNC dan menulishasilnya 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
tabel3.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. Memeriksaisi 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. Memeriksaisi 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