Minggu, 07 Desember 2014

Implementasi Macros pada bahasa Assembly

     Posting kali ini tentang Macros. Macros dapat membantu dalam membuat program yang besar. Bentuk macros adalah seperti berikut:
NamaM     MACRO [P1,P2,..]
               +-------------------+
               |  Program            |
               +-------------------+
ENDM

     P1 dan P2 adalah parameter yang bisa kita gunakan dalam macro. Berikut contoh program menggunakan macro.
























dan ini tampilan yang akan dihasilkan.














contoh program lain yang menggunakan macro










































































dan ini hasil outputnya















     Sekian dulu post kali ini. Semoga bermanfaat.

Selasa, 02 Desember 2014

Stack (Tumpukan)

     Posting lagi ah, ya ngga jauh - jauh dari tugas sih. Kali ini saya akan posting tentang stack. Apa sih stack itu? Ok, langsung simak aja y.

    Stack bisa diterjemahkan secara bebas sebagai "tumpukan". Stack merupakan bagian memory yang digunakan untuk menyimpan nilai dari suatu register untuk sementara. Operasi - operasi assembler yang langsung menggunakan stack misalnya PUSH, POP, PUSHF, POPF.
   
     Berikut contoh program assembly penggunaan stacks.



















     Pada perintah LEA DX,kal kita mendapatkan alamat efektif dari kal. Kemudian perintah PUSH DX akan menyimpan nilai dari register DX yang menunjuk offset "kal" ke dalam variable stacks.

Perintah MOV,09 merupakan nilai servis untuk mencetak karakter.
Perintah INT 21h untuk menampilkan ke monitor.
Perintah LEA DX,ganti untuk mendapatkan nilai efektif dari "ganti" kemudian tampilkan ke layar dengan INT 21h. Nilai dari "ganti" adalah 13,10 merupakan kode untuk ganti baris.

Perintah POP DX akan mengeluarkan nilai dari DX yang tersimpan pada stacks. Kemudian mencetak ke monitor dengan perintah INT 21h.

     Hasil dari program diatas seperti berikut.



 





    Sekian posting dari saya, semoga bermanfaat.