bab 8 operasi aritmatika
TRANSCRIPT
1. Tujuan Percobaan
Pada latihan dalam membuat program pada laporan ini, diharapkan
mahasiswa memahami tentang operasi aritmatika serta atributnya dan juga
menggunakan looping dengan menggunakan program assembly
2. Teori Penunjang
a. Operasi penambahan
ADD
Perintah ADD ini akan menambahkan nilai pada tujuan dan asal.Hasil
yang didapat ditaruh pada tujuan, dalam bahasa pascalnya sama
dengan instruksi Tujuan:=Tujuan + Asal.
ADC
Perbedaan pada perintah ADC ini ,Tujuan tempat menampung hasil
pertambahan tujuan dan asal di tambah lagi dengan carry flag
(Tujuan:=Tujuan + Asal + Carry).
INC
Perintah INC (Increment) digunakan khusus untuk menambahkan
dengan 1.Perintah INC hanya menggunakan 1 byte memori,
sedangkan ADD dan ADC menggunakan 3 byte memory
Contoh program penambahan dan debug
b. Operasi pengurangan
SUB
Perintah SUB akan mengurangkan nilai pada Tujuan dengan Asal. Hasil
yang di dapat akan di taruh pada tujuan, dalam bahasa pascal sama
dengan interaksi Tujuan:=Tujuan – Asal.
SBB
Pada pengurangan bilangan yang besar (lebih dari 16 bit), bias di
gunakan perintah SBB (Substract With Carry). Dimana hasil yang
didapat dikurangi lagi dengan Carry Flag (Tujuan:=Tujuan-Asal-CF).
Contoh Program pengurangan
c. DEC
Perintah DEC (Decrement) di gunakan khusu untuk Pengurangan
dengan 1.Perintah DEC hanya menggunakan 1 byte memory,
sedangkan SUB dan SBB menggunakan 3 byte memory.
Contoh program mencetak karakter “Z” s.d “A”
d. Operasi perkalian
Untuk perintah perkalian digunakan MUL dengan syntax MUL Sumber.
Sumber di sini dapat berupa registrasi 8 bit (contoh BL,BH), 16 bit (BX,DX)
atau suatu variable.
Contoh program perkalian dengan MUL
e. Operasi Pembagian
Operasi pada pembagian pada dasarnya sama dengan perkalian. Pada
operasi pembagian di gunakan DIV Sumber
Bila sumber merupakan 8 bit seperti DIV BH, maka computer computer akan
mengambil nilai pada registrasi AX dan membagi pada nilai BH. Sedangkan
pada sumber 16 bit seperti DIV BX, maka computer akan mengambil nilai yang
terdapat pada registrasi DX:AX dan di bagi dengan nilai BX.
Contoh program pembagian bilangan 16 bit
4. Analisa Program
Program Bab8-1
Pada program ini kita dimintak untuk meregistrasi nilai,dimana
meregistrasikannya itu di sebut general purpose. Pada baris pertama
menunjukan nilai FFFE, sedangkan pada baris ke dua menunjukan nilai yang
sama yaitu 3597, sedangkan baris ke tiga menunjukan nilai B415 yang
mengartikan alamat 3597:0100
Program Bab8-2
Disini dapat kita lihat bagaimana caranya mendefinisikan satu nilai konstanta
Dan variable dengan:
ALo EQU 0EFFFh
AHi EQU 122h
BLo EQU OFFFFh
BHi EQU 0FEh
HslLo DW ?
HslHi DW ?
Tempat program kita lompati dengan JMP agar tidak mengeksekusi data
program sebagai perintah.
Program Bab 8-3
Pada program ini kita dimintak untuk mencetak karakter ‘Z’ sd ‘A’. Perintah
DEC akan mengurangi nilai diregistrasi dengan 1.
Program Bab8-4
Pada program ini MUL akan digunakan sebagai perintah untuk
mengalikan.MUL Sumber dapat berupa registrasi bit (8 bit,16bit).Bila sumber
merupakan 8 bit seperti MUL BH maka BH akan di kalaikan dengan nilai AL.
Kalau 16 bit, bila sumbernya adalah BX,maka akan dikalikan dengan nilai AX.
5. Kesimpulan
Kesimpulan pada bab 8 tentang Operasi Aritmatika ini adalah :
Pada operasi penambahan mempunyai sifat Komutatif dan Assosiatif, oleh
karena itu urutan penjumlahan tidak mempengaruhi hasilnya. Elemen identitas
dari penjumlahan adalah nol (0), disini penambahan sembarang bilangan
dengan identitas (nol) akan tidak akan merubah angka tersebut. Selanjutnya
elemen bilangan invers dari penambahan adalah negatif dari bilangan itu
sendiri, di sini penambahan suatu bilangan dengan inversnya akan
menghasilkan identitas (nol). Pada operasi ini dapat kita gunakan perintah
ADD, ADC serta INC, ADD instruksinya (Tujuan:=Tujuan + Asal), ADC
(Tujuan:=Tujuan + Asal + Carry) dan INC tergantung memory yang kita
gunakan.
Pengurangan tidak mempunyai sifat baik Komutatif maupun Assosiatif. Oleh
karena hal ini, terkadang pengurangan dipandang sebagai penambahan suatu
bilangan dengan negatif bilangan lainnya, a - b = a + (-b). Dengan cara
penulisan ini maka sifat Komutatif dan Assosiatif akan dipenuhi. Pada
pengurangan juga dapat kita gunakan SUB, SBB dan DEC. SUB instruksinya
(Tujuan : = Tujuan – asal), SBB (Tujuan:=Tujuan- Asal- CF) CF disini di
maksud dengan Carry Flag, sedangkan DEC digunakan jika pengurangan
dengan 1.
Perkalian, dipandang sebagai penjumlahan berulang, tentunya mempunyai
sifat Komutatif dan Assosiatif. Lebih jauh lagi perkalian mempunyai sifat
Distributif atas Penambahan dan Pengurangan. Elemen identitas untuk
perkalian adalah satu (1), disini perkalian sembarang bilangan dengan
identitas (satu) akan tidak akan merubah angka tersebut. Selanjutnya elemen
bilangan invers dari perkalian adalah satu-per-bilangan itu sendiri, di sini
perkalian suatu bilangan dengan inversnya akan menghasilkan identitas
(satu). Pada perkalian di gunakan perintah MUL, dengan syntax MUL
Sumber.Sumber di sini berupa registrasi 8 bit (contohnya BL,BH), dan
registrasi 16 bit(BX,DX) atau suatu variable.
Pembagian tidak bersifat Komunitatif maupun Assosiatif. Sebagaimana
Pengurangan dapat dipandang sebagai kasus khusus dari penambahan,
demikian pula Pembagian dapat dipandang sebagai Perkalian dengan elemen
invers pembaginya, sebagai contoh A/B =A*(1/B). Dengan cara penulisan
seperti ini maka semua sifat-sifat perkalian seperti Komunitatif dan Assosiatif
akan dipenuhi oleh Pembagian. Pada pembagian di gunakan dengan perintah
DIV dengan syntax DIV Sumber Bila sumbernya 8 bit seperti DIV BH,maka
regitrasi akan mengambil nilai dari AX dan membaginya dengan BH.
Sedangkan bila sumbernya 16 bit seperti DIV BX, maka nilai akan di ambil
dari registrasi DX:AX dan membaginya dengan nilai BX.
6. Tugas
1. Cobalah trace dengan debug untuk melihat hasil yang didapat pada registrasi AX
dan DX. Pada program 8.5, jelaskan dan rubah besaran nilainya.
Jadi hasilnya, Nilai AX : 00F7
Nilai DX :0001
Penjelasannya : Nilai AX awalnya dimasukkan 01EFh yang akan di simpan di A, lalu akan di bagi 2, yang di simpan di B. Dengan menggunakan fungsi DIV 01EFh di bagi 2, maka nilai AX sekarng 00F7 dan sisanya DX adalah 0001.
2. Ubalah nilai AX menjadi 400h, Berapa nilai DX? ,
Jadi setelah di rubah, AX menjadi 400h,maka nilai DX nya menjadi DX: 0000
DAFTAR PUSTAKA
Suheri, Asep. 2009. Penuntun Praktikum Pengantar Organisasi Komputer. Bogor : IPB
LAPORAN PRAKTIKUM
PENGANTAR PORGANISASI KOMPUTER
OPERASI ARITMATIKA
Kelas : TEK B 2
Nama : Dimas Widya Putra Pratama
NIM : J3D110063
PROGRAM KEAHLIAN TEKNIK KOMPUTERDIREKTORAT PROGRAM DIPLOMA
INSTITUT PERTANIAN BOGOR2 0 1 1