OPERASI ARITMATIKA

12
pertemuan 4 1 OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD Untuk operasi penambahan digunakan perintah ADD dan ADC serta INC. Syntax : ADD Tujuan,Asal Perintah ADD akan menambahkan nilai pada Tujuan dan Asal. Hasil yang didapat akan ditaruh pada Tujuan. contoh : MOV AH,15h ; AH:=15h MOV AL,4 ; AL:=4 ADD AH,AL ; AH:=AH+AL, jadi AH=19h Pada perintah ADD antara Tujuan dan Asal harus mempunyai daya tampung yang sama, misalnya register AH(8 bit) dan AL(8 bit), AX(16 bit) dan BX(16 bit). Contoh : pertambahan 1234h dengan F221h. 1234 h Biner --> 0001 0010 0011 0100 F221 h Biner --> 1111 0010 0010 0001 ---------- +--------------------------------------- + 10455 h 1 0000 0100 0101 0101

description

OPERASI ARITMATIKA. OPERASI PENAMBAHAN 1. ADD Untuk operasi penambahan digunakan perintah ADD dan ADC serta INC. Syntax : ADD Tujuan,Asal Perintah ADD akan menambahkan nilai pada Tujuan dan Asal. Hasil yang didapat akan ditaruh pada Tujuan. contoh : MOV AH,15h ; AH:=15h - PowerPoint PPT Presentation

Transcript of OPERASI ARITMATIKA

Page 1: OPERASI ARITMATIKA

pertemuan 4 1

OPERASI ARITMATIKAOPERASI PENAMBAHAN 1. ADD• Untuk operasi penambahan digunakan perintah ADD dan ADC serta

INC. • Syntax : ADD Tujuan,Asal• Perintah ADD akan menambahkan nilai pada Tujuan dan Asal. Hasil

yang didapat akan ditaruh pada Tujuan. contoh :MOV AH,15h ; AH:=15hMOV AL,4 ; AL:=4ADD AH,AL ; AH:=AH+AL, jadi AH=19hPada perintah ADD antara Tujuan dan Asal harus mempunyai daya

tampung yang sama, misalnya register AH(8 bit) dan AL(8 bit), AX(16 bit) dan BX(16 bit).

• Contoh : pertambahan 1234h dengan F221h.• 1234 h Biner --> 0001 0010 0011 0100• F221 h Biner --> 1111 0010 0010 0001• ---------- +--------------------------------------- +• 10455 h 1 0000 0100 0101 0101

Page 2: OPERASI ARITMATIKA

pertemuan 4 2

• nilai binernya dihasilkan bit ke 17, padahal register terdiri atas 16 bit saja.

• Operasi pertambahan diatas menjadikan carry flag menjadi satu, Contoh :

• MOV AX,1234h ; NIlai AX:=1234h dan carry=0

• MOV BX,0F221h ; Nilai BX:=F221h dan carry=0

• ADD AX,BX ; Nilai AX menjadi 0455h dan carry=1

Page 3: OPERASI ARITMATIKA

pertemuan 4 3

2. ADC• Perintah ADC digunakan dengan cara yang sama

pada perintah ADD, yaitu :• ADC Tujuan,Asal• Pada perintah ADC, Tujuan tempat menampung

hasil pertambahan ditambah lagi dengan carry flag (Tujuan:=Tujuan+Asal+Carry).

Contoh:MOV AX,1234h ; AX = 1234h CF = 0MOV BX,9ABCh ; BX = 9ABCh CF = 0MOV CX,5678h ; BX = 5678h CF = 0MOV DX,0DEF0h ; DX = DEF0h CF = 0ADD CX,DX ; CX = 3568h CF = 1ADC AX,BX ; AX = AX+BX+CF = ACF1Hasil penjumlahan akan ditampung pada register

AX:CX yaitu ACF13568h. Adapun flag-flag yang terpengaruh oleh perintah ADD dan ADC ini adalah CF,PF,AF,ZF,SF dan OF.

Page 4: OPERASI ARITMATIKA

pertemuan 44

3. INC• Perintah INC(Increment) pertambahan

dengan 1. INC hanya menggunakan 1 byte memory, sedang perintah ADD dan ADC menggunakan 3 byte

Syntax : INC Tujuan• Nilai pada tujuan akan ditambah dengan

1. Tujuan disini dapat berupa suatu register maupun memory.

• Contoh : perintah INC AL akan menambah nilai di register AL dengan 1.

Page 5: OPERASI ARITMATIKA

pertemuan 4 5

OPERASI PENGURANGAN2.1. SUB• syntax: SUB Tujuan,Asal • Perintah SUB akan mengurangkan nilai pada

Tujuan dengan Asal. Hasil yang didapat akan ditaruh pada Tujuan

Contoh :MOV AX,15 ; AX:=15MOV BX,12 ; BX:=12SUB AX,BX ; AX:=15-12=3SUB AX,AX ; AX=0Untuk menolkan suatu register bisa kita

kurangkan dengan dirinya sendiri seperti SUB AX,AX.

Page 6: OPERASI ARITMATIKA

pertemuan 4 6

2.2. SBB• Operasi pengurangan dengan bilangan yang besar(lebih dari 16 bit).• Bisa kita gunakan perintah SUB disertai dengan SBB(Substract With Carry). • Syntax: SBB Tujuan,Asal• Perintah SBB mengurangkan nilai Tujuan dengan Asal, hasil yang didapat

dikurangi lagi dengan Carry Flag(Tujuan:=Tujuan-Asal-CF).;================================;; PROGRAM : KURANG.ASM ;; FUNGSI : MENGURANGKAN ANGKA ;; 122EFFF-0FEFFFF ;;================================;.MODEL SMALL.CODEORG 100hTData :JMP Proses ; Lompat ke ProsesALo EQU 0EFFFhAHi EQU 122hBLo EQU 0FFFFhBhi EQU 0FEhHslLo DW ?HslHi DW ?Proses :

Page 7: OPERASI ARITMATIKA

pertemuan 4 7

MOV AX,ALo ; AX=EFFFh

SUB AX,Blo ; Kurangkan EFFF-FFFF, jadi AX=F000

MOV HslLO,AX ; HslLo bernilai F000

MOV AX,AHi ; AX=122h

SBB AX,BHi ; Kurangkan 122-FE-Carry, AX=0023

MOV HslHi,AX ; HslHi bernilai 0023

INT 20h ; Kembali ke DOS

END TData

Page 8: OPERASI ARITMATIKA

pertemuan 4 8

Mendefinisikan suatu nilai constanta dan variabel dengan :ALo EQU 0EFFFhAHi EQU 122hBLo EQU 0FFFFhBhi EQU 0FEhHslLo DW ?HslHi DW ?• Data yang didefinisikan dengan perintah EQU tidak dapat dirubah.

Dengan perintah EQU kita dapatka bahwa ALo = 0EFFF, AHi=122, BLo=FFFF dan BHi=0FE. Untuk menampung hasil dari pengurangan A-B(122EFFF-0FEFFFF) , adalah HslLo dan HslHi.

• Tanda '?' digunakan untuk menyatakan tempat yang dipesan sebanyak 1 word(DW) tidak diberikan data awal yang akan terdapat pada varibel

tersebut(HslLo dan HslHi). • Untuk mengurangkan angka 122EFFF dengan 0FEFFFF kurangkan

word rendah dari angka tersebut dahulu, yaitu EFFF- FFFF. Ini dikarenakan daya tampung register hanya 16 bit. Pengurangan EFFF-FFFF akan menyebabkan terjadinya peminjaman(Borrow), hasil word rendah(F000) yang didapatkan kemudian kita simpan pada variabel HslLo.

122 EFFF FE FFFF------------- -023 F000

Page 9: OPERASI ARITMATIKA

pertemuan 4 9

2.3. DEC

• Perintah DEC(Decrement) digunakan khusus untuk pengurangan dengan 1.

• Perintah DEC hanya menggunakan 1 byte memory, perintah SUB dan SBB menggunakan 3 byte.

Syntax: DEC Tujuan

• Nilai pada tujuan akan dikurangi 1. Tujuan disini dapat berupa suatu register maupun memory.

Page 10: OPERASI ARITMATIKA

pertemuan 4 10

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;; FUNGSI : MENCETAK KARAKTER ;; “E".."A" DENGAN ;; INT 21h SERVIS 02 ;;==========================;.MODEL SMALL.CODEORG 100hProses :MOV AH,02h ; Nilai servisMOV DL,'E' ; DL=5AhMOV CX,5 ; Banyaknya pengulangan yang akan dilakukanUlang:INT 21h ; Cetak karakter !!DEC DL ; Kurang DL dengan 1LOOP Ulang ; Lompat ke UlangINT 20hEND ProsesOutput Mencetak karakter "E".."A"

Page 11: OPERASI ARITMATIKA

pertemuan 4 11

3. OPERASI PERKALIAN• Untuk perkalian bisa digunakan perintah MUL• syntax: MUL Sumber • Sumber dapat berupa suatu register 8

bit(Mis:BL,BH,..), register16 bit(Mis: BX,DX,..) atau suatu varibel.

• Ada 2 pada perintah MUL, sesuai dengan jenis perkalian 8 bit atau 16 bit. Bila Sumber merupakan 8 bit seperti MUL BH, komputer akan mengambil nilai pada BH dan nilai pada AL untuk dikalikan. Hasilnya disimpan pada register AX.

• Bila sumber 16 bit seperti MUL BX, komputer akan mengambil nilai pada BX dan nilai pada AX untuk dikalikan. Hasilnya disimpan pada register DX dan AX(DX:AX), jadi register DX menyimpan Word tingginya dan AX menyimpan Word rendahnya.

Page 12: OPERASI ARITMATIKA

pertemuan 4 12

4. PEMBAGIAN• Syntax: DIV Sumber • Bila sumber merupakan operand 8 bit seperti

DIV BH, komputer mengambil nilai pada register AX dan membaginya dengan nilai BH. Hasil pembagian 8 bit disimpan pada register AL dan sisa dari pembagian disimpan pada register AH.

• Bila sumber operand 16 bit seperti DIV BX, komputer mengambil nilai pada register DX:AX dan membaginya dengan nilai BX. Hasil pembagian 16 bit akan disimpan pada register AX, sisa dari pembagian disimpan pada register DX.