Download - Pemrograman Mikroprosesor
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