PERCOBAAN VI
ROUTINE PEMBAGIAN BINER
OLEH :
HASMIRA
200205500006
S1
B. TEORI DASAR
Pembagian Biner Dengan Perhitungan Secara Manual:
Contoh berikut ini dipakai untuk menggambarkan prosedur pembagian biner
secara terperinci
Bagilah 11101101 dengan 00010100.
A. Tulislah bilangan yang akan dibagi di sebelah kanan, bilangan pembagi di
sebelah kiri, dan letakkan hasilnya di atas bilangan yang dibagi.
Hasil (jawaban)
0 Hasil (jawaban)
tujuh buah nol dibelakang bilangan 120 pembagi pada kolom di bawah bilangan
yang dibagi. Dengan mudah kita dapat melihat bahwa bilangan yang dibagi lebih
kecil dari bilangan pembagi. Karena itu, letakkan nol di kolom hasil (jawaban).
C. Lihatlah apakah bilangan yang dibagi masih lebih kecil dari bilangan
pembaginya. Jika ternyata bilangan yang dibagi masih I.ebih I<ecil dari
bilangar). pembagi, leta-kkan '0" pada kolom hasil (jawaban). Jika sebaliknya,
"1" pada kolom jawaban, dan bilangan yang dibagi dikurangi dengan
pembaginya. Dalam contoh kita ini, bilangan yang dibagi dengan hasilnya harus
digeser ke kiri 5 bit sebelum “1” dapat diletakkan pada jawaban. Jadi empat
buah "0' dan satu buah -”1” diletakkan pada kolom jawaban dengan cara sebagai
berikut:
yang dibagi.
kolom jawaban.
Hasil (jawaban)
0000101
Bilangan yang dibagi.
01001101
Bilangan pembagi
00010100
G. Bilangan yang dibagi dan jawabannya digeser ke kiri 1 bi.t lagi. Karena bilangan
yang dibagi lebih besar dari pembagi, letakkan “1” pada kolom hasil.
CONTOH:
disimpan pada pasangan register DE dan sisanya pada pasangah register HL.
PEMECAHAN:
arithmetik 16 bit. Geser data 16 bit yang ada di DE ke kiri I bit ke pasangan
register HL. Bandingkan HL dengan BC. Jika HL lebih besar dari BC,,
kurangi HL dengan BC dan carry flag secara otomatis akan di-set meniadi 1.
Jika sebaliknya, tidak akan ada operasi pengurangan dan carry flag akan
START
Penghitung A =16
Carry 0
AA-1
Simpan hasilnya
Selesai
Gambar 6.1 Flow Chart pengurangan biner
LOC O CODE STMT SOURCE STATEMENT
1 ; *** CONTOH PROGRAM GMS-I 008 ***
2 ; ROUTINE PEMBAGIAN 16 BIT
3 ; INPUT : YANG DIBAGI PADA 'DE'
4 ; : PEMBAGI PADA 'BC'
5 ; OUTPUT :HASIL PADA IHLI
6 ; : SISA PADA 'DE'
7 ; PERUBAHAN REG. :AF,DE,HL
8
0000 AF 9 DIV16 XOR A ; NOL-KAN CARRY FLAG
0001 67 10 LD H,A
0002 6F 11 LD L,A ;HL=O
0003 3EI0 12 LD A,16 ;A=16, LOOP COUNTER
13
14 DVO ;HL & DE 4 BYTE ROTASI KE KIRI 1 BIT
0005 CB13 15 RL E ;GESER KE KIRI, SIMPAN
; SEBAGIAN DI BIT 0
16
0007 CB12 17 RL D
0009 ED6A 18 ADC HL,HL ; PUTAR HL KE KIRI
19
20 ; JIKA HL > BC, KURANGI HL
DENGAN BC
000B ED42 21 SBC HL,BC ; HL = HL - BC
000D 3001 22 JR NC,DV1
000F 09 23 ADD HL,BC ; JIKA NEGATIF,SIMPAN HL
24
0010 3F 25 DV1 CCF ; HASIL PERHITUNGAN
; SETARA DI CARRY
; FALG
0011 3D 26 DEC A
0012 20F1 27 JR NZ , DV0
28
0014 EB 29 EX DE,HL
0015 ED6A 30 ADC HL,HL ;SIMPANBIT TER
; AKHIR HASILNYA
0017 C9 31 RET
statement 9). Instruksi tersebut membutuhkan memory 2 byte saja dan dapat
operasi-operasi geser kiri" atau rotasi". Dalam contoh ini, instruksi ADC HL,HL,
sama dengan merotasikan data 16 bit pada pasangan HL ke kiri I bit (Bit yang
dipindahkan ke r-arry flag berasal. dari register D bit paling kiri). Fungsi
dengan 2 ; dengan 2
kita terapkan untuk operasi pembagian bilangan biner pada sistem digital. Dari
operasi pembagian bilangan integer, akan dihasilkan 2 bilangan, yaitu Hasil Bagi
dan Sisa Bagi. Kita hanya perlu merinci langkah-langkah proses kemudian
bilangan biner.
022
8 179
000
179
160
019
016
003
Dari gambar di atas kita bisa melihat bahwa Hasil Bagi = 022 dan Sisa
(sumber:pksm.mercubuana.ac.id/new/elearning/.../14014-9-336133365497. doc)
2. Adaptor 9V
3. Modul microprocessor
K. LANGKAH KERJA
dengan RST 38H dan menjalankannya. Mencatat hasilnya pada tabel 6.2.
Tabel 6.1
Tabel Objek kode program pembagian biner
Address Object Code Source Statement
1800 AF XOR A
1801 67 LD H,A
1802 6F LD L,A
1803 3E LD A,16
1804 10
1805 CB RL E
1806 13
1807 CB RL D
1808 12
1809 ED ADC HL, HL
180A 6A
180B ED SBC HL, BC
180C 42
180D 30 JR NC, DV1
180E 01
180F 09 ADD HL, BC
1810 3F
1811 3D CCF
1812 20
1813 F1 JR NZ
1814 EB
1815 ED ADC HL, HL
1816 6A
1817 C9
1818 FF RST 38H