Manipulasi Bit MCS51

Manipulasi Bit MCS51
Manipulasi Bit MCS51
CLR C
Siklus
 Jumlah Byte


Instruksi

1
2


CLR C

Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Clear Carry Flag atau mengubah bit Carry Flag menjadi 0.

CLR bit
Siklus
 Jumlah Byte


Instruksi

1
2


CLR Bit

Flag
C
AC
F0
RS1
RS0
OV
P
  

Clear bit atau mengubah bit-bit pada RAM Internal ataupun register yang dapat dialamati secara bit (bit addressable) menjadi 0.

Contoh:
  Clr  P1.2

SETB  C
Siklus
 Jumlah Byte
Instruksi


2
3
SETB C


Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Set Carry Flag atau mengubah bit Carry Flag menjadi 1.

SETB bit
Siklus
 Jumlah Byte


Instruksi

2
2


SETB bit

Flag
C
AC
F0
RS1
RS0
OV
P
  

Set bit atau mengubah bit-bit pada RAM Internal maupun register yang dapat dialamat secara bit (bit addressable) menjadi 1.

Contoh:
  Setb  A.7

Bit ke 7 dari akumulator A diubah menjadi 1, bila sebelumnya nilai akumulator A adalah 02H atau 00000010b maka setelah instruksi ini dijalankan, nilai akumulator A akan menjadi 82H atau 10000010b.

CPL C
Siklus
 Jumlah Byte
Instruksi
2
2
CPL C
Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Melakukan komplemen pada bit carry flag, apabila sebelumnya bit carry flag adalah 0 maka setelah instruksi ini dijalankan maka bit carry flag akan berada pada posisi set atau 1 demikian pula sebaliknya.

CPL bit 
Siklus
 Jumlah Byte
Instruksi
1
1
CPL bit
Flag
C
AC
F0
RS1
RS0
OV
P
  


Melakukan komplemen pada bit pada register atau memori yang dapat dialamati secara bit (bit addressable), apabila sebelumnya bit pada memori atau register tersebut adalah 0 maka setelah instruksi ini dijalankan maka bit pada memori atau register tersebut akan berada pada posisi set atau 1 demikian pula sebaliknya.

ANL C,bit
Siklus
 Jumlah Byte
Instruksi
2
2
ANL C,bit
Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Melakukan operasi AND antara bit carry flag dan bit pada register atau memori yang dapat dialamati secara bit (bit addressable).

ANL C,/bit
Siklus
 Jumlah Byte
Instruksi
2
2
ANL C,/bit
Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Melakukan operasi AND antara bit carry flag dengan komplemen dari bit pada register atau memori yang dapat dialamati secara bit (bit addressable).

Contoh:
  ANL C,/A.7 

Bila sebelumnya bit carry flag adalah 0 dan nilai akumulator A adalah 80H atau 10000000b, maka 0 pada bit carry flag akan di AND dengan 1 pada bit ketujuh akumulator A dan menghasilkan 0. Hasil AND ini disimpan pada bit carry flag, sehingga nilai carry flag sesudah instruksi ini dijalankan adalah tetap 0.

ORL C,bit
Siklus
 Jumlah Byte
Instruksi
2
2
ORL C,/bit
Flag
C
AC
F0
RS1
RS0
OV
P
  
X

Melakukan operasi OR antara bit carry flag dengan komplemen dari bit pada register atau memori yang dapat dialamati secara bit (bit addressable).

Contoh:
  ORL  C,/A.7

Bila sebelumnya bit carry flag adalah 0 dan nilai akumulator A adalah 80H atau 10000000b, maka 0 pada bit carry flag akan di OR dengan 1 pada bit ketujuh akumulator A dan menghasilkan 0. Hasil OR ini disimpan pada bit carry flag, sehingga nilai carry flag sesudah instruksi ini dijalankan adalah tetap 0.

MOV C,bit 
Siklus
 Jumlah Byte


Instruksi

1
2


MOV C,bit

Flag
C
AC
F0
RS1
RS0
OV
P
  


Melakukan pemindahan dari bit pada register atau memori yang dapat dialamati secara bit (bit adressable) ke bit carry flag.

Contoh:
  Mov  C,A.0 

Apabila nilai akumulator A adalah 01H atau 00000001 maka bit ke 0 dari akumulator A, yaitu 0 akan dipindah ke bit carry flag sehingga nilai dari bit ini adalah 0.

MOV bit,C
Siklus
 Jumlah Byte


Instruksi

2
2


MOV bit,C

Flag
C
AC
F0
RS1
RS0
OV
P
  

Melakukan pemindahan dari bit carry flag ke bit pada register atau memori yang dapat dialamati secara bit (bit adressable).

Contoh:
  Mov  A.1,C 

Apabila nilai akumulator A adalah 01H atau 00000001b dan nilai bit carry flag adalah 1 atau set maka nilai 1 pada bit carry flag akan dipindah ke bit ke 1 dari akumulator A, sehingga nilai akumulator A akan berubah menjadi 03H atau 00000011b.

JC rel 
Siklus
 Jumlah Byte


Instruksi

2
2


JC rel

Flag
C
AC
F0
RS1
RS0
OV
P
  

Melakukan lompatan ke suatu alamat yang didefinisikan apabila carry flag set. Apabila carry flag clear maka program akan menjalankan instruksi selanjutnya.

Contoh:
  Jc  Alamat1 
  Mov  A,#05H 
Alamat1:
  Mov  R1,#00H 

Apabila carry flag set, maka program akan lompat label alamat 1 dan menjalankan instruksi Mov R1,#00H, namun bila carry flag clear maka program akan menjalankan instruksi Mov A,#05H terlebih dahulu sebelum menjalankan instruksi di label alamat 1.

JNC rel
Siklus
 Jumlah Byte


Instruksi

2
2


JNC rel

Flag
C
AC
F0
RS1
RS0
OV
P
  

Melakukan lompatan ke suatu alamat yang didefinisikan apabila carry flag clear. Apabila carry flag set maka program akan menjalankan instruksi selanjutnya.

Contoh:
  Jnc  Alamat1 
  Mov  A,#05H 
Alamat1:
  Mov  R1,#00H 

Apabila carry flag clear, maka program akan lompat label alamat 1 dan menjalankan instruksi Mov R1,#00H, namun bila carry flag set maka program akan menjalankan instruksi Mov A,#05H terlebih dahulu sebelum menjalankan instruksi di label alamat 1.

JB bit,rel
Siklus
 Jumlah Byte


Instruksi

2
3


JB bit,rel

Flag
C
AC
F0
RS1
RS0
OV
P
  

Melakukan lompatan ke suatu alamat yang didefinisikan apabila bit dari register atau memori yang dapat dialamati secara bit (bit addressable) set. Apabila bit tersebut clear maka program akan menjalankan instruksi selanjutnya.

Contoh:
  Jb  P1.0,Alamat1 
  Mov  A,#05H
Alamat1:
  Mov  R1,#00H 

Apabila bit tersebut set, maka program akan lompat label alamat 1 dan menjalankan instruksi Mov R1,#00H, namun bila bit tersebut clear maka program akan menjalankan instruksi Mov A,#05H terlebih dahulu sebelum menjalankan instruksi di label alamat 1.

JNB bit,rel 
Siklus
 Jumlah Byte


Instruksi

2
3


JNB bit,rel

Flag
C
AC
F0
RS1
RS0
OV
P
  

Melakukan lompatan ke suatu alamat yang didefinisikan apabila bit dari register atau memori yang dapat dialamati secara bit (bit addressable) clear. Apabila bit tersebut set maka program akan menjalankan instruksi selanjutnya.

Contoh:
  JNB  P1.0,Alamat1 
  Mov  A,#05H 
Alamat1:
  Mov  R1,#00H 

Apabila bit tersebut clear, maka program akan lompat label alamat 1 dan menjalankan instruksi Mov R1,#00H, namun bila bit tersebut set maka program akan menjalankan instruksi Mov A,#05H terlebih dahulu sebelum menjalankan instruksi di label alamat 1.

JBC bit,rel 
Siklus
Jumlah Byte


Instruksi

2
3


JBC bit,rel

Flag
C
AC
F0
RS1
RS0
OV
P
  

Sama dengan instruksi Jb bit,rel , namun terdapat proses clear pada bit tersebut sesudah lompatan dilakukan.

Contoh:
  JBC  A.7,Alamat1 

Apabila bit ketujuh dari akumulator A set, maka lompat ke alamat 1 dan sekaligus mengubah kondisi bit ketujuh dari akumulator A menjadi clear.

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال