Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

9
MODUL 6 procedure dan Macro Nama : Budiman Nim : K11110046 (Genap) Dosen : Dedi Triyanto ST,MT Sistem Komputer Universitas Tanjungpura Pontianak 2012 Lapora n Prakti kum Bahasa Rakita n

Transcript of Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Page 1: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

MODUL 6procedure dan Macro

Nama : BudimanNim :

K11110046 (Genap)Dosen : Dedi

Triyanto ST,MT

Sistem KomputerUniversitas Tanjungpura

Pontianak2012

TUGAS PRAKTIKUM MODUL 6

PROCEDURE DAN MACRO

Laporan

Praktikum

Bahasa Rakita

n

Page 2: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Program model procedure berikut diketik :

Analisa :

;Prosedur ini mencetak string,stringy haus null

;Terminated (ada nol diakhir string)

;Alamat string harus berada di register SI :

Print_me proc

Analisa :

print_me PROCnext_char:

Page 3: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

CMP b.[SI], 0 : check jjika nol ke stopJE stopMOV AL, [SI] : selanjutnya ambil karakter ASCIIMOV AH, 0Eh : Teletype nomor functionINT 10h : gunakan interrupt untuk mencetak karakter di AlADD SI, 1 : advance index dari string arrayJMP next_char : kembali dan cetak karakter lainnyastop:RET : kembali ke pemanggil procprint_me ENDPmsg DB 'PROCEDURE & MACRO', 0 : null terminated stringEND

Program model pustaka macro berikut diketik. Dan disimpan dengan nama file pustaka.mcr. (Menggunakan Text Editor)

Analisa :

pustaka.mcr

Page 4: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Cetak_Kar MACRO Kar, berfungsi sebagai inisialisasi penggunaan fungsi macro yang akan digunakan untuk memerintah proses percetakan kalimat pada eksekusi program view_pustaka.asm.

MOV AH,02h untuk mengisikan bilangan hexa 02h ke register AH sehingga register AH akan berisi bilangan hexa 02.

MOV DL,Kar akan memindahkan operand yang berupa parameter "Kar" menuju register DL sehingga register DL akan berisikan parameter "Kar" yang telah dikonversi kedalam hexadecimal.

INT 21h adalah INTERRUPT yang digunakan untuk akses servis servis fungsi dalam DOS

register AH sebelumnya telah terisi dengan bilangan hexa 02, maka nomor servis yang akan diakses adalah 02h

ENDM adalah opcode yang berfungsi untuk menghentikan MACRO dengan parameter "Kar".

Cetak_Klm MACRO Klm, merupakan inisialisasi penggunaan fungsi macro yang akan digunakan untuk memerintah proses percetakan kalimat pada eksekusi program view_pustaka.asm.

LEA DX,Klm berfungsi untuk mendapatkan alamat offset dari suatu source

MOV AH,09h untuk memindahkan operand yang berupa bilangan hexadecimal 09 menuju register AH sehingga register AH akan terisi dengan bilangan desimal 09.INT 21h merupakan INTERRUPT yang digunakan untuk akses servis servis fungsi dalam DOS.

INT 21h mempunyai banyak service dan dapat diakses dengan mencantumkan nomor service melalui register AH.

register AH sebelumnya telah terisi dengan bilangan hexa 09, maka nomor servis yang akan diakses adalah 09h

ENDM adalah opcode yang berfungsi untuk mengakhiri perintah macro dengan parameter "Kal"

perintah Cetak_Klm Kal0 dengan menggunakan perintah Cetak_Klm (Load dari file MACRO pustaka.mcr) kalimat yang terdapat pada offset

Page 5: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Kal0 akan dicetak yang mana perintah perintah percetakannya berasal dari perintah Cetak_Klm (Load dari file MACRO pustaka.mcr)

perintah Cetak_Kar 'Y' dengan menggunakan perintah Cetak_Kar (Load dari file MACRO pustaka.mcr) karakter 'Y' akan dicetak yang mana perintah perintah percetakannya berasal dari perintah Cetak_Kar (Load dari file MACRO pustaka.mcr)

Program yang merupakan model dari macro berikut diketik :

Analisa :

pustaka.asm

INCLUDE PUSTAKA.MCR berfungsi untuk melakukan memanggil file macro yang berlabel PUSTAKA.MCR yang sudah disimpan pada folder yang sama dengan nama PUSTAKA.ASM.

ORG 100h merupakan kode standarisasi pabrik untuk memulai scripting bahasa assembly.

Kal DB 'PENGGUNAAN PUSTAKA MACRO $' khusus untuk labelnya, KAL merupakan suatu offset yang berisi text 'PENGGUNAAN PUSTAKA MACRO $' tanda string ($) di ujung kalimat menyatakan akan ada sebuah karakter lain yang akan mengisi posisi string ini dimana perintah untuk mencetak karakter ini adalah "Cetak_Kar 'Y'" yang merupakan macro dari file PUSTAKA.MCR.

Page 6: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Cetak_Klm Kal berfungsi sebagai inisialisasi pemanggilan dari file PUSTAKA.MCR untuk menampilkan kalimat 'PENGGUNAAN PUSTAKA MACRO $' yang terdapat pada file VIEW_PUSTAKA_MACRO.ASM

Pada perintah Cetak_Kar 'Y' , tanda $ pada teks 'PENGGUNAAN PUSTAKA MACRO $' akan digantikan dengan karakter 'Y'

Program yang sudah dikompilasi di jalankan. Berikut berupa output tampilan yang dihasilkan pada layar.

Hasil compile Program No 1

Hasil compile Program No 3 dengan No 2 sebagai file .MCR

Page 7: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

Membuat masing-masing 1 program yang lain untuk model procedure dan macro.

PROGRAM PROCEDURE

SETELLAH DI COMPILE

MACRO

Page 8: Budiman-K11110046-Laporan Tugas Praktikum Bahasa Rakitan-Modul 6-Procedure Dan Macro

TAMPILAN SETELAH DICOMPILE