Instruksi arithmetika meliputi: penambahan (addition), pengurangan (subtraction), pembandingan (comparison), perkalian (multiplication), pembagian (division).
Aturan Penulisan Operasi Arithmetika (sintaks)
Penjumlahan (Addition)
a. Instruksi ADD -> ADD reg1, reg2 atau ADD reg, [alamat]
Hasil penjumlahan disimpan di reg1.
Contoh:
ADD AX, BX ;hasilnya disimpan di AX
b. Instruksi INC -> INC reg atau INC [alamat]
Data pada reg atau [alamat] bertambah 1
Contoh:
INC DX ;hasil DX = DX + 1
c. Instruksi ADC -> ADC reg1, reg2 atau ADC reg, [alamat]
Penjumlahan biasa yang hasilnya ditambah dengan bit carry. Hasilnya disimpan di reg1.
Contoh:
ADC AH, AL ;AH=AH + AL + carry
Pengurangan (Subtraction)
a. Instruksi SUB -> SUB reg1, reg2 atau SUB reg, [alamat]
Hasil pengurangan disimpan di reg1.
Contoh:
SUB CX, BX ;hasilnya disimpan di CX
b. Instruksi DEC -> DEC reg atau DEC [alamat]
Data pada reg atau [alamat] akan bertambah 1
Contoh:
DEC CX ;hasil CX = CX + 1
c. Instruksi SBB -> SBB reg1, reg2 atau SUB [alamat], reg
Pengurangan biasa yang hasilnya dikurangi dengan bit carry. Hasilnya disimpan di reg1 atau [alamat].
Contoh:
SBB AH, AL ;hasil AH= AH – AL – carry
Pembandingan (CMP / Comparison)
Instruksi CMP -> CMP reg1, reg2 atau CMP reg, data
Membandingan isi reg1 dengan reg2 atau data.
Contoh:
CMP DL, BL ;bandingkan isi DL dengan BL
Perkalian (Multiplication)
Instruksi MUL -> MUL reg atau MUL [alamat]
Perkalian antara AL (8 bit) atau AX (16 bit) dengan isi reg atau [alamat], hasilnya disimpan di AX (8 bit) atau DX-AX (16 bit).
Contoh:
MUL DL ;isi AL (8 bit) dikali dengan DL, hasil di AX.
MUL BX ;isi AX (16 bit) dikali dengan BX, hasil di DX-AX
Pembagian (Division)
a. Pembagian 8 bit -> DIV reg atau DIV [alamat]
Pembagian dividen (disimpan di AX) dengan divisor (reg 8 bit) atau data pada lokasi memori, hasilnya disimpan di AL sisanya di AH.
Contoh:
DIV DL ;isi AX dibagi DL,hasil di AL sisanya di AH.
b. Pembagian 16 bit -> DIV reg (16 bit) atau DIV [alamat]
Pembagian dividen (disimpan di DX-AX) dengan divisor (reg 16 bit) atau data pada lokasi memori, hasilnya disimpan di AX sisanya di DX.
· Operasi arithmetika dalam bahasa rakitan ditulis dengan mnemonic ADD, SUB, INC, DEC, MUL, CMP dan DIV.
· Penulisan perintah operasi arithmetika harus mengikuti aturan penulisan (sintaks) untuk yang bekerja pada kondisi 8 bit dan 16 bit.
· Untuk pembuatan program arithmetika bisa dilakukan dengan mengetik pada debug diakhiri dengan INT 20. Hasil proses dilihat pada saat kita mengetik perintah T (Trace) dan D (data alamat) di depan prompt debug (-). Angka-angka yang tertera pada setiap register dicatat pada tabel AX, BX, CX dan DX.