:: Assembler Programming ASM51 Part-1

Posted on 02.20 | By yusup.1a113034 | In

Penulisan Program dan Compiling


Program ditulis dengan menggunakan aplikasi yang dimiliki oleh Windows yaitu Notepad atau Wordpad. Dapat juga digunakan editor teks lainnya seperti editor pascal dan basic. Namun dalam percobaan-percobaan yang akan dilakukan kita menggunakan Notepad.

Program yang ditulis harus mengikuti aturan-aturan dan sintaks yang disyaratkan oleh suatu compiler. Compiler adalah suatu program yang berfungsi merubah bahasa asembler menjadi bahasa mesin. Proses merubah bahasa asembler menjadi bahasa mesin disebut sebagai kompilasi. Program Compiler yang digunakan adalah 51XASM.EXE. Tampilan program 51XASM adalah sebagai berikut :



Gambar 11

Tampilan Compiler 51XASM

Aturan dan Sintaks Penulisan Program.

Untuk membuat sebuah program, anda hanya harus mengikuti dua peraturan:

1. LABEL harus dimulai di column SATU(1)

2. Setiap OPERAND/VARIABLE harus dipisahkan dari operand/variable lainnya dengan sedikitnya SATU(1) SPACE.

Untuk memberikan COMMENT/KOMENTAR diprogram anda, anda harus mendahului COMMENT/KOMENTAR anda dengan huruf ;

Contoh:

; contoh program, LABEL LOOP dimulai di column satu(1)

; line ini and line sebelumnya adalah COMMENT

LOOP: MOV A, R0 ; A = R0

MOV A, R1 ; A = R1

dst....

Compiler 51XASM yang digunakan mengenal dua macam tipe operands/variables:

1. Variable/operand tipe ANGKA/DIGIT

Tipe ini bisa dalam bentuk hexadecimal(base 16), decimal(base 10), atau binary(base 2). Compiler

51XASM membedakan dari berbagai macam format untuk tipe ANGKA/DIGIT berdasarkan huruf

terakhir dari operand ini. Contoh:

01010011B - Binary, = 53 Hexadecimal = 83 Decimal

53H - Hexadecimal, = 01010011 Binary = 83 Dec.

83 - Decimal, = 53 Hexadecimal = 01010011 Bin.

Format angka HEXADECIMAL mempunyai komponen 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, dan F; kalau angka HEXADECIMAL anda dimulai dengan A, B, C, D, atau F, tambahkan angka 0 di depan

angka anda. Tujuan langkah diatas adalah untuk membedakan tipe ANGKA/DIGIT dengan tipe lainnya. Contoh:

0AAH - Hexadecimal, = 10101010 Binary = 170 Dec.

0B5AH - Hexadecimal, = 101101011010 Binary = 2906

Untuk menspesifikasi angka hexadecimal, tambahkan huruf H di belakang; untuk menspesifikasi angka binary, tambahkan huruf B dibelakang angka anda; untuk menspesifikasi angka decimal ti-

dak diperlukan tambahan apapun(default).

Untuk memspecifikasi angka NEGATIVE tambahkan huruf – didepan angka anda; contoh:

-55 - Negative 55 Decimal, = C9H = 11001001B

-0AAH - Negative AA Hex, = 56H = 01010110B

Angka NEGATIVE anda akan disimpan dalam bentuk/format yang standard, yaitu dalam format TWO'S COMPLEMENT. Semua definisi/features 51XASM mengikuti standard industri; jadi program assembly anda bisa di-assembled oleh CROSS ASSEMBLER yang lain yang juga industri standard.

2. Variable/operand tipe SYMBOLIC

Dengan adanya tipe ini, desain program assembly akan relatif lebih mudah; huruf pertama dari variable/operand tipe ini harus dimulai oleh huruf alphabet(a .. z atau A .. Z). Contoh:

PORT_SATU

STATUS_KONDISI

TRANSMIT_BIT

PORT_DUA

REGISTER_DATA

dll.....

Pemakaian variable/operand tipe diatas itu tergantung dari faktor-faktor lainnya; Variable tipe diatas bisa dipakai sebagai definisi untuk ADDRESS, definisi untuk REGISTERS, definisi untuk RAM, definisi untuk PORT, atau definisi untuk BIT operand; tipe diatas bisa juga dipakai sebagai definisi untuk CONSTANT.

Hal lain yang perlu diperhatikan adalah ada beberapa symbolic operand/variable yang telah dipakai/ditetapkan sebagai symbolic operand/variable yang standard. Jadi tidak boleh lagi dipakai oleh anda sewaktu anda mendesain program assembly anda.

Prosedur Compiling.

Program asembler yang ditulis dengan Notepad harus di-save dengan extension *.H51. Program tidak akan bisa dicompile bila tidak di-save dengan extension H51. Lalu ikuti prosedur kompilasi sebagai berikut :

1. Aktifkan program 51XASM dengan cara double click.

2. Tulislah nama file yang akan dicompile pada baris terbawah (misalnya coba.h51)

3. Perhatikan pada saat proses kompilasi sedang dilakukan, terbentuk 2 file baru yang masing-masing berextension *.PRN dan *.HEX. File dengan extension PRN adalah file report untuk mencari letak kesalahan aturan dan sintaks program. Sedangkan File dengan extension HEX adalah file yang berisi bahasa mesin dengan standard format INTEL yang akan kita download ke dalam chip mikrokontroler.

4. Diakhir proses kompilasi, apakah ada pesan error yang terjadi akibat adanya kesalahan sintaks penulisan program. Jika tidak ada pesan error, langsung menuju langkah 6.

5. Jika ada pesan error, buka file yang berextension *.PRN (coba.prn). Gunakan fasilitas find yang terdapat pada menu search program Notepad. Tulis kata kunci “e r r” untuk mencari dengan cepat di baris mana letak terjadinya kesalahan aturan dan sintaks penulisan program. Lakukan perbaikan, dan simpan kembali. Lakukan kembali langkah 1.

6. Program bahasa mesin (coba.hex) siap untuk di-download atau ditulis ke dalam chip mikrokontroler dengan menggunakan alat yang bernama programmer atau writer.

Prosedur download/writing.

Program yang sudah dicompile dan bersih dari error siap untuk ditulis ke dalam chip mikrokontroler. Programmer yang digunakan adalah ALL-11 Programmer





Comments (0)

Posting Komentar