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