Kamis, 21 Januari 2021

Belajar Program Assembler bagi pemula


 

Wow kalian sudh sampai tahap ini yuk pahami secara detail karna ini cukup penting dalam pembuatan program mikroprosesor ^_^

Assembler (penerjemah) ialah cara yg paling efektif untuk menterjemahkan program bahasa assembly ke bahasa mesin, dan assembler ini sudah tersedia dalam sisten mikrokomputer tersebut . Tapi jika kamu pemula atau programer yg dimana belum mengenal sistem pengembangan mikrokomputer tersebut dapat juga menterjemahkan program secara manual. Bagi kami yg belum tau Berikut prosedurnya ^_^ :

1. Menerjemahkan setiap instruksi instruksi (mnemonic) kedalam kode mesin berdasarkan tabel konversi.
2. Setelah menentukan alamat dari awal program (yang berada pada alamat RAM pemakai), tentukan alamat yang sesuai untuk byte pertama masing masing instruksi. Jumlah byte yang dibutuhkan harus disediakan secara tepat termasuk jug byte-byte yang diisi kemudian, misalnya dalam instruksi JP,DJNZ serta address tujuan pada instruksi JP, CALL dll.
3. Menghitung percabangan reatif dan mengisikannya ke dalam program yang telah ditulia dalam bahasa mesin. Rumus sederhana untuk menghitung pecabangan relatif (pergeseran)
PERGESERAN = (ALAMAT TUJUAN) - (ALAMAT INSTRUKSI BERIKUTNYA)
Jika hasil perhitungan adalah positif maka hasil perhitungan tersebut adalah nilai yang kita isikan. Jika hasil perhitungan adalah negatif maka tambahkan 100H pada hasil tersebut (akan diperoleh nilai komplemen keduanya) dan hasil akhirnya merupakan hasil yang dapat kita isikan. Atau bila hasilnya negatif maka dikompemenkan ada ditambahkan satu. Misalnya pada instruksi DJNZ label,Addres tujuannya berada pada 0002H,address instruksi berikutnya (addres setelah instruksi DJNZ) adalah 1016H, instruksi DJNZ kode bahasa mesinnya adalah 10xx (xx adaah instruksi pergeseran yang harus dihitung).
xx (pergeseran) = 0002H (address tujutan) - 1016H (address instruksi selanjutnya) = -14H
xx (pergeseran) = 100H + (-14H) = 100 - 14H = ECH, sehingga instruksi DJNZ label tersebut diterjemahkan kedalam kode mesinnya ialah 10ECH

Tidak ada komentar:

Posting Komentar