You are on page 1of 14

1.

MOV
Move register to register or
memory

2. MVI
Move Immediate to register
or memory

3. LXI
Load Register Pair with
Immediate Data

4. LDA
Load Accumulator Directly
from Memory

5. STA
Store Accumulator Directly in
Memory

MOV reg1 , reg2

MVI reg , XX

LXI reg_pair , XXXX

LDA addr

STA addr

Menyalin data 8 bit pada dari


reg1 ke reg2
Contoh :
MOV A,B
AB
MOV C,M
CM
Mengisi register degan konstanta
8 bit
Contoh :
MVI B,24
B 24
MVI D,21
D 21
Mengisi pasangan regiater
dengan konstanta 16 bit
Contoh :
LXI D,2490
DE 2490
LXI H,2104
HL 2104
Menyalin data 8 bit dari alamat
memori ke reg A (Akumulator)
Contoh :
LDA 9091
A [9091]
LDA 8572
A 8572
Menyalin isi reg A ke alamat
memori
Contoh :
STA 7216

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

6. LHLD
Load H & L Register Directly
from Memory

7. SHLD
Store H & L Register Directly
in Memory

8. LDAX
Load Accumulator from
Address in Register Pair

9. STAX
Store Accumulator in Address
in Register Pair

LHLD addr

SHLD addr

LDAX reg_pair

STAX reg_pair

[7216] A
STA 9215
[9215] A
Menyalin data 16 bit pada alamat
memori addr dan addr+1 ke
pasangan register HL
Contoh :
LHLD 8888
L [8888]
H [8889]
LHLD 9998
L [9998]
H [9999]
Menyalin isi pasangan reg HL ke
alamat memori addr dan addr+1
Contoh :
SHLD 7777
[7777] L
[7778] H
SHLD ABCD
[ABCD] L
[ABCE] H
Menyalin data 8 bit pada alamt
memori yang ditunjukan oleh
pasangan register.
Contoh :
LDAX B
A [BC]
LDAX D
A [DE]
Menyalin isi reg A (akumulator)
ke alamat memori yang
ditunjukan oleh pasangan reg.
Contoh :

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

10. XCHG
Exchange H & L with D & E

1. ADD
Add to Accumulator

2. ADI
Add Immediate Data to
Accumulator

3. ADC
Add to Accumulator using
Carry Flag

XCHG

ADD reg

ADI XX

ADC reg

STAX B
[BC] A
STAX H
[HL] A

Menukar isi data antara pasangan


reg DE dan HL
Contoh :
XCHG
DE <--> HL

Menambahkan isi reg A


(akiumulator) dengan isi register
lain
Contoh :
ADD B
A A+B
ADD M
A A+M
Menambahkan isi reg A dengan
konstanta 8 bit
Contoh :
ADI 22
A A+22
ADI 45
A A+45
Menambahkan isi reg A dengan isi
register lain dan carry
Contoh :
ADC B
A A+B+Cy
ADC L
A A+L

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

4. ACI
Add Immediate Data to
Accumulator using Carry Flag

5. SUB
Subtract from Accumulator

ACI XX

SUB reg

6. SUI
Subtract Immediate Data
from Accumulator

SUI XX

7. SBB
Subtract from Accumulator
using Borrow (carry) Flag

SBB reg

8. SBI
Subtract Immediate from
Accumulator using Borrow
(carry) Flag

SBI XX

9. INR
Increment Specified Byte by

INR reg

Menambahlkan isi reg A dengan


konstanta 8 bit dan carry
Contoh :
ACI 95
A A+95+Cy
ACI DB
A A+DB+Cy
Mengurangkan isi reg A dengan isi
register lain
Contoh :
SUB D
AAD
SUB L
AAL
Mengurangkan isi reg A dengan isi
register lain
SUI 88
A A 88
SUI AB
A A AB
Mengurangkan isi reg A dengan isi
register lain dan carry
SBB C
A A C Cy
SBB H
A A H Cy
Mengurangkan isi reg A dengan
konstanta 8 bit dan carry
SBI 89
A A 89 Cy
SBI AF
A A AF Cy
Menambahkan isi register dengan
1

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

One

10. DCR
Decrement Specified Byte by
One

11. INX
Increment Register Pair by
One

12. DCX
Decrement Register Pair by
One

13. DAD
Double Register Add; Add
Content of Register Pair to H
& L Register Pair

DCR reg

INX reg_pair

DCX reg_pair

DAD reg_pair

Contoh :
INR B
BB+1
INR D
DD-1
Mengurangkan isi register dengan
1
Contoh :
DCR C
CC1
DCR E
EE1
Menambahkan isi pasangan
register dengan 1
Contoh :
INX B
BC BC + 1
INX D
DE DE + 1
Mengurangkan isi pasangan
register dengan 1
Contoh :
DCX B
BC BC 1
DCX H
HL HL 1
Menambhakan isi pasangan
register HL dengan pasangan
register lain
Contoh :
DAD B
HL HL + BC
DAD H
HL HL + HL

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

14. DAA
Decimal Adjust Accumulator

DAA

Memberikan factor koreksi pada


penjuumlahan biner
Contoh :
DAA
A BCD
MVI A, 09
ADI 1
DAA

S Z - Ac - Pe - Cy

A 09
A 09 + 01
A 0A ;sebelum diberi
factor koreksi
A 10 ; setelah diberi factor
koreksi
15. CMP
Compare with Register

16. CPI
Compare Immediate

CMP reg

CPI XX

Membandingkan isi register A


dengan register lain. Operasi
perbandingan dilakukan dengan
metode :
A reg
Instruksi ini tidak merubah isi
register.
Contoh :
CMP B
AB
CMP D
AD
Membandingkan isi register A
dengan konstanta.
Contoh :
CPI 89
A 89
CPI AD

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

17. ANA
AND Accumulator

18. ANI
AND Immediate

19. XRA
XOR Accumulator

20. XRI
XOR Immediate

ANA reg

ANI XX

XRA reg

XRI XX

A AD
Melakukan operasi AND antara
register A dan register lain.
A . reg
Contoh :
ANA B
AA.B
ANA D
A A .D
Melakukan operasi AND antara
register A dan konstanta
A . XX
Contoh :
ANI 90
A A . 90
ANI BB
A A . BB
Melakukan operasi XOR antara
register A dengan register lain.
A reg
Contoh :
XRA C
AA C
XRA E
AA E
Melakukan operasi XOR antara
register A dengan konstanta
A XX
Contoh :
XRI 98
A A 98
XRI DB
A A 98

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

21. ORA
OR Accumulator

22. ORI
OR Immediate

23. CMA
Complement Accumulator

24. CMC
Complement Carry

ORA reg

ORI XX

CMA

CMC

25. STC
Set Carry

STC

1. RAR
Rotate Accumulator Right

RAR

Melakukan operasi OR antara


akumulator dan register
Contoh :
ORA D
AA+D
ORA M
AA+M
Melakukan operasi OR antara
akumulator dan konstanta
Contoh :
ORI 47
A A + 47
ORI B3
A A + B3
Melakukan operasi NOT pada
register A
Contoh :
CMA
A NOT A
Melakukan operasi NOT pada flag
carry
Contoh :
CMC
Cy NOT Cy
Mengatur nilai dari Carry Flag
Cy = 1

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

Memutar isi akumulator ke kanan


melalui carry flag
h g

b a Cy

Setelah dilakukan operasi RAR

S Z - Ac - Pe - Cy

menjadi
Cy h g

2. RAL
Rotate Accumulator Left

RAL

c b a

Cy = a dan data pada MSB adalah


data pada Cy
Memutar isi akumulator ke kiri
melalui carry flag
h g

b a Cy

Setelah dilakukan operasi RAR


menjadi
g

3. RRC
Rotate Right Through Carry

RRC

4. RLC
Rotate Left Through Carry

RLC

1. JMP
Jump unconditional

JMP addr

2. JZ
Jump If Zero

JZ addr

S Z - Ac - Pe - Cy

a cy h

Cy = a dan data pada LSB adalah


data pada Cy
Memutar isi akumulator ke kanan,
bit LSB di salin ke carry

S Z - Ac - Pe - Cy

Memutar isi akumulator ke kanan,


bit MSB di salin ke carry

S Z - Ac - Pe - Cy

Lompat tanpa syarat ke alamat


memori dari addr
Contoh :
JMP 830A
Loncat ke alamat 830A
Lompat ke alamat memori dari
addr, jika Zero Flag = 1
Contoh :

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

3. JNZ
Jump If No Zero

4. JC
Jump If Carry

5. JNC
Jump If No Carry

6. JPE
Jump If Parity Even

JNZ addr

JC addr

JNC addr

JPE addr

JZ 803A
Jika Z = 1 maka lompat ke
alamat 803A, jika Z = 0 akan
meneruskan instruksi
selanjutnya
Lompat ke alamat memori dari
addr, jika Zero Flag = 0
Contoh :
JNZ 803A
Jika Z = 0 maka lompat ke
alamat 803A, jika Z = 1 akan
meneruskan instruksi
selanjutnya
Lompat ke alamat dari memori
addr, jika Carry Flag = 1
Contoh :
JC 803A
Jika Cy = 1 maka akan lompat
ke alamat 803A, jika Cy = 0
akan meneruskan instruksi
selanjutnya
Lompat ke alamat dari memori
addr, jika Carry Flag = 0
Contoh :
JNC 803A
Jika Cy = 0 maka akan lompat
ke alamat 803A, jika Cy = 1
akan meneruskan instruksi
selanjutnya
Lompat ke alamat dari memori
addr, jika Parity Even Flag = 1
Contoh :
JPE 803A
Jika PE = 1 maka akan lompat

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

7. JPO
Jump If Parity Odd

8. JM
Jump If Minus

9. JP
Jump If Positive

10. CALL
Call unconditional
11. CZ
Call if Zero
12. CNZ
Call If No Zero

JPO addr

JM addr

JP addr

CALL addr
CZ addr
CNZ addr

ke alamat 803A, jika PE = 0


maka akan meneruskan
instruksi selanjutnya
Lompat ke alamat memori addr,
jika Parity Even Flag = 0
Contoh :
JPO 803A
Jika PE = 0 maka akan lompat
ke alamat 803A, jika PE = 0
maka akan meneruskan
instruksi selanjutnya
Lompat ke alamat memori addr,
jika Sign Bit = 1
Contoh :
JM 803A
Jika S= 1 maka akan lompat ke
alamat 803A, jika S = 0 maka
akan meneruskan instruksi
selanjutnya
Lompat ke alamat memori addr,
jika Sign Bit = 0
Contoh :
JP 803A
Jika S= 0 maka akan loncat ke
alamat 803A, jika S = 1 maka
akan meneruskan instruksi
selanjutnya
Memanggil sub rutin dari alamat
addr, tanpa syarat
Memanggil sub rutin dari alamat
addr, jika Z = 1
Memanggil sub rutin dari alamat
addr, jika Z =0

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy

13. CC
Call If Carry
14. CNC
Call If No Carry
15. CPE
Call If Parity Even
16. CPO
Call If Parity Odd
17. CM
Call If Minus
18. CP
Call If Positive
19. RET
Return

CC addr

20. RZ
Return If Zero

RZ

21. RNZ
Return If No Zero

RNZ

22. RM
Return If Minus

RM

23. RP
Return If Positive

RP

24. RPE
Return If Parity Even

RPE

25. RPO
Return If Parity Odd

RPO

26. RC

RC

CNC addr
CPE addr
CPO addr
CM addr
CP addr
RET

Memanggil program sub rutin dari


alamat addr, jika Cy = 1
Memanggil program sub rutin dari
alamat addr, jika Cy = 0
Memanggil program sub rutin dari
alamat addr, jika PE = 1
Memanggil program sub rutin dari
alamat addr, jika PE= 0
Memanggil program sub rutin dari
alamat addr, jika S = 1
Memanggil program sub rutin dari
alamat addr, jika S = 0
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika Z = 1
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika Z = 0
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika S = 1
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika S = 0
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika PE = 1
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika PE = 0
Mengakhiri program sub rutin dan

S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

Return If Carry

melanjutkan kembali program


utama, Jika Cy = 1
Mengakhiri program sub rutin dan
melanjutkan kembali program
utama, jika Cy = 0

27. RNC
Return If No Carry

RNC

1. EI
Enable Interrupt
2. DI
Disable Interrupt
3. HLT
Halt
4. NOP
No Operation
5. SIM
Set Interrupt Maskable
6. PCHL
Copy H & L to P & C register
7. RST
Restart
8. PUSH

EI

Mengaktifkan interrupt

DI

Me non-aktifkan interrupt

HLT

Program menunggu interupsi

NOP
SIM

Prosesor tidak melakukan proses


apapun
Mengaktifkan penghalan interrupt

PCHL

Menyalin isi HL ke register PC

RST n

RESTART n

PUSH reg_pair

Menyalin isi pasangan register ke


TOS (Top Of Stack)
Contoh :
PUSH PSW
TOS A & F
PUSH B
TOS BC
Menyalin isi TOS ke pasangan
register
Contoh :
POP PSW
A & F TOS
POP B

9. POP

POP reg_pair

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

10. XTHL
Exchange HL with TOS
11. SPHL

XTHL

12. IN

IN port

13. OUT

SPHL

OUT port

BC TOS
Menukar isi register HL dengan
TOS
Menyalin isi register HL ke
register SP
Membaca data dari alamat port
Contoh :
IN 51
Mengirim data dari alamat port
Contoh :
OUT 50

S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy
S Z - Ac - Pe - Cy

S Z - Ac - Pe - Cy

You might also like