Mencoba Digital I/O Menggunakan Assembly di AVR Studio …(2)
Penggunaan ROL (Rotate Left Through Carry)
Sesuai dengan kepanjangannya berfungsi mengeser nilai ke sebelah kiri dan menyimpannya ke dalam carry (di status register) kemudian meletakkan di sebelah kanan. Siklus perintah ROL dapat dilihat seperti gambar di bawah.

siklus tersebut berjalan dalam 2 langkah, berikut code dalam AVR
CLC digunakan untuk meng-set Carry bernilai 0
Cara kerja yang sama juga terjadi jika kita menggunakan perintah ROR (Rotate Right Through Carry)
Code di atas dapat dijelaskan sebagai berikut :
- Mengisi / inisialisasi register (r16) dengan nilai 0xFF (lihat pada datasheet)
- Menulis ddrb dengan nilai pada r16
- Melakukan perintah X-OR pada nilai r16 dengan dirinya sendiri, sehingga nilai r16 = 0×00 (menghasilkan 0 jika nilai sama dan 1 jika nilai berbeda)
- Meng-set Carry dengan nilai 1
- Menulis portb dengan r16 (sekarang bernilai 0)
- Mengeser ke kanan nilai dari Carry (bernilai 1) ke dalam register (r16)
Advertisement
Categories: Mikrokontroler


recent comments