bab 8 operasi aritmatika

19
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

Upload: muhammad-afrizal

Post on 02-Jul-2015

663 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Bab 8 Operasi Aritmatika

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

Page 2: Bab 8 Operasi Aritmatika

Contoh program penambahan dan debug

Page 3: Bab 8 Operasi Aritmatika

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).

Page 4: Bab 8 Operasi Aritmatika

Contoh Program pengurangan

Page 5: Bab 8 Operasi Aritmatika

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”

Page 6: Bab 8 Operasi Aritmatika

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

Page 7: Bab 8 Operasi Aritmatika
Page 8: Bab 8 Operasi Aritmatika

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

Page 9: Bab 8 Operasi Aritmatika

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.

Page 10: Bab 8 Operasi Aritmatika

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.

Page 11: Bab 8 Operasi Aritmatika

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.

Page 12: Bab 8 Operasi Aritmatika

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.

Page 13: Bab 8 Operasi Aritmatika

2. Ubalah nilai AX menjadi 400h, Berapa nilai DX? ,

Jadi setelah di rubah, AX menjadi 400h,maka nilai DX nya menjadi DX: 0000

Page 14: Bab 8 Operasi Aritmatika

DAFTAR PUSTAKA

Suheri, Asep. 2009. Penuntun Praktikum Pengantar Organisasi Komputer. Bogor : IPB

Page 15: Bab 8 Operasi Aritmatika

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