Percobaan 3
Percobaan 3
PERCOBAAN III
Oleh :
PARIDA
1925040008
S1
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)
6A 7C BD
4B 65 AC
+ 0 + 1 + 0
B5 E2 69
0 0 0
85 43 72
0 1B 1 97 1 B3
- 1 - 1 - 0
1A 96 B3
0 1 1
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.
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 …….
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