View
1.880
Download
5
Category
Preview:
Citation preview
Mikroprosesor
Operasi Aritmetika
1
7
INSTRUKSI ARITMETIKA
Terdiri atas :
Menambahkan Isi Akumulator dengan data 8 bit, isi register serba guna, data pada alamat memori.
Menambahkan dengan carry isi Akumulator dengan data 8 bit, isi register serba guna, data pada alamat memori.
Mengurangi satu isi register dan data pada alamat memori
Mengurangi dengan carry isi Akumulator dengan data 8 bit, isi register serba guna, data pada alamat memori.
Mengurangi Isi Akumulator dengan data 8 bit, isi register serba guna, data pada alamat memori.
Menambah satu isi register dan data pada alamat memori
1. Intruksi Aritmetika 8 bit
INSTRUKSI ARITMETIKA
2. Intruksi Aritmetika 16 bit
8
Menambahkan isi register HL, IX, dan IY dengan data pada register 16 bit
Menambahkan dengan carry isi register HL dengan data pada register 16 bit
Menambahkan satu isi register HL, IX, dan IY
Mengurangi satu isi register HL, IX, dan IY
Mengurangi dengan carry isi register HL dengan data pada register 16 bit
Note : Pada operasi penambahan dan pengurangan akan menset/mereset isi dari register bendera.
9
INSTRUKSI ARITMETIKA
MENAMBAH ISI AKUMULATOR DENGAN DATA DARI REGISTER 8 BIT
Instruksi penambahan isi akumulator lain yaitu :
ADD A,n => C6 , n => Menambahkan isi akumulator dengan data 8 bit
ADD A, (HL) => 86 => Menambahkan isi akumulator dengan data (HL)
ADD A, (Ix+d) => DD, 86, d => Menambahkan isi akumulator dengan data dari (Ix + d)
ADD A, (Iy+d) => FD, 86, d => Menambahkan isi akumulator dengan data dari (Iy + d)
10
INSTRUKSI ARITMETIKA
Contoh : Isi Register A adalah 7EH. Isi Register C adalah B9. Tambahkan isi Akumulator dengan isi dari register C.
START
STOP
LD A, 7E H
LD C, B9 H
ADD A, C
3E 7E
0E B9
81
A => 7EH => 0111 1110
C => B9H => 1011 1001
A => 1 37H => 1 0011 0111
11
INSTRUKSI ARITMETIKA
Hasil Eksekusi Dissambler File
Memory Editor
9
INSTRUKSI ARITMETIKA
MENAMBAHKAN DENGAN CARRY ISI AKUMULATOR DENGAN DATA 8 BIT
Instruksi penambahan dengan carry isi akumulator lain yaitu :
ADC A, n => CE, n => Menambahkan dengan carry isi akumulator dengan data 8 bit
ADC A,r => 10 001 rrr => Menambahkan dengan carry isi akumulator dengan data dari reg. 8 bit
ADC A, (HL) => 8E => Menambahkan isi dengan carry isi akumulator dengan data dari (HL)
ADC A, (Ix+d) => DD, 8E, d => Menambahkan dengan carry isi akumulator dengan data dari (Ix + d)
ADC A, (Iy+d) => FD, 8E, d => Menambahkan dengan carry isi akumulator dengan data dari (Iy + d)
10
INSTRUKSI ARITMETIKA
Contoh : Isi Register A adalah BEH. Isi Register D Adela 5F. Tambahkan dengan carry isi Akumulator dengan isi dari register D.
START
STOP
LD A, BE H
LD D, 5F H
ADC A, D
3E BE
16 5F
82
A => BEH => 1011 1110
C => 5FH => 0101 1111
A => 1 1DH => 1 0001 1101
1 => 1
A => 1EH => 0001 1110
9
INSTRUKSI ARITMETIKA
MENAMBAHKAN SATU ISI REGISTER 8 BIT
Instruksi penambahan satu isi register 8 bit yaitu :
INC r => 00 rrr 100 => Menambahkan satu isi register 8 bit
INC (HL) => 34 => Menambahkan satu data pada (HL)
INC (Ix +d) => DD, 34, d => Menambahkan satu data pada (Ix+d)
INC (Iy +d) => FD, 34, d => Menambahkan satu data pada (Iy+d)
9
INSTRUKSI ARITMETIKA
MENGURANGI ISI AKUMULATOR DENGAN DATA DARI REGISTER 8 BIT
Instruksi pengurangan isi akumulator lain yaitu :
SUB n => D6 , n => Mengurangi isi akumulator dengan data 8 bit
SUB r => 10 010 rrr => Mengurangi isi akumulator dengan data dari reg. 8 bit
SUB (HL) => 96 => Mengurangi isi akumulator dengan data dari (HL)
SUB (Ix+d) => DD, 96, d => Mengurangi isi akumulator dengan data dari (Ix + d)
SUB (Iy+d) => FD, 96, d => Mengurangi isi akumulator dengan data dari (Iy + d)
9
INSTRUKSI ARITMETIKA
MENGURANGI DENGAN CARRY ISI AKUMULATOR DENGAN DATA DARI
REGISTER 8 BIT
Instruksi pengurangan dengan carry isi akumulator yaitu :
SBC A, n => DE, n => Mengurangi dengan carry isi akumulator dengan data 8 bit
SBC A,r => 10 011 rrr => Mengurangi dengan carry isi akumulator dengan isi reg. 8 bit
SBC A, (HL) => 9E => Mengurangi dengan carry isi akumulator dengan data (HL)
SBC A, (Ix+d) => DD, 9E, d => Mengurangi dengan carry isi akumulator dengan data (Ix + d)
SBC A, (Iy+d) => FD, 9E, d => Mengurangi dengan carry isi akumulator dengan data (Iy + d)
9
INSTRUKSI ARITMETIKA
MENGURANGI SATU ISI REGISTER 8 BIT
Instruksi pengurangan 1 isi register 8 bit :
DEC r => 00 rrr 101 => Mengurangi satu isi register 8 bit
DEC (HL) => 35 => Mengurangi satu data pada (HL)
DEC (Ix +d) => DD, 35, d=> Mengurangi satu data pada (Ix+d)
DEC (Iy +d) => FD, 35, d=> Mengurangi satu data pada (Iy+d)
INSTRUKSI PENAMBAHAN (8 Bit)
No Mnemonic
Opcode +
Operands
Keterangan
1 ADD A,n C6 , n Menambahkan isi akumulator dengan data 8 bit
2 ADD A,r 10 000 rrr
Menambahkan isi akumulator dengan data dari reg. 8 bit
3 ADD A, (HL) 86 Menambahkan isi akumulator dengan data (HL)
4 ADD A, (Ix+d) DD, 86, d Menambahkan isi akumulator dengan data dari (Ix +
d)
5 ADD A, (Iy+d) FD, 86, d Menambahkan isi akumulator dengan data dari (Iy +
d)
6 ADC A, n CE, n Menambahkan dengan carry isi akumulator dengan data 8 bit
7 ADC A,r 10 001 rrr
Menambahkan dengan carry isi akumulator dengan data dari reg. 8 bit
8 ADC A, (HL) 8E Menambahkan isi dengan carry isi akumulator dengan data dari (HL)
9 ADC A, (Ix+d) DD, 8E, d Menambahkan dengan carry isi akumulator dengan
data dari (Ix + d)
10
ADC A, (Iy+d) FD, 8E, d Menambahkan dengan carry isi akumulator dengan
data dari (Iy + d)
11 INC r 00 rrr
100Menambahkan satu isi register 8 bit
12 INC (HL) 34 Menambahkan satu data pada (HL)
13 INC (Ix +d) DD, 34, d Menambahkan satu data pada (Ix+d)
14 INC (Iy +d) FD, 34, d Menambahkan satu data pada (Iy+d)
12
INSTRUKSI PENGURANGAN (8 Bit)
No Mnemonic
Opcode +
Operands
Keterangan
1 SUB n D6 , n Mengurangi isi akumulator dengan data 8 bit
2 SUB r 10 010 rrr
Mengurangi isi akumulator dengan data dari reg. 8 bit
3 SUB (HL) 96 Mengurangi isi akumulator dengan data dari (HL)
4 SUB (Ix+d) DD, 96, d Mengurangi isi akumulator dengan data dari (Ix + d)
5 SUB (Iy+d) FD, 96, d Mengurangi isi akumulator dengan data dari (Iy + d)
6 SBC A, n DE, n Mengurangi dengan carry isi akumulator dengan data 8 bit
7 SBC A,r 10 011 rrr
Mengurangi dengan carry isi akumulator dengan isi reg. 8 bit
8 SBC A, (HL) 9E Mengurangi dengan carry isi akumulator dengan data (HL)
9 SBC A, (Ix+d)
DD, 9E, d
Mengurangi dengan carry isi akumulator dengan data (Ix + d)
10
SBC A, (Iy+d) FD, 9E, d Mengurangi dengan carry isi akumulator dengan
data (Iy + d)
11 DEC r 00 rrr
101Mengurangi satu isi register 8 bit
12 DEC (HL) 35 Mengurangi satu data pada (HL)
13 DEC (Ix +d) DD, 35, d Mengurangi satu data pada (Ix+d)
14 DEC (Iy +d) FD, 35, d Mengurangi satu data pada (Iy+d)
13
INSTRUKSI PENAMBAHAN (16 Bit)
No
Mnemonic
Opcode + Operands Keterangan
1 ADD HL,ss 00 ss 1001 Menambahkan isi HL dengan isi reg. 16 bit. (ss bisa BC, DE, HL, SP)
2 ADD Ix, pp DD, 00 pp 1001
Menambahkan isi IX dgn isi reg. 16 bit. (pp bisa BC, DE, Ix, SP)
3 ADD Iy, rr FD, 00 rr 1001
Menambahkan isi IY dgn isi reg. 16 bit. (rr bisa BC, DE, Iy, SP)
4 INC ss 00 ss 0011 Menambahkan satu isi register 16 bit
5 INC Ix DD, 23 Menambahkan satu isi register Ix
6 INC Iy FD, 23 Menambahkan satu isi register Iy
7 ADC HL,ss ED, 01 ss 0010
Menambahkan dengan carry isi HL dengan isi reg. 16 bit
INSTRUKSI PENGURANGAN (16 Bit)
No
Mnemonic
Opcode + Operands Keterangan
1 SBC HL, ss
ED, 01 ss 0010
Mengurangi isi HL dengan data dari register 16 bit. (ss bisa berupa BC, DE, HL, SP)
2 DEC ss 00 ss 1011 Mengurangi satu isi register 16 bit
3 DEC Ix DD, 2B Mengurangi satu isi Ix
4 DEC Iy FD, 2B Mengurangi satu isi Iy
Recommended