7 Arithmetic
Arithmetic adalah operasi bilangan seperti penjumlahan, pengurangan, increment dan decrement.
Format penulisan program
ADD A, rADD A, nADD A, (HL)ADC A, rADC A, nADC A, (HL)
SUB A, rSUB A, nSUB A, (HL)
SBC A, rSBC A, nSBC A, (HL)
ADD HL, BCADD HL, DEADD HL, HL
ADD = Aritmatika yang berfungsi penjumlahan
ADC = Aritmatika yang berfungsi penjumlahan dengan carry
SUB = Aritmatika yang berfungsi pengurangan
SBC = Aritmatika yang berfungsi pengurangan dengan carry
Operasi arithmatic akan berpengaruh pada Flag register (F). Carry bernilai 1 jika ada kelebihan nilai dari penjumlahan/kekurangan nilai dari pengurangan.
contoh penulisan program
org 2000 h ; menuju memory program 2000 hLD A, 4 hLD B, 1 hSUB A, B ; A dikurangi BLD C, A ; mengisi register C dg data pada register Ahasil program ini register C berisi 3 hexsa
catatan: penjumlahan dan pengurangan hanya bisa dilakukan di register A. khusus operasi aritmetik 16bit dilakukan di register HL.
1. contoh penulisan program ADD A, r
org 2000h ; menuju memori program 2000hLD A, 10 h ; register A diisi data 10 hLD C, 20 h ; register C diisi data 20 hADD A, C ; register A diisi data 20 h2. contoh penulisan program ADD A, n
org 2000h ; menuju memori program 2000hLD A, 10 h ; register A diisi data 10 hADD A, 20 h ; register A ditambah 20 h3. contoh penulisan program ADD A, (HL)
LD A, 10 h ; register A diisi data 10 hLD HL, 8001 h ; register HL diisi data 8001 hADD A, (HL) ; register A ditambah 20 hcatatan: memori alamat 8001 harus sudah diisi data terlebih dahulu misal 1A
4. contoh penulisan program SUB A, r
org 2000h ; menuju memori program 2000hLD A, 20 h ; register A diisi data 20 hLD B, 10 h ; register B diisi data 10 hSUB A, B ; register A dikurangi register B5. contoh penulisan program ADD HL, BC
org 2000h ; menuju memori program 2000hLD HL, 123A h ; register HL diisi data 123A hLD BC, 3200 h ; register BC diisi data 3200 hADD HL, BC ; register HL ditambah register BC