Searching

Belum menemukan yang Anda cari, mungkin kata kunci Anda kurang tepat atau masih salah. Coba masukkan lagi kata kunci Anda yang baru pada fasilitas searching di Blog ini untuk lebih lengkap, search in database this blog :

Perhatian

Untuk tampilan gambar yang lebih jelas, Anda dapat klik langsung pada gambar yang ada. Selamat menjelajah !
More Read :

Saturday, February 24, 2007

Aritmatika (Bab II)

2.6. Instruksi Aritmatika

Dalam pemrosesan data diperlukan beberapa instruksi aritmatika, yang digunakan untuk manipulasi data, yang ditabelkan pada tabel berikut ini.

Mnemonic

Description

Addressing Mode

Direct

Register

Indirect

Register

Immediate

Constant

Register Specific

ADD A,byte A=A+byte X X X X
ADDC A,byte A=A+byte+C X X X X
SUBB A,byte A=A-byte-C X X X X
INC A A=A+1 Accumulator Only

X

INC byte byte=byte+1 X X X
INC DPTR DPTR=DPTR+1 DPTR Only

X

DEC A

A=A-1

Accumulator Only

X

DEC byte byte=byte-1 X X X
MUL AB A=A x B, Sisa=B A dan B Only X
DIV AB A=A/B, Sisa=B A dan B Only X

DA A

Desimal Adjust Accumulator

Accumulator Only

X

2.6.1. Instruksi Penjumlahan

ADD A, Source; A= A + Source

Ada dua instruksi penjumlahan: ADD dan ADDC, kedua instruksi menghitung penjumlahan dua byte. ADDC menjumlahkan dua byte, berikut bit carry.

Percobaan 2.6.1.1:

Org 0h

Start: Mov A,#1 ; A = 1

ADD A,#2 ; A = A + 2

Mov 78h,#3 ; [ 78h ] = 3

ADD A, 78h ; A = A + [ 78h ]

Mov R0, #89h ; R0 = 89h

Mov @R0, #4 ; [ 89h ] = 4

ADD A,@R0 ; A = A + [ 89h ]

Mov R5, #5 ; R5 = 5

ADD A,R5 ; A = A + R5

end

Instruksi ADDC adalah instruksi yang sama sebagaimana ADD kecuali flag Carry ikut dijumlahkan. ADDC biasanya sangat berguna pada saat penjumlahan long integer. Dapat anda perhatikan pada contoh berikut merupakan penjumlahan data 16 bit X dan Y, dengan penandaan XH dan XL menjadi high byte dan low byte dari X. Begitu juga YH dan YL menandai high byte dan low byte dari Y.

Percobaan 2.6.1.2: Rencanakan instruksi assembly untuk penjumlahan berikut: 1234h + 12EFh

Org 0h

Start: Mov 78h,#34h ; [ 78h ] = 34h

Mov 79h,#12h ; [ 79h ] =12h

Mov 7Ah,#0EFh; [ 7Ah ] = EFh

Mov 7Bh,#12h ; [ 7Bh ] = 12h

Mov A,78h ; A = [ 78h ]

Add A,7Ah ; A = A + [ 78h ]

Mov 78h,A ; [ 78h ] = A

Mov A,79h ; A = [ 79h ]

ADDC A,7Bh ; A = A + [ 7Bh ] + C

Mov 79h,A ; [ 79h ] = A

end

Berapakah hasil akhir dari penjumlahan ini ? Apakah sesuai dengan hitungan kalkulator anda ?


2.6.2. Instruksi Pengurangan

Operasi pengurangan SUBB juga menggunakan accumulator sebagai operand pertama. Accumulator dikurangi dengan operand kedua dan flag bit carry dan hasil pengurangan ditempatkan pada accumulator.

SUBB A, Source; A=A-Source-C

Percobaan 2.6.2.1:

Org 0h

Start: Setb C ; C = 1

Mov A,#10 ; A = 10

Subb A,#2 ; A = A - 2 - C

end

Percobaan 15:

Org 0h

Start: Clr C ; C = 0

Mov A,#10 ; A = 10

Subb A,#2 ; A = A - 2 - C

end

Bagaimanakah hasil pengurangan untuk kedua contoh tersebut ? Adakah perbedaan ?

Sekali lagi perhatikan pada pengurangan bilangan 16 bit berikut yang ditandai oleh bilangan integer 16 bit X dan Y

Percobaan 2.6.2.2:

Rencanakan instruksi assembly untuk pengurangan 1234h - 1135h

Org 0h

Start: Mov 78h,#34h ; [78h] = 34h

Mov 79h,#12h ; [79h] = 12h

Mov 7Ah,#0EFh ; [7Ah] = EFh

Mov 7Bh,#12h ; [7Bh] = 12h

Clr C ; C = 0

Mov A,78h ; A = [78h]

Subb A, 7Ah ; A = A-[78h]-C

Mov 78h, A ; [78h] = A

Mov A, 79h ; A = [79h]

Subb A, 7Bh ; A = A - [7Bh] - C

Mov 79h,A ; [79h] = A

end


2.6.3. Instruksi Perkalian dan Pembagian

MUL AB

Pada proses perkalian antara accumulator dan register B, maka hasil akhir low byte tersimpan pada register A dan high byte tersimpan pada register B

DIV AB

Pada proses pembagian 8 bit integer register A dengan 8 bit register B. Hasil pembagian akan tersimpan pada register A dan sisa akan tersimpan pada register B. Pada proses pembagian ini over flow digunakan untuk menunjukkan bahwa suatu kondisi divide by 0. Jika register B berisi 0 sebelum instruksi, maka hasil pembagian adalah tidak terdifinisi, dan flag overflow mengalami set

Percobaan 2.6.3.1:

Org 0h

Start: Mov A, #9 ; A = 9

Mov B, #5 ;B = 5

Mul AB ;A = A x B, B = sisa

end

Pada instruksi tersebut apakah yang dapat anda amati pada register A dan B, dan bagaimanakah hasil dari perkalian tersebut ?

Percobaan 2.6.3.2:

Org 0h

Start: Mov A, #99 ; A = 99

Mov B, #5 ; B = 5

Mul AB ; A= ( low byte ), B = ( high byte )

end

Pada instruksi tersebut apakah yang dapat anda amati pada register A dan B, dan bagaimanakah hasil dari perkalian tersebut ?

Percobaan 2.6.3.3:

Org 0h

Start: Mov A, #10 ; A = 10

Mov B, #5 ; B = 5

Div AB ; A = A/B, B = Sisa pembagian

end

Pada instruksi tersebut apakah yang dapat anda amati pada register A dan B, dan bagaimanakah hasil dari perkalian tersebut ?

Percobaan 2.6.3.4:

Org 0h

Start: Mov A, #99 ; A = 99

Mov B, #5 ; B = 5

Div AB ; A = A/ B, B = Sisa pembagian

end

Pada instruksi tersebut apakah yang dapat anda amati pada register A dan B, dan bagaimanakah hasil dari perkalian tersebut ?

Percobaan 2.6.3.5:

Org 0h

Start: Mov A, #10 ; A = 10

Mov B, #0 ; B = 0

Div AB ; A = A/B, B = Sisa Pembagian

end

Pada instruksi tersebut apakah yang dapat anda amati pada register A dan B, dan flag Over flow dan bagaimanakah hasil dari perkalian tersebut ?



No comments:

Disclaimer


Blog ini tidak bertanggung jawab atas kesalahan atas program yang Anda download ataupun sesuatu hal yang berhubungan dengan materi-materi yang ada. Terima kasih atas saran dan kritik yang membangun. Non profit blog. Untuk lebih lanjut hub Webmaster di : agencs@yahoo.com


"All Links In This Blog Is Temporary Link"

NO SPAM AND VIOLATED CONTENT

Generated®


Banner IP Browser

Lihat gambar di bawah ini, ingin punya yang seperti ini juga. Anda bisa pasang banner ini di blog Anda atau posting Anda. Bisa deteksi IP Adress, Browser.

Tulis code ini di footer blog kamu atau posting kamu. Copy (CTRL+C) Paste (CTRL+V) at this script.
Coba Deh, Kuueereeen lho ....
 


Creative Commons License
Powered by Blogger | Created and Maintained by Generated
Blogger Beta Template by GeckoandFly and Blogcrowds | Design by Andreas Viklund
This workis licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Malaysia License.
Best viewed in Firefox 1.5+ at 1024x768 or higher resolution
Copyright 2007 Content by BIZON network
Hosting Reseller Reviews cydots.com - Free Domains!