Lompat ke konten Lompat ke sidebar Lompat ke footer

Instruksi Mikrokontroller 3

Instruksi Logika
Kelompok perintah ini dipakai untuk melakukan operasi logika mikrokontroler MCS51, operasi logika yang bisa dilakukan adalah operasi AND (kode operasi ANL), operasi OR (kode operasi ORL) dan operasi Exclusive-OR (kode operasi XRL).
Data yang dipakai dalam operasi ini bisa berupa data yang berada dalam Akumulator atau data yang berada dalam memori-data, hal ini sedikit berlainan dengan operasi aritmatik yang harus melihatkan Akumulator secara aktip.

Hasil operasi ditampung di sumber data yang pertama.
1. Operasi logika AND banyak dipakai untuk me-‘0’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ANL-kan bilangan asal. Bit yang ingin di-‘0’-kan diwakili dengan ‘0’ pada data konstan, sedangkan bit lainnya diberi nilai ‘1’, misalnya. Instruksi ANL P1,#%01111110 akan mengakibatkan bit 0 dan bit 7 dari Port 1 (P1) bernilai ‘0’ sedangkan bit-bit lainnya tetap tidak berubah nilai.
2. Operasi logika OR banyak dipakai untuk me-‘1’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ORL-kan bilangan asal. Bit yang ingin di-‘1’-kan diwakili dengan ‘1’ pada data konstan, sedangkan bit lainnya diberi nilai ‘0’, misalnya :Instruksi ORL A,#%01111110 akan mengakibatkan bit 1 sampai dengan bit 6 dari Akumulator bernilai ‘1’ sedangkan bit-bit lainnya tetap tidak berubah nilai.
3. Operasi logika Exclusive-OR banyak dipakai untuk membalik nilai (complement) beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-XRL-kan bilangan asal. Bit yang ingin dibalik-nilai diwakili dengan ‘1’ pada data konstan, sedangkan bit lainnya diberi nilai ‘0’, misalnya: Instruksi XRL A,#%01111110 akan mengakibatkan bit 1 sampai dengan bit 6 dari Akumulator berbalik nilai, sedangkan bit-bit lainnya tetap tidak berubah nilai.
Mnemonic
Operation
Addressing Mode
Exect.
Dir
Ind
Reg
Imm
Timer uS
Anl A,<byte>A=A and <byte>
V
V
V
V
1
Anl <byte>,A<byte>=<byte>anl A
V
V
V
V
1
Anl <byte>,#data<byte>=<byte>and #data
V
V
V
V
1
Orl A,<byte>A=A or <byte>
Accumulator Only
1
Orl <byte>,A<byt>=<byt>orl A
V
V
V

1
Orl <byte>,#data<byte>=<byte> or #data
Data Pointer Only
2
Xrl A,<byte>A=A xor<byte>
Accumulator Only
1
Xrl<byte>,A<byt>=<byt>xor A
V
V
V

1
Xrl <byte>,#data<byte>=<byte>xor #data
Accumulator and B Only
4
CLR AA=00h
Accumulator only
1
CPL AA= not A
Accumulator only
1
RL ARotate A left 1 bit
Accumulator only
1
RLC ARotate A left trough Carry
Accumulator only
1
RR ARotate A right 1 bit
Accumulator only
1
RRCRotate A right trough carry
Accumulator only
1
SWAP ASwap nibbles in A
Accumulator only
1
Operasi logika pada umumnya mencakup empat hal, yaitu operasi AND, operasi OR, operasi EX-OR dan operasi NOT. MCS51 hanya bisa melaksanakan tiga jenis operasi logika yang ada, yakni intruksi ANL (AND Logical) untuk operasi AND instruksi ORL (OR Logical) untuk operasi OR, CPL (Complement bit) untuk operasi NOT.
Bit Carry pada PSW diperlakukan sebagai ‘akumulator bit’, dengan demikian operasi AND dan operasi OR dilakukan antara bit yang tersimpan pada bit Carry dengan salah satu dari 256 bit data yang dibahas di atas. Contoh dari instruksi-instruksi ini adalah :
ANL C,P1.1
ANL C,/P1.2

Instruksi ANL C,P1.1 meng-AND-kan nilai pada bit Carry dengan nilai Port 1 bit 1 (P1.1), dan hasil operasi tersebut ditampung pada bit Carry. Instruksi ANL C,/P1.1 persis sama dengan instruksi sebelumnya, hanya saja sebelum di-AND-kan, nilai P1.1 dibalik (complemented) lebih dulu, jika nilai P1.1=‘0’ maka yang di-AND-kan dengan bit Carry adalah ‘1’, demikian pula sebaliknya. Hal serupa berlaku pada instruksi ORL.
Instruksi CPL dipakai untuk membalik (complement) nilai semua 256 bit data yang dibahas di atas. Misalnya :
CPL C
CPL P1.0
CPL C akan membalik nilai biner dalam bit Carry (jangan lupa bit Carry merupakan salah satu bit yang ada dalam 256 bit yang dibahas di atas, yakni bit nomor $E7 atau PSW.7).

Posting Komentar untuk "Instruksi Mikrokontroller 3"

Profit Blogger
INCOME BLOGGER