simple as possible (sap) - 3 · pc = program counter sp = stack pointer a, b, c ... dan register h...

17
Simple As Possible (SAP) - 3 Abdul Syukur [email protected] http://skurlinux.blogspot.com 085374051884

Upload: truonghanh

Post on 27-Aug-2018

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Simple As Possible

(SAP) - 3

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Page 2: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Perbedaan SAP-2 dengan SAP-3

SAP-2 SAP-3

Registers A, B, C A, B, C, D, E, H, L

FlagZero Flag

Sign Flag

Zero Flag Carry Flag

Sign Flag Parity Flag

Stack Pointer

No Yes

Page 3: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Perbedaan SAP-2 dengan SAP-3 (2)

PC

SP

A

ALU

TMP

16 bit

8 bit

B

D

8 bit

H

C

E

8 bit

L

8

8

Dimana :PC = Program CounterSP = Stack PointerA, B, C, D, E, H, L = Register

Page 4: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register (Register yang Diperluas)

B

D

8 bit

H

C

E

8 bit

L

B

D

16 bit

H

C

E

L

8 bit 16 bit8 bit

Page 5: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions

LXI (Load eXtended Immediate)

Mengisi data langsung ke register berpasangan (register B dengan C, register D dengan E, dan register H denganL), lebar data 16 bit.

Format : LXI B, double LXI H, double

LXI D, double LXI SP, double

Contoh : LXI B, D375 H B = D3 H dan C = 75 H

LXI D, 2EA4 H D = 2E H dan E = A4 H

Page 6: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (2)

Instruksi Tumpukan (Stack Instructions)

Prinsip : LIFO (Last In First Out)

LXI SP, double : Inisialisasi Tumpukan

Contoh : LXI SP, 3A6DH (SP = 3A6DH).

PUSH : Menyimpan data 16 bit ke tumpukan

PUSH B, PUSH D, dan PUSH H.

POP : Mengambil data 16 bit dari tumpukan

POP B, POP D, dan POP H.

Page 7: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (3)

PUSH

Instruksi PUSH berfungsi menyimpan data 16 bit kedalamtumpukan pada RAM.

Register-register yang terlibat sebagai operand adalahregister BC, DE, HL.

Format instruksi :

PUSH B

PUSH D

PUSH H

Page 8: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (4)

POP

Instruksi POP berfungsi mengambil data 16 bit daritumpukan pada RAM.

Register-register yang terlibat sebagai operand adalahregister BC, DE, HL.

Format instruksi :

POP B

POP D

POP H

Page 9: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (5)

Contoh :

PUSH B

POP D

Beberapa hal yang dilakukan oleh prosesor pada saatpengeksekusian instruksi PUSH :

1. Penunjuk tumpukan (stack pointer) dikurangi 1, SP - 1.

2. Data dalam register B disimpan kedalam RAM yang ditunjukkanoleh SP.

3. Penunjuk tumpukan (stack pointer) dikurangi satu lagi, SP - 1.

4. Data dalam register C disimpan dalam RAM yang ditunjukkan olehSP.

Page 10: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (6)

Beberapa hal yang dilakukan oleh prosesor pada saatpengeksekusian instruksi POP :

1. Data yang ditunjukkan oleh SP pada RAM disalin ke register E.2. Penunjuk tumpukan (stack pointer) ditambah satu, SP + 1.3. Data yang ditunjukkan oleh SP pada RAM disalin ke register D.4. Penunjuk tumpukan (stack pointer) ditambah satu lagi, SP + 1.

Page 11: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (7)

Contoh :

LXI SP, 3A6D HLXI B, 7C03 HLXI D, D190 HPUSH BPUSH DPOP BPOP D

Page 12: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (8)

PUSH Contoh : PUSH B, PUSH D. Stack Pointer dikurangi 1, SP = SP – 1 Data dalam register B disimpan ke

memori yang ditunjuk SP. SP dikurangi 1 lagi, SP = SP – 1. Data register C disimpan ke memori

yang ditunjuk SP.

3A6DH3A6D90D1037C

7C

03

D1

90

3A68H

B C D E SP

3A6CH

3A6BH

3A6AH

3A69H

SP – 1

SP – 1

SP – 1

SP – 1

RAM

Page 13: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (9)POP Contoh : POP B, POP D. Data yg ditunjuk SP disalin ke

Register C. SP ditambah 1, SP = SP + 1. Data yg ditunjuk SP disalin ke

Register B. SP ditambah 1 lagi , SP = SP + 1.

3A6DH

037C90D1

7C

03

D1

90

3A68H

B C D E

3A6CH

3A6BH

3A6AH

3A69H3A69

SP + 1

SP + 1

SP +1

SP + 1

RAM

Page 14: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Extended Register Instructions (10)

LXI SP, 3A6D HLXI B, 7C03 HLXI D, D190 HPUSH BPUSH DPOP BPOP D

3A6DH

3A6D90D1037C 037C90D1

7C

03

D1

90

3A68H

B C D E SP B C D E

3A6CH

3A6BH

3A6AH

3A69H

RAM

Page 15: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Latihan (1)

Gambarkan mekanisme instruksi PUSH dan POP berikutini:

LXI SP, 20FF HLXI B, 465C HPUSH BPOP D

Page 16: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Latihan (2)

Gambarkan mekanisme instruksi PUSH dan POP berikutini:

LXI SP, 20FF HLXI B, 2216 HLXI D, 1A2CPUSH BPUSH DPOP HPOP B

Page 17: Simple As Possible (SAP) - 3 · PC = Program Counter SP = Stack Pointer A, B, C ... dan register H dengan L), lebar data 16 bit. Format : LXI B ... Data dalam register C disimpan

Latihan (3)

Gambarkan mekanisme instruksi PUSH dan POP berikutini:

LXI SP, 20FD HLXI B, 465C HLXI D, 2B3C HLXI H, 4A5B HPUSH HPUSH DPUSH BPOP DPOP HPOP B