Operasi ALU
1.
Instruksi MCS51
ADD
ADD
2.
3.
4.
5.
6.
ADD A, Rn
ADD A, direct
ADD A, @RI
ADD A, #data
ADDC
ADC
7.
8.
ADDC A, Rn
ADDC A, direct
9.
ADDC A, @RI
10.
ADDC A, #data
No.
11.
Instruksi AVR
ADIW
12.
13.
14.
15.
SUBB
SUBB A, Rn
SUBB A, direct
SUBB A, @RI
16.
SUBB A, #data
SUB
17.
SUBI
18.
SBC
19.
SBCI
20.
SBIW
21.
22.
INC
INC Rn
23.
INC direct
24.
INC @RI
25.
INC DPTR
INC
Keterangan Fungsi
Menambahkan nilai register dengan
akumulator
Add register to Accumulator
Add direct byte to Accumulator
Add indirect RAM to Accumulator
Add immediate data to Accumulator
Menambahkan nilai register dengan
akumulator dan nilai bawaan
Add register to Accumulator with Carry
Add direct byte to Accumulator with
Carry
Add in direct RAM to Accumulator with
Carry
Add Immediate data to Acc
with Carry
Instruksi yang hanya ada pada AVR
Add immediate to word
Melakukan pengurangan tanpa carry
Subtract Register From Acc with borrow
Subtrect direct byte from Acc With borrow
Instruksi yang hanya ada pada MCS-51
Subfrectindiract RAM fromACC with
borrow
Instruksi yang hanya ada pada MCS-51
Subtract immediate date from Acc with
borrow
Instruksi yang hanya ada pada AVR
Substract immediate
Instruksi yang hanya ada pada AVR
Substract with carry
Instruksi yang hanya ada pada AVR
Substract immediate with carry
Instruksi yang hanya ada pada AVR
Substract immediate with word
Increment Accumulat
Instruksi hanya ada di MCS-51
Incrsmsnt registe
Instruksi hanya ada di MCS-51
Increment direct byte
Instruksi hanya ada di MCS-51
Increment direct RAM
Instruksi hanya ada di MCS-51
Instruksi yang hanya ada pada MCS-51
26. DEC
927. DEC Rn
28.
DEC direct
29.
DEC @RI
30.
31.
MUL AB
DEC
MUL
MULS
32.
MULSU
33.
FMUL
34.
FMULS
35.
FMULSU
36.
DIV AB
37.
DA A
38.
39.
40.
ANL
41.
ANL A, direct
42.
ANL A, @RI
43.
ANL A, #data
44.
ANL direct, A
45.
46.
47.
ORL
48.
ORL A, Rn
49.
ORL A, direct
50.
ORL A, @RI
51.
ORL A, #data
52.
ORL direct, A
AND
ANDI
ANL A, Rn
OR
ORI
53.
54.
55.
XRL
XRL A, Rn
56.
XRL A, direct
57.
XRL A, @RI
58.
XRL A, #data
59.
XRL direct, A
60.
61.
CLR
CLR
62.
CPL
COM/NEG
EOR
63.
SER
64.
TST
65.
SBR
66.
CBR
67.
RL
68.
RLC
69.
RC
70.
RRC
71.
SWAP
2.
3.
MOV A, Rn
MOVW
4.
MOV A, direct
5.
MOV A, @RI
6.
MOV A, #data
7.
MOV Rn, A
8.
9.
10.
MOV direct, A
11.
MOV direct, Rn
12.
13.
14.
15.
MOV @RI, A
16.
17.
Keterangan Fungsi
Instruksi yang sama dengan fungsi yang
berbeda.
Pada MCS-51, MOV untuk
memindahkan register ke
akumulator.
Pada AVR, MOV untuk meng-copy
register.
Copy register pair
Instruksi hanya ada di MCS-51
Memindahkan register ke akumulator
Instruksi hanya ada di MCS-51
Memindahkan bit ke akumulator secara
langsung
Instruksi hanya ada di MCS-51
Memindahkan RAM ke akumulator secara
tidak langsung
Instruksi hanya ada di MCS-51
Memindahkan data ke akumulator dengan
segera
Instruksi hanya ada di MCS-51
Memindahkan akumulator ke register
Instruksi hanya ada di MCS-51
Memindahkan bit ke register secara
langsung
Instruksi hanya ada di MCS-51
Memindahkan data ke register dengan
segera
Instruksi hanya ada di MCS-51
Move Accumulator to direct byte
Instruksi hanya ada di MCS-51
Move register to direct byte
Instruksi hanya ada di MCS-51
Move direct byte todiract
Instruksi hanya ada di MCS-51
Move immediate data todirect byte
Instruksi hanya ada di MCS-51
Move indirect RAM to direct byte
Instruksi hanya ada di MCS-51
Move Accumulator indirect RAM
Instruksi hanya ada di MCS-51
Move direct byte to indirect RAM
Instruksi hanya ada di MCS-51
MOV DPTR,
#data16
MOVC A,
@A+DPTR
MOVC A,
@A+PC
MOVX A, @RI
23.
MOVX A,
@DPTR
MOVX @RI, A
24.
MOVX @DPTR,A
25.
26.
27.
PUSH
POP
XCH A, Rn
28.
XCH A, direct
29.
XCH A, @RI
30.
XCHD A, @RI
PUSH
POP
31.
LDI
32.
LDS
33.
LD
34.
LD
35.
LD
36.
LD
37.
LD
38.
LD
39.
LDD
40.
LD
41.
LD
42.
LD
43.
LDD
44.
STS
45.
ST
46.
ST
47.
ST
48.
ST
49.
ST
50.
ST
51.
STD
52.
ST
53.
ST
Rd (Y), Y Y +1
Instruksi yang hanya ada pada AVR
Load in direct
Y Y - 1, Rd (Y)
Instruksi yang hanya ada pada AVR
Load in direct with displacement
Rd (Y + q)
Instruksi yang hanya ada pada AVR
Load in direct
Rd (Z)
Instruksi yang hanya ada pada AVR
Load in direct
Rd (Z), Z Z+1
Instruksi yang hanya ada pada AVR
Load in direct
Z Z- 1, Rd (Z)
Instruksi yang hanya ada pada AVR
Load in direct displacement
Rd (Z + q)
Instruksi yang hanya ada pada AVR
Store direct to data space
Rd (k)
Instruksi yang hanya ada pada AVR
Store in direct
(X) Rr
Instruksi yang hanya ada pada AVR
Store in direct
(X) Rr, X X+1
Instruksi yang hanya ada pada AVR
Store in direct
X X - 1 , (X) Rr
Instruksi yang hanya ada pada AVR
Store in direct
(Y) Rr
Instruksi yang hanya ada pada AVR
Store in direct
(Y) Rr, Y Y+1
Instruksi yang hanya ada pada AVR
Store in direct
Y Y - 1 , (Y) Rr
Instruksi yang hanya ada pada AVR
Load in direct with displacement
(Y + q) Rr
Instruksi yang hanya ada pada AVR
Store in direct
(Z) Rr
Instruksi yang hanya ada pada AVR
Store in direct
54.
ST
55.
STD
56.
LPM
57.
LPM
58.
LPM
59.
ELPM
60.
ELPM
61.
ELPM
62.
SPM
63.
ESPM
64.
IN
65.
OUT
(Z Rr, Z Z+1
Instruksi yang hanya ada pada AVR
Store in direct
Z Z - 1 , (Z) Rr
Instruksi yang hanya ada pada AVR
Store in direct with displacement
(Z + q) Rr
Instruksi yang hanya ada pada AVR
Load program memory
R0 (Z)
Instruksi yang hanya ada pada AVR
Load program memory
Rd (Z)
Instruksi yang hanya ada pada AVR
Load program memory
Rd (Z), Z Z+1
Instruksi yang hanya ada pada AVR
Extended Load program memory
R0 (RAMPZ:Z)
Instruksi yang hanya ada pada AVR
Extended Load program memory
Rd (RAMPZ:Z)
Instruksi yang hanya ada pada AVR
Extended Load program memory
Rd (RAMPZ:Z), Z Z+1
Instruksi yang hanya ada pada AVR
Extended Load program memory
(Z) R1:R0
Instruksi yang hanya ada pada AVR
Extended Load program memory
(RAMPZ:Z) R1:R0
Instruksi yang hanya ada pada AVR
Extended Load program memory
Rd I/O(A)
Instruksi yang hanya ada pada AVR
Extended Load program memory
I/O(A) Rr
ICALL
4.
5.
EICALL
RET
RET
Keterangan Fungsi
Mutlak memanggil sub routine
Memanggil sub routine secara tidak
langsung
Memanggil sub routine secara tidak
langsung
Instruksi yang hanya ada pada AVR
Mengembalikan subroutine
6.
RETI
RETI
7.
8.
AJMP
LJMP
JMP
9.
SJMP
10.
JMP @A + DPTR
11.
RJMP
12.
IJMP
13.
EIJMP
14.
15.
16.
JZ
JNZ
CJNE A, direct, rel
17.
18.
19.
20.
21.
22.
NOP
23.
CP
24.
CPSE
25.
CPI
26.
CPC
27.
SBRC
28.
29.
SBRS
SBIS
30.
SBIC
31.
BRBS
32.
BRBC
33.
BREQ
34.
BRNE
35.
BRCS
36.
BRCC
37.
BRSH
38.
BRLO
39.
BRMI
40
BRPL
41.
BRGE
42.
BRLT
43.
BRHS
44.
BRHC
45.
BRTS
46.
BRTC
47.
BRVS
48.
BRVC
49.
BRIE
50.
BRID
Instruksi MCS-51
1.
CLR C
2.
CLR bit
3.
SETB C
4.
SETB bit
5.
CPL C
6.
CPL bit
ANL C, bit
8.
ANL C/bit
9.
ORL C, bit
10.
ORL C/bit
11.
MOV C, bit
12.
MOV bit, C
13.
JC rel
14.
JNC rel
15.
JB bit, rel
16.
Instruksi
AVR
Keterangan Fungsi
Instruksi hanya ada di MCS-51
Clear Carry
Instruksi hanya ada di MCS-51
Clear direct bit
Instruksi hanya ada di MCS-51
Set Carry
Instruksi hanya ada di MCS-51
Set direct bit
Instruksi hanya ada di MCS-51
Complement data to Carry
Instruksi hanya ada di MCS-51
Complement Direct bit
Instruksi hanya ada di MCS-51
AND direct bit to CARRY
Instruksi hanya ada di MCS-51
AND complement of direct bit to Carry
Instruksi hanya ada di MCS-51
OR direct bit to Carry
Instruksi hanya ada di MCS-51
OR complement of direct bit to Carry
Instruksi hanya ada di MCS-51
Move direct to Carry
Instruksi hanya ada di MCS-51
Move Carry to direct bit
Instruksi hanya ada di MCS-51
Jump if Carry is set
Instruksi hanya ada di MCS-51
Jump if Carry not set
Instruksi hanya ada di MCS-51
Jump if direct Bit is set
Instruksi hanya ada di MCS-51
17.
1.
Instruksi
AVR
LSL
2.
LSR
3.
ROL
4.
ROR
5.
ASR
6.
SWAP
7.
BSET
8.
BCLR
9.
SBI
10.
CBI
11.
BST
12.
BLD
13.
SEC
14.
CLC
15.
SEN
16.
CLN
17.
SEZ
18.
CLZ
19.
SEI
No.
Instruksi MCS-51
Keterangan Fungsi
Instruksi yang hanya ada pada AVR
Logical shift kiri
Instruksi yang hanya ada pada AVR
Logikal shift kanan
Instruksi yang hanya ada pada AVR
Memutar ke kiri sesuai nilai baawaan
Instruksi yang hanya ada pada AVR
Memutar ke kanan sesuai nilai baawaan
Instruksi yang hanya ada pada AVR
Nilai aritchmatic shift kanan
Instruksi yang hanya ada pada AVR
Menukar nibbles
Instruksi yang hanya ada pada AVR
Mengeset arah
Instruksi yang hanya ada pada AVR
Mengosongkan arah
Instruksi yang hanya ada pada AVR
Mengeset bit dalam masukan I/O
Instruksi yang hanya ada pada AVR
Mengosongkan bit dalam masukan I/O
Instruksi yang hanya ada pada AVR
Menyimpan bit dari masukan ke T
Instruksi yang hanya ada pada AVR
Membaca bit dari T
Instruksi yang hanya ada pada AVR
Mengeset nilai masukan
Instruksi yang hanya ada pada AVR
Membersihkan nilai masukan
Instruksi yang hanya ada pada AVR
Mengeset arah negative
Instruksi yang hanya ada pada AVR
Membersihkan arah negative
Instruksi yang hanya ada pada AVR
Mengeset zero flag
Instruksi yang hanya ada pada AVR
Membersihkan zero flag
Instruksi yang hanya ada pada AVR
Instrupsi global memungkinkan
20.
CLI
21.
SES
22.
CLS
23.
SEV
24.
CLV
25.
SET
26.
CLT
27.
SEH
28.
CLH
29.
NOP
30.
SLEEP
31.
WDR