Instruksi Boolean Instruksi Percabangan Mode Pengalamatan

c. Instruksi Aritmatika

Instruksi aritmatika merupakan instruksi dasar dalam setiap komputer, dimana terdiri dari operasi dasar matematika seperti penjumlahan ADD, pengurangan SUB, perkalian MUL, pembagian DIV. Operasi lainnya adalah penambahan 1 isi register INC dan pengurangan 1 isi register DEC. Tabel 2.4 Instruksi Aritmatika

d. Instruksi Boolean

Mikrokontroler seri 51 dari Atmel memiliki sebuah prosesor boolean yang lengkap bit tunggal. RAM internal memiliki 256 bit yang dapat dialamati dan SFR mempunyai 256 bit yang dapat dialamati lainnya. Semua port merupakan bit yang dapat dialamati dan dapat diperlakukan sebagai port bit tunggal yang terpisah. Instruksi yang mengakses bit-bit ini tidak hanya untuk percabangan bersyarat, namun juga meliputi instruksi-instruksi seperti MOV, SET, CLR clear, CPL complement, OR dan AND Tabel 2.5 Instruksi Boolean

e. Instruksi Percabangan

Percabangan program digunakan untuk mengontrol jalannya program, termasuk pemanggilan dan kembali dari subrutin atau percabangan. ix. Sub-Rutin dan Interupsi Sub-rutin dan interupsi dibagi menjadi beberapa kelompok diantaranya adalah instruksi CALL, RET dan RET1. Perintah CALL untuk pemanggilan sebuah sub-rutin terdiri dari ACALL Absolute Call dan LCALL Long Call. Assembler menafsirkan perintah CALL sama seperti perintah JMP. Perintah CALL akan menyimpan program counter ke stack dan mengambil ketika sub- rutin selesai atau RET. Sedangkan RET1 digunakan untuk kembali dari interrupt service rutin. Jika tidak ada interupt lain yang menunggu, maka RET1 berfungsi seperti RET.

x. Mode Pengalamatan

Dalam pembuatan program, data atau operan bisa berada di tempat yang berbeda. Untuk mengakses data atau operasi tersebut cara yang digunakan adalah menggunakan mode pengalamatan addressing mode. Mode pengalamatan terbagi menjadi beberapa macam, yaitu : 1. Mode pengalamatn segera immediate addressing mode Proses pengalamatan ini terjadi pada sebuah perintah yang nilai operan merupakan data yang akan diproses. Operan tersebut diawali dengan tanda ‘’. Contoh : MOV A,30h Instruksi ini berarti data yang didefinisikan yaitu 30h disalin ke akumulator A. 2. Mode pengalamatan langsung direct addressing mode Mode ini digunakan untuk menunjukkan data yang berada di suatu lokasi memori dengan cara menyebut lokasi memori tempat data tersebut berada. Contoh : MOV A,50h Instruksi diatas berarti bahwa data yang berada di dalam memori dengan lokasi 50h di salin ke akumulator. 3. Mode pengalamatan tidak langsung indirect addressing mode Pengalamatan dengan cara menaruh alamat yang dimaksud ke suatu register dalam hal ini, khususnya register R0 dan R1. Contoh : MOV A, R1 Isi memori yang alamat ditunjukkan oleh isi register 1 disalin ke akumulator A. 4. Mode pengalamatan register register addressing mode Mode pengalamatan ini melibatkan register. Contoh : MOV A,R5 Instruksi ini berarti bahwa data dalam register R5 disalin ke akumulator A 5. Mode pengalamatan kode tidak langsung code indirect addressing mode Pengalamatan ini digunakan untuk memori program. Contoh : MOV C, A+DPTR Instruksi ini menggunakan ‘move’ untuk membedakan bahwa instruksi ini digunakan untuk memori program. Tanda’’ menandai A+DPTR yang berfungsi untuk menyatakan lokasi memori yang isinya disalin kedalam akumulator. xi. Assembler Directives Assembler directives adalah instruksi-instruksi yang ditujukan kapada program assembler sebagai suatu arahan dalam mengubah program yang ditulis ke dalam bahasa assembly ke bahasa mesin. Dibawah ini adalah beberapa contoh dari assembler directives. 1. ORG set Origin, yaitu menyeting awal dari suatu program. Sintaks penulisan ORG adalah : ORG ekspresi Contoh : ORG 100h . . . . Program diatas artinya adalah set awal lokasi program ke alamat 100h dan mulai baris program di alamat 100h. 2. END, yaitu akhir dari suatu program, tidak ada baris program lagi yang akan dieksekusi setelah directive ini. Contoh : . . . . . ; baris instruksi terakhir END ; akhir program 3. DB difine byte, digunakan untuk memberi nilai tertentu pada memori di lokasi tersebut. Contoh : ORG 300 DB 50h, 51h Pengarah assembler DB terletak dibawah ORG 300h. sehingga data 50h dan 51h akan menempati lokasi 300h dan 301h. 4. EQU, digunakan untuk mendefinisikan sebuah simbol assembler secara bebas. Sintaks penulisan EQU adalah : Simbol EQU Ekspresi Contoh : BILANGAN EQU 30H MOV A, BILANGAN Pada perintah diatas, akumulator diisi konstanta ‘bilangan’. Konstanta ini didefinisikan sebelumnya dengan nilai 50h dengan menggunakan pengarah assembler EQU.

2.9 Program DT-HiQ AT89 USB ISP