instruksi aritmatika

16
Mikroprosesor Operasi Aritmetika 1

Upload: ilyas-ilyas-mo

Post on 24-Jun-2015

1.874 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Instruksi Aritmatika

Mikroprosesor

Operasi Aritmetika

1

Page 2: Instruksi Aritmatika

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

Page 3: Instruksi Aritmatika

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.

Page 4: Instruksi Aritmatika

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)

Page 5: Instruksi Aritmatika

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

Page 6: Instruksi Aritmatika

11

INSTRUKSI ARITMETIKA

Hasil Eksekusi Dissambler File

Memory Editor

Page 7: Instruksi Aritmatika

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)

Page 8: Instruksi Aritmatika

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

Page 9: Instruksi Aritmatika

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)

Page 10: Instruksi Aritmatika

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)

Page 11: Instruksi Aritmatika

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)

Page 12: Instruksi Aritmatika

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)

Page 13: Instruksi Aritmatika

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

Page 14: Instruksi Aritmatika

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

Page 15: Instruksi Aritmatika

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

Page 16: Instruksi Aritmatika

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