Anda di halaman 1dari 4

PRAKTIKUM MIKROPROSESOR DAN BAHASA RAKITAN

MENCETAK HURUF, KALIMAT, DAN ANGKA


TUJUAN
1. Mahasiswa mampu melakukan pemrograman assembly menggunakan Turbo
Assembler
2. Mahasiswa mampu membuat program assembly untuk mencetak huruf , kalimat, dan
angka
DASAR TEORI
Interupsi merupakan inti dari sebuah program assembly. Interupsi memungkinkan sebuah
program assembly untuk meminta komputer melakukan proses sesuai dengan nilai
register yang dipergunakan sebagai dasar interupsinya. INT 21h merupakan interupsi
!" ser#ice yang bersifat general atau umum. Tipe interupsi ini $ika dipanggil oleh
sebuah baris pada program assembly maka komputer akan mengecek data pada register
A%. Misal $ika A% & 2 maka komputer akan mencetak karakter sesuai dengan kode
A"'II pada register (. Maka untuk mencetak sebuah huruf langkah yang harus
dilakukan sebagai berikut )
1. Mengisi register A% dengan 2
2. Mengisikan kode A"'II yang akan dicetak ke register (
*. Men$alankan interupsi 21h
Mencetak huruf dengan atribut misal warna yang berbeda dapat dilakukan dengan
interupsi 1+h. ,ntuk melakukannya, maka langkah-langkahnya sebagai berikut )
1. Mengisi register A% dengan .
2. Mengisi register A( dengan kode A"'II yang akan dicetak
*. Mengisi register /% dengan nomor halamannya0isi dengan + untuk halaman ke-11
2. Mengisi register /( dengan warna yang diinginkan
3. Mengisi register '4 dengan banyaknya karakter yang akan dicetak
5. Melakukan interupsi 1+h
,ntuk mencetak beberapa karakter maka harus digunakan perulangan. 6erulangan dalam
bahasa assembly menggunakan register '4 sebagai counter atau pencacah
1
perulangannya. Instruksi yang dipergunakan yaitu (!!6. "etiap ditemui (!!6 maka
register '4 secara otomatis akan dikurangi nilainya dengan 1 sampai dengan '4 bernilai
+.
PROSEDUR PERCOBAAN
1. Mencetak h!"
Tuliskan program berikut ini pada te7t editor dan simpan sebagai file cetak.asm pada
folder yang sama dengan tasm.e7e.
;==========================================
; titel : mencetak huruf
; program : cetak_huruf.asm
; deskripsi :
; mencetak huruf dengan assembly
; - AH = 2
; - D = kode A!"## yang akan dicetak
; - run #$% 2&h
;==========================================
.Model Small
.Code
org 100h
cetak:
MOV AH,2 ; nilai ser'is utk cetak huruf
MOV DL,'A' ; karakter yg dicetak
IN 21h ; tampilkan karakter
IN 20h ; finish( kembali ke dos
!"d cetak
a. /uka command prompt dos.
b. 'ompile program menggunakan tasm dengan perintah berikut )
tasm cetak
c. (ingking file coba.ob$ menggunakan tlink dengan mengetikkan perintah berikut )
tlink8t cetak
d. 9alankan file cetak.com dan amati yang ter$adi pada layar Anda.
e. ,bah nilai ( men$adi :a:,:1:,:+:,:;:,:<:, *=, 5> dan amati yang ter$adi
#. Mencetak h!" $en%an at!&'t
a. Tulis source code program berikut ini pada te7t editor lalu compile ,linking, dan
$alankan hasilnya serta amati hasilnya dengan seksama.
2
;==========================================
; titel : mencetak huruf dengan atribut
; program : cetak_huruf_attr.asm
; deskripsi :
; mencetak huruf dengan atribut
; - AH = 09h
; - AL = Kode ASCII dari karakter yang akan dicetak
; - BH = Nomor halaman(0 untuk halaman 1)
; - BL = Atribut atau warna dari karakter yang akan dicetak
; - CX = Banyaknya karakter tersebut akan dicetak
;==========================================
.Model Small
.Code
org 100h
cetak:
MOV AH,09h ; Nilai servis untuk mencetak karakter
MOV AL,'A' ; AL = Karakter yang akan dicetak
MOV BH,00h ; Nomor Halaman layar
MOV BL,93h ; Warna atau atribut dari karakter
MOV CX,03h ; Banyaknya karakter yang ingin dicetak
INT 10h ; Laksanakan !!!
INT 20h ; Selesai ! kembali ke DS
!"d cetak
b. ,bah nilai /( men$adi ) 53, 12=, 1=+, 2++, 233, + dan amati yang ter$adi
(. Mencetak 'e'e!a)a ka!akte!
a. Tulis source code program berikut ini pada te7t editor lalu compile ,linking, dan
$alankan hasilnya serta amati hasilnya dengan seksama.
;==========================================
; titel : mencetak bbrp karakter
; program : cetak_ul_kar.asm
; deskripsi :
; mencetak beberapa karakter dengan loop
; - CX = loop counter
;==========================================
.Model Small
.Code
org 100h
cetak:
MOV AH,02h ; Nilai servis
MOV DL,'A' ; DL=karakter !A! atau DL="#$
MOV CX,10h ; Banyaknya %engulangan yang akan
Ulang :
INT 21h ; &etak karakter !!
INC DL ; 'amba$ DL dengan #
LOOP Ulang ; Lom%at ke (lang
INT 20h ; Selesai ! kembali ke DS
*
!"d cetak
b. ,bah nilai ( ke *2, 3+, >3 dan amati apa yang ter$adi
2

Anda mungkin juga menyukai