Upload
hugh
View
142
Download
11
Embed Size (px)
DESCRIPTION
Pemrograman Mikroprosesor. Procedure vs Macro. Macro hampir sama dengan dengan procedure Membantu dalam membuat program yang besar. Beberapa perbedaan Perbedaan Macro vs Procedure. Untuk menggunakan procedure : memanggil dengan perintah CALL dan diakhiri dengan RET - PowerPoint PPT Presentation
Citation preview
Pemrograman Mikroprosesor
Procedure vs Macro
• Macro hampir sama dengan dengan procedure
• Membantu dalam membuat program yang besar
Beberapa perbedaan Perbedaan Macro vs Procedure
• Untuk menggunakan procedure : memanggil dengan perintah CALL dan diakhiri dengan RET
• Macro bisa digunakan dengan memanggil langsung namanya dan tidak perlu diakhiri RET
• Pada procedure tidak bisa menggunakan parameter secara langsung
• Macro dengan mudah bisa menggunakan parameter, suatu ciri bahasa tingkat tinggi
• Setiap memanggil macro, maka seluruh isi macro akan dipindahkan pada program yang memanggilnya, sehingga mempercepat program
• Setiap pemanggilan procedure, komputer harus melakukan lompatan, sehingga memperlambat program
Kapan menggunakan Procedure/Macro?
• Jika fungsi tersebut jarang dipanggil, maka menggunakan macro karena tidak memperlambat proses
• Jika fungsi tersebut sering dipanggil, maka menggunakan procedure karena tidak memperbesar program
• Jika fungsi kecil, maka menggunakan macro, karena pengaruh terhadap besarnya program hanya sedikit dan program akan lebih cepat
• Jika fungsi besar, maka menggunakan procedure, karena procedure tidak memperbesar program
Procedure • Mencetak satu karakter:
.MODEL SMALL
.CODEORG 100H
PROSES: CALL Cetak_Kar ; Panggil Cetak_Kar INT 20H Cetak_Kar PROC NEAR MOV AH,02H MOV DL,'S' INT 21H ; Cetak Karakter RET ; Kembali kepada pemanggilCetak_Kar ENDP
ENDP PROSES
Macro• Mencetak satu karakter:
.MODEL SMALL
.CODEORG 100H
Cetak_Kar Macro Kar MOV AH,02h MOV DL,Kar
INT 21HENDM
PROSES: Cetak_Kar 'S' INT 20hENDP PROSES
Membuat macro untuk menghitung LUAS sebuah segitiga.DATAALAS DB 10TINGGI DB 50LUAS DW 1 DUP(?) .CODESEGITIGAMACRO VAR1,VAR2,VAR3
PUSH AX MOV AH,0 MOV AL,VAR1 MOV BL,2
DIV BL MUL VAR2 MOV VAR3,AX
POP AX ENDM SEGITIGA ALAS,TINGGI,LUAS
Using The Keyboard and Video Display
• Microprocessor dapat menerima input dari user melalui keyboard
• menampilkan output melalui display (layar komputer)
• semua karakter yang diketikkan di keyboard diterima oleh mikroprosesor dalam ASCII
• jika ingin menampilkan sebuah karakter ke display, maka mikroprosesor harus mengirimkannya ke display dalam kode ASCII (lihat Table 1-8)
• Proses ini menggunakan DOS Function Calls yaitu melalui interrupt 21 (INT 21H).
• Sebelum interrupt dijalankan, maka harus dipilih function yang diinginkan dari yang tersedia function nomer 00H sampai 0CH
Membaca input dari Keyboard
• Membaca 1 buah karakter dari Keyboard dan menampilkannya ke Display (yang diketik dapat dilihat di display)
Contoh program: MOV AH,01HINT 21h
Membaca input dari Keyboard
• Membaca sebaris karakter sampai ditekan ENTER (ASCII 0DH)
Contoh Program :.DATA TIGA DB 257 DUP (?) .CODEMOV TIGA,255 MOV DX,OFFSET TIGAMOV AH,0AHINT 21H
Menampilkan output ke Display
• Menampilkan 1 buah karakter ke Display (dari register tertentu)
Contoh Program :MOV DL,’A’MOV AH,02HINT 21HMOV DL,42HINT 21H
Menampilkan output ke Display
• Menampilkan sebaris karakter sampai ditemui karakter $ (ASCII 24H) dari lokasi memori tertentu
Contoh Program :.DATA LIMA DB ‘KULIAH MIKROPROSESOR$’ .CODE MOV DX,OFFSET LIMAMOV AH,09HINT 21H
Contoh Program
• Mandapatkan input berupa nama, alamat dan nomor telpon mahasiswa dan menyimpannya di dalam NAMA, ALAMAT dan TELP dan menampilkannya kembali