Operasi Aritmatika
Tipe Penjumlahan (ADD, ADC, INC) Pengurangan (SUB,SBB,DEC) Perkalian (MUL) Pembagian (DIV)
ADD Menambahkan nilai pada Tujuan dan Asal, untuk selanjutnya hasil dimasukkan kembali ke Tujuan Sintaks : ADD Tujuan, Asal Lebar Tujuan dan Asal harus sama (8bit – 8bit / 16bit – 16bit) Tujuan tidak cukup => Carry Flag = 1
ADD Contoh :
ADC Menambahkan Tujuan , Asal, dan Carry Flag Sintaks : ADC Tujuan, Asal Menyederhanakan penjumlahan bilangan besar Flag yang terperngaruh : CF, PF, AF, ZF, SF, OF
ADC Contoh : 12345678H + 9ABCDEF0H MOV AX,1234h ; AX = 1234h CF = 0 MOV BX,9ABCh ; BX = 9ABCh CF = 0 MOV CX,5678h ; BX = 5678h CF = 0 MOV DX,0DEF0h ; DX = DEF0h CF = 0 ADD CX,DX ; CX = 3568h CF = 1 ADC AX,BX ; AX = AX+BX+CF = ACF1 1234H + 9ABC = ACF0
INC Menambah Tujuan dengan 1 Sintaks : Flag terpengaruh : INC Tujuan OF, SF, ZF, AF, PF
SUB Mengurangkan Tujuan dan Asal, hasil disimpan ke Tujuan Sintaks : SUB Tujuan, Asal Lebar Tujuan dan Asal harus sama Menolkan nilai register => SUB dengan registernya Flag terpengaruh : AF,CF,OF,PF,SF,ZF
SBB Mengurangkan Tujuan, Asal, dan Carry Flag Sintaks : SBB Tujuan, Asal Untuk pengurangan lebih dari 16bit Flag terpengaruh : AF,CF,OF,PF,SF,ZF
DEC Mengurangkan Tujuan dengan 1 Sintaks : Flag terpengaruh : DEC Tujuan Flag terpengaruh : AF,OF,PF,SF,ZF
MUL Mengalikan bilangan 8bit atau 16bit Sintaks : Sumber = 8bit => MUL Sumber Sumber = 8bit => AX = AL x Sumber Sumber = 16bit => DX:AX = AX x Sumber DX = hasil high word Flag terpengaruh : CF,OF
DIV Membagi bilangan dengan Sumber Sintaks : Sumber = 8bit DIV Sumber Sumber = 8bit AX = AX / Sumber AH = sisa pembagian AL = hasil pembagian Sumber = 16bit DX:AX = AX / Sumber DX = sisa pembagian AX = hasil pembagian Flag terpengaruh : Flag register tidak dapat ditentukan / undefined
NEG Mengurangkan 0 dengan Sumber, dan meyimpannya sebagai komplemen ke-2 Sintaks : NEG Sumber Hasil disimpan kembali ke Sumber Flag terpengaruh : AF,CF,OF,PF,SF,ZF