Breaking News

Thursday 16 October 2014

BELAJAR ASSEMBLER

MODUL PRAKTIKUM ASSEMBLER

I. Emulator EMU8086

EMU8086 merupakan emulator untuk prosesor 8086 yang sudah dilengkapi dengan editor dan assembler yang bersifat GUI (graphical user interface). Dengan EMU8086 internal register dapat diamati dari waktu ke waktu akibat dari eksekusi suatu instruksi assembly.

Tampilan Awal Emu8086

Selain menggunakan Empty workspace kita perlu mengetahui pembuatan program menggunakan COM dan EXE. Berikut ini merupakan perbedaannya:

PROGRAM COM :

  • Lebih pendek dari file EXE
  • Lebih cepat dibanding file EXE
  • Hanya dapat menggunakan 1 segmen
  • Ukuran file maksimum 64 KB (ukuran satu segment)
  • sulit untuk mengakses data atau procedure yang terletak pada segment yang lain.
  • 100h byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.
  • Bisa dibuat dengan DEBUG

PROGRAM EXE :

  • Lebih panjang dari file COM
  • Lebih lambat dibanding file COM
  • Bisa menggunakan lebih dari 1 segmen
  • Ukuran file tak terbatas sesuai dengan ukuran memory.
  • mudah mengakses data atau procedure pada segment yang lain.
  • Tidak bisa dibuat dengan DEBUG

II. Awal penulisan program

Setelah membuka aplikasi EMU8086 dan memilih empty workspace, maka kita akan menuliskan coding yang akan kita simulasikan dan untuk mengetahui output dari coding yang kita buat. Dalam penulisan coding ada beberapa aturan yang harus kita ikuti dan untuk mendapatkan hasil yang maksimal, Seperti gambar berikut:

PRAKTIKUM ASSEMBLER

Dalam penulisan program bagian atas merupakan bagian untuk melakukan bagian identifikasi dan setting ( diluar tanda ; dan tulisan karakter berwarna hijau  karena karakter warna hijau merupakan tanda informasi program maupun informasi tiap-tiap instruksi). Berikut ini penjelasan untuk memulai penulisan coding.

.MODEL SMALL

.CODE

ORG 100H

Pada .MODEL SMALL ini merupakan tanda directive untuk memberi tahu kepada assembler bentuk memory yang kita gunakan dalam program yang kita buat. Adapun macam-macam model sebagai berikut:

a. TINY

Program hanya menggunakan 1 segment.

b. SMALL

Data dan code yang digunakan oleh program kurang dari 1 segment atau 64 KB.

c. MEDIUM

Data yang digunakan kurang dari 64 KB tetapi code yang digunakan lebih dari 64 KB.

d. COMPACT

Data yang digunakan lebih dari 64 KB tetapi code yang digunakan kurang dari 64 KB.

e. LARGE

Data dan Code yang digunakan lebih dari 64 KB.

f. HUGE

Data dan Code maupun Array yang digunakan lebih dari 64 KB.

Sedangkan untuk

.CODEmerupakan directive untuk memberitahu ke Assembler bahwa kita menggunakan code segmentnya disini, code segment digunakan untuk menyimpan program yang nantinya akan dijalankan. Sedangkan ORG 100h perintah ini akan selalu digunakan untuk memberitahukan assembler supaya program pada saat dijalankan ditaruh pada offset 100h (255) byte atau dengan kata lain kita menyediakan memory kosong 100h byte pada saat program dijalankan.

PRAKTIKUM ASSEMBLER

I. Praktikum I

Mencetak Huruf menggunakan INT10.

Buatlah coding seperti berikut.

Setelah selesai simpan file dengan ekstensi *.asm dan selanjutnya klik menu emulator dan akan muncul tampilan seperti berikut:

Setelah itu ada 2 windows baru yang menunjukkan informasi source code dan menu emulator. Kemudian klik Run untuk menjalankan emulator sehingga muncul command DOS yang akan menampilkan hasil code yang kita buat. Berikut tampilan setelah melakukan klik Run.

II. Praktikum II

Mencetak karakter A ~ P dengan INT 21h pada service 02

Tuliskan coding dibawah berikut kedalam Emu8086

Analisa hasilnya dan pelajari logika perulangannya. Selanjutnya buatlah program yang akan menampilkan A ~ Z dan kebalikannya Z ~ A

(Praktikum V)

III. Praktikum III

Operasi penambahan dengan hasil akhir sebagai berikut untuk masing-masing nilai AX = ACF2h ,BX = 9ABCh ,CX = 3568h ,DX = DEF0h

Hasil dari program adalah sebagai berikut:

Untuk mendapatkan nilai hasil penambahan, setelah klik run makan kita klik debug untuk mengetahui nilainya.

IV. Praktikum IV

Pengurangan 122EFFF - 0FEFFFF Hasil adalah 0023ff00

Warna kuning merupakan hasil High dan warna hijau adalah hasil Low

Hasil emulator sebagai berikut:

Output yang akan ditampilkan adalah nilai AX

V. Praktikum V

Pada praktikum ke V ini merupakan pengembangan yang sudah ada pada praktikum ke II, akan tetapi pada praktikum ini kita akan mencoba untuk menampilkan karakter dengan sedikit berbeda. Silahkan ketikkan code berikut ini:

No comments:

Post a Comment

Designed By