Oh iya, ada satu suplement penting yang tidak boleh tertinggal, yaitu DATASHEET dari IC PiC yang akan kita pakai, dan juga MPASMx User Manual dari microchip. Keduanya bisa di download dari websitenya Microchip. Format PDF.
Sekilas tetnag Source Code dan compiling
Dalam membuat project, MPASM memberikan kita 2 pilihan, ABSOLUTE code dan RELOCATABLE code.
Gampangnya, Absolute code itu kita menuliskan semua kode dan identifier dalam satu file. Jadi semua deskripsi, baik itu alamt register, perintah, dll ditulis dalam satu file asm, kemudian di compilasi, dan jadilah file HEX. Sedangkan Relocatable adalah modular. source code bisa dikelompokan menjadi library libray, dan nanti ketika kita akan memakainya, tinggal di link-kan dengan MPLINK.
Disini kita akan gunakan yang lebih mudah saja, yaitu yang mode ABSOLUTE. jadi silahkan MPLAB-nya diseting dengan model ABSOLUTE. bagi yang ingin tau lebih dalam, silahkan merujuk ke MPASM user manual (DS33014L) halaman 50.
Bentuk SOURCE code ASM.
Source code asm pada MPLAB project berisi 4 kolom info:
- LABEL
- MNEMONICS, DIRECTIVES, dan MACRO
- OPERAND
- KOMENTAR
Ke empat info tsb dipisahkan dengan MINIMAL SATU SPASI.
jadi, susunannya akan sepert:
LABEL [spasi] MNEMONICS [spasi] OPERANDS [spasi] KOMENTAR.
Komentar bersifat additional saja, untuk mempermudah. Sedangkan label, biasanya digunakan untuk menjadi acuan untuk perintah JUMP.
Berikut contoh dari sebuah SOURCE code ASM:
LABEL, digunakan untuk merepresentasikan sekumpulan baris atau grup perintah. Terkadang, label di akhiri dengan titik dua (
. Ketentuan Label: tidak boleh diawali dengan angka, maksimal 32 karakter, dan defaultnya Case sensitive, Artinya, "LaBEL" dengan "label" adalah beda.
MNEMONICS adalah sebuah syntax yang memerintahkan assembler untuk menyusun perintah micocontroller. Ia adalah sebuah intruksi yang dimengerti oleh assembler (MPASM) untuk membuat susunan instruksi mesin. COntohnya adalah ADD, MOVLW, INCF, GOTO, dll. SEMUA intruksi MNEMONIC ada di datasheet IC pic pada bagian INSTRUCTION SET.
OPERANDS adalah data atau informasi yang digunakan oleh MNEMONICS. Misal kita perintahkan pic untuk meng-ADD, maka pasti akan ada angka berapa yang akan di ADD-kan. Bilangan tersebut adalah Operands.
Contoh, ADDLW 0xF2, asrtinya ADD W dengan bilangan Literal 0xF2. nah, 0xF2 ini adalah sebuah OPERANDS.
Komentar, harus selalu diawali dengan semicolon (
Semua yang DISEBALAH KANAN semikolon adalah komentar dan akan diabaikan oleh compiler. Komentar ini sifatnya untuk memudahkan dalam pembacaan Source code oleh kita sendiri.
RADIX.
Dalam penulisan konstan numerik, mpasm menggunakan tanda:
- Titik (.) atau D untuk desimal. Contoh .9 atau D'10. Ini berati angka tersebut dalam basis 10 atau desimal.
- B' untuk Binary. Contoh B'1010110
- O' untuk OCTAL. contoh O'7634.
- A' atau ' untuk ASCII. Contoh 'B', atau A'Z
- 0x atau H untuk hexsadesimal. Contoh 0x2F atau H'0D
Tobe continued, insyaa Allah
[/list]