Perintah Rotasi Pemrograman Mikrokontroler

Perintah Rotasi

Perintah rotasi memungkinkan rotasi dari konten akumulator. Ada empat perintah rotasi: RR, RL, RLC, RRC.

RR A (Rotasi Akumulator ke Kanan)

Konten dari akumulator dirotasikan sebanyak 1 bit ke kanan. Bit 0 berpindah ke posisi bit 7 sebagaimana ditunjukkan gambar dibawah :

RR A

Sebagai contoh, jika akumulator mengandung 1000 0000B, maka setelah perintah RL A, hasil dalam akumulator akan menjadi 0000 0001B. Tidak ada flag yang akan terpengaruh.

RL A (Rotasi Akumulator ke Kiri)

Konten dari akumulator dirotasikan ke kiri sehingga bit 7 berpindah ke posisi bit 0. Sebagaimana ditunjukkan gambar di bawah:

RL A

Sebagai contoh, jika akumulator mengandung 1000 0000B, maka setelah perintah RL A, hasilnya akan menjadi 0000 0001B. Tidak ada flag yang terpengaruh.

RRC A (Rotasi Akumulator ke Kanan melalui Carry)

Perintah ini merotasikan akumulator ke kanan sebanyak 1 bit sedemikian rupa sehingga bit 0 berpindah ke flag Carry dan flag Carry berpindah ke posisi bit 7. Sebagaimana ditunjukkan gambar dibawah:

RRC A right

Sebagai contoh, jika flag Carry diatur dan akumulatornya mengandung 0000 1110 B, maka setelah perintah RRC A, akumulator akan mengandung 1000 0111B dan flag Carry akan menjadi ‘0’.

RLC A (Rotasi akumulator ke Kiri melalui Carry)

Perintah ini merotasi akumulator ke kiri sebanyak 1 bit sedemikian rupa sehingga bit 7 berpindah ke flag Carry dan flag Carry berpindah ke posisi bit 0. Lihat gambar di bawah:

RRC A left

Sebagai contoh, jika flag Carry adalah ‘0’ dan akumulatornya mengandung 1000 1111 B, maka setelah RRC A akumulatornya akan mengandung 0001 1110B dan flag Carry akan berubah menjadi ‘1’. Hanya flag Carry yang terpengaruh.

Kita dapat merotasi melalui Carry dalam sebuah loop beberapa kali; sebagai contoh, perhatikan program berikut untuk merotasi akumulator ke kanan melalui Carry sebanyak 5 kali. Akumulatornya akan mengandung 1000 0000B sebelum perintah RRC, dengan C flag ‘1’. Penghitungan dari 05 akan di-load dalam register R1.

RLC A progr

Setelah pengeksekusian program, akumulator akan mengandung 0000 1100B dan flag Carry akan menjadi ‘0’

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.