simple as possible (sap) - 3 · pc = program counter sp = stack pointer a, b, c ... dan register h...
TRANSCRIPT
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
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
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
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
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.
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
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
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.
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.
Extended Register Instructions (7)
Contoh :
LXI SP, 3A6D HLXI B, 7C03 HLXI D, D190 HPUSH BPUSH DPOP BPOP D
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
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
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
Latihan (1)
Gambarkan mekanisme instruksi PUSH dan POP berikutini:
LXI SP, 20FF HLXI B, 465C HPUSH BPOP D
Latihan (2)
Gambarkan mekanisme instruksi PUSH dan POP berikutini:
LXI SP, 20FF HLXI B, 2216 HLXI D, 1A2CPUSH BPUSH DPOP HPOP B
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