4_praktikum mencetak huruf dan karakter

4
1 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 DOS service yang bersifat general atau umum. Tipe interupsi ini jika dipanggil oleh sebuah baris pada program assembly maka komputer akan mengecek data pada register AH. Misal jika AH = 2 maka komputer akan mencetak karakter sesuai dengan kode ASCII pada register DL. Maka untuk mencetak sebuah huruf langkah yang harus dilakukan sebagai berikut : 1. Mengisi register AH dengan 2 2. Mengisikan kode ASCII yang akan dicetak ke register DL 3. Menjalankan interupsi 21h Mencetak huruf dengan atribut misal warna yang berbeda dapat dilakukan dengan interupsi 10h. Untuk melakukannya, maka langkah-langkahnya sebagai berikut : 1. Mengisi register AH dengan 9 2. Mengisi register AL dengan kode ASCII yang akan dicetak 3. Mengisi register BH dengan nomor halamannya(isi dengan 0 untuk halaman ke-1) 4. Mengisi register BL dengan warna yang diinginkan 5. Mengisi register CX dengan banyaknya karakter yang akan dicetak 6. Melakukan interupsi 10h Untuk mencetak beberapa karakter maka harus digunakan perulangan. Perulangan dalam bahasa assembly menggunakan register CX sebagai counter atau pencacah perulangannya.

Upload: eko-nopyanto

Post on 29-Dec-2015

76 views

Category:

Documents


19 download

DESCRIPTION

pert4

TRANSCRIPT

Page 1: 4_Praktikum Mencetak Huruf Dan Karakter

1

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

DOS service yang bersifat general atau umum. Tipe interupsi ini jika dipanggil oleh

sebuah baris pada program assembly maka komputer akan mengecek data pada register

AH. Misal jika AH = 2 maka komputer akan mencetak karakter sesuai dengan kode

ASCII pada register DL. Maka untuk mencetak sebuah huruf langkah yang harus

dilakukan sebagai berikut :

1. Mengisi register AH dengan 2

2. Mengisikan kode ASCII yang akan dicetak ke register DL

3. Menjalankan interupsi 21h

Mencetak huruf dengan atribut misal warna yang berbeda dapat dilakukan dengan

interupsi 10h. Untuk melakukannya, maka langkah-langkahnya sebagai berikut :

1. Mengisi register AH dengan 9

2. Mengisi register AL dengan kode ASCII yang akan dicetak

3. Mengisi register BH dengan nomor halamannya(isi dengan 0 untuk halaman ke-1)

4. Mengisi register BL dengan warna yang diinginkan

5. Mengisi register CX dengan banyaknya karakter yang akan dicetak

6. Melakukan interupsi 10h

Untuk mencetak beberapa karakter maka harus digunakan perulangan. Perulangan dalam

bahasa assembly menggunakan register CX sebagai counter atau pencacah perulangannya.

Page 2: 4_Praktikum Mencetak Huruf Dan Karakter

2

Instruksi yang dipergunakan yaitu LOOP. Setiap ditemui LOOP maka register CX secara

otomatis akan dikurangi nilainya dengan 1 sampai dengan CX bernilai 0.

PROSEDUR PERCOBAAN

1. Mencetak huruf

Tuliskan program berikut ini pada text editor dan simpan sebagai file cetak.asm pada

folder yang sama dengan tasm.exe.

;==========================================

; titel : mencetak huruf

; program : cetak_huruf.asm

; deskripsi :

; mencetak huruf dengan assembly

; - AH = 2

; - DL = kode ASCII yang akan dicetak

; - run INT 21h

;==========================================

.Model Small

.Code

org 100h

cetak:

MOV AH,2 ; nilai servis utk cetak huruf

MOV DL,'A' ; karakter yg dicetak

INT 21h ; tampilkan karakter

INT 20h ; finish, kembali ke dos

End cetak

a. Buka command prompt dos.

b. Compile program menggunakan tasm dengan perintah berikut :

tasm cetak

c. Lingking file coba.obj menggunakan tlink dengan mengetikkan perintah berikut :

tlink/t cetak

d. Jalankan file cetak.com dan amati yang terjadi pada layar Anda.

e. Ubah nilai DL menjadi ’a’,’1’,’0’,’!’,’#’, 38, 67 dan amati yang terjadi

2. Mencetak huruf dengan atribut

a. Tulis source code program berikut ini pada text editor lalu compile ,linking, dan

jalankan hasilnya serta amati hasilnya dengan seksama.

;==========================================

Page 3: 4_Praktikum Mencetak Huruf Dan Karakter

3

; 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 DOS

End cetak

b. Ubah nilai BL menjadi : 65, 128, 180, 200, 255, 0 dan amati yang terjadi

3. Mencetak beberapa karakter

a. Tulis source code program berikut ini pada text editor lalu compile ,linking, dan

jalankan 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=41h

MOV CX,10h ; Banyaknya pengulangan yang akan

Ulang :

INT 21h ; Cetak karakter !!

INC DL ; Tambah DL dengan 1

LOOP Ulang ; Lompat ke Ulang

INT 20h ; Selesai ! kembali ke DOS

Page 4: 4_Praktikum Mencetak Huruf Dan Karakter

4

End cetak

b. Ubah nilai DL ke 32, 50, 75 dan amati apa yang terjadi