Anda di halaman 1dari 11

MATAKULIAH : Praktik Elektronika Industri dan

UNIVERSITAS NEGERI PADANG


Kontrol

PTOGRAM STUDI: Teknik Elektronika TOPIK : Memprogram Input Output (I/O)


TOPIK : Memproigram Mikroprosesor Untuk
JENJANG/SEMESTER : S1 Mengganti Halaman Layar Monitor

PERTEMUAN.KE :2 NOMOR :
A. Tujuan :

1. Agar mahasiswa dapat menggunakan int 10h service 5h untuk mengganti


halaman layar monitor yang aktif.

2. Agar mahasiswa dapat menggunakan int 10h service bh untuk mengganti


backgroud layar monitor .

3. Agar mahasiswa dapat menggunakan int 10h service 0h untuk mengganti


format layar monitor .

4. Agar mahasiswa dapat menggunakan int 21h service 9h untuk menampilkan


teks kalimat (string) ke layar monitor.

5. Agar mahasiswa dapat menggunakan int 16h service 0h untuk menerima


inputan karakter dari keyboard.

6. Agar mahasiswa dapat menggabungkan program ganti halaman layar


menjadi satu program com saja

7. Agar mahasiswa dapat menerapkan perintah assembley CMP, JE, JNE dan
JMP untuk mengarahkan program.

8. Agar mahasiswa dapat meng-compiler program asm sehingga menjadi


program com dan mengeksekusi program ganti halaman layar secara terpadu.

B. Teori Pendukung

Layar monitor mempunyai beberapa halaman layar. Jumlah halaman tergantung dari

jumlah memori kartu monitor dan format layar. Jika format layar adalah 80 x 25 hitam putih,

maka gambar layar itu akan menampilkan 80 x 25 = 2000 karakter. Satu karakter memakai 2

byte memory, dimana 1 byte pertama untuk menyimpan kode ASCII dan satu byte yang lain

Ooleh Drs.Edidas, MT 566827408.docx Halaman 1 dari 11


untuk menyimpan atribut dari karakter itu. Dengan demikian untuk menampilkan satu halaman

layar format 80 x 25 memakai memory kartu sebanyak 2 X 2000 byte= 4000 byte atau 4 KB.

Kalau memory kartu monitor 16 KB maka ada 4 halaman layar dan kalau memory kartu

monitor 8 MB maka jumlah halaman adalah 8 . 10 6 : 4.103 = 2000 halaman. Begitu juga kalau

memakai monitor warna untuk menampilkan satu karakter membutuhkan 4 byte memory. Satu

byte untuk kode ASCII-nya dan tiga byte yang lain untuk menyimpan kode warna R(red),

G(green), B(blue). Jumlah memory yang dibutuhkan untuk satu layar dapat dihitung sendiri.

Untuk mengamati halaman layar yang aktif dipakai int 10h layanan 5h. Prosedur

ganti halaman adalah dengan mengeset register AH  05h. dan register AL dengan nilai

nomor halaman yang diaktifkan .Nilai AL maksimum adalah FFh (255 desimal) sehingga

jumlah halaman yang dapat diaktifkan sebanyak 256 halaman layar.

Untuk memperingkas program ganti halaman layar namun dapat dipakai untuk

mengaktifkan halaman nomor tertentu maka program-program itu digabung dengan

menggunakan logika ‘pilih’ dengan cara menerima inputan keyboard lalu mengarahkan

peogram dengan statemen CMP, JMP, JE, JNE . Program-program ganti layar akan disatukan

dengan satu program, dengan ketentuan setiap nomor layar yang diinginkan akan di inputkan

dari keyboard. Untuk menerima inputan dari keyboard dapat memakai int 16h service 0h.

Interup ini akan menunggu samapai ada input karakter dari keyboard. Secara default kode

ASCII karakter yang di inputkan dari keyboard akan masuk ke register AL . Didalam program

ganti halaman layar dapat dibuat program filter dengan cara membandingkan isi AL dengan

angka-angka nomor halaman layar yang baku. Jika angka nomor halaman layar yang

dimasukan benar, maka akan di teruskan ke program ganti nomor halaman layar . Jika inputan

Ooleh Drs.Edidas, MT 566827408.docx Halaman 2 dari 11


tidak ada yang benar maka program akan meminta inputan baru sampai cocok dengan ganti

halaman layar yang telah ditetapkan. Untuk membandingkan isi AL adalah sbb:

Ulang : mov Ah.01


Int 21h
cmp AL,0 ; apakah AL= 0 ?
Je hal0 ; jika sama teruskan, ke ganti halaman 0
Jne ulang ; jika tidak minta inputlagi
Hal0: Program ganti halaman ke 0 dst.

C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah

2. Software MASM.EXE ………………………………………………….. 1 paket

3. Software LINK.EXE ………………………………….……………….. 1 paket

4. Software EXE2BIN.EXE ……………………………………………….. 1 paket

5. Software EDIT.COM (biasanya bawaan windows) …………………….. 1 paket

D. Listing Program : GTHAL.asm

ghal segment
assume cs:ghal
org 100h
start: jmp mulai
ket db,13,10,' MENGGANTI HALAMAM LAYAR YANG AKTIF',13,10,
db ,13,10,,13,10, 'Masukkan Nomor Halaman :',13,10,'$'

hal0 db,13,10,' ████████'


db,13,10,' ███'
db,13,10,' █████ INI ADALAH HALAMAN PERTAMA'
db,13,10,' ███'
db,13,10,' ████████','$'

hal1 db,13,10,' ███████'


db,13,10,' ███ ██'
db,13,10,' ███ ██ INI ADALAH HALAMAN KEDUA'
db,13,10,' ███ ██'
db,13,10,' ███████','$'

HAL2 db,13,10,' ███'


db,13,10,' ███'
db,13,10,' ███ INI ADALAH HALAMAN KETIGA'
db,13,10,' ███'
db,13,10,' ███','$'

Ooleh Drs.Edidas, MT 566827408.docx Halaman 3 dari 11


HAL3 db,13,10,' ███████'
db,13,10,' ███ ██'
db,13,10,' ███ ██ INI ADALAH HALAMAN KEEMPAT'
db,13,10,' ███ ██'
db,13,10,' ███████','$'

HAL4 db,13,10,' █████'


db,13,10,' ██ ██ '
db,13,10,' █████████ INI ADALAH HALAMAN KELIMA'
db,13,10,' ███ ███'
db,13,10,' ███ ███','$'

HAL5 db,13,10,' ████████'


db,13,10,' ███'
db,13,10,' ████████ INI ADALAH HALAMAN KEENAM'
db,13,10,' ███'
db,13,10,' ████████','$'

mulai : mov ah,06h ; menggulung layar


mov cx,000h ; koordinat kursor awal ch=0 dan cl=0
mov dh,24 ; baris kursor akhir dh=24
mov dl,80 ; kolom kursor akhir dl=80
mov bh,1 ; halaman layar = 1
mov al,0h ; hapus seluruhnya
int 10h ; jalan int 10h

mov ah,0 ; perintah format layar


mov al,6 ; format layar 6
int 10h ; format layar ke format diatas

mov ah,9 ; tulis kata dalam dx


mov dx,offset ket ; isi dx dg kata ket
int 21h

ulang: mov ah,1 ; Tunggu Input dari keyboard


int 21h

cmp al,'0' ; bandingkan Input dg 0


je H0 ; jika sama lompat ke m0

cmp al,'1'
je H1

cmp al,'2'
je H2

cmp al,'3'
je H3

cmp al,'4'
jne t5
jmp H4

Ooleh Drs.Edidas, MT 566827408.docx Halaman 4 dari 11


t5 : cmp al,'5'
jne keluar
jmp H5

keluar: cmp al,'q'


jne ulang
jmp selesai

H0: mov ah,05h ; perintah ganti halaman layar


mov al,00 ; halaman 0
int 10h ; ganti ke halaman 0

mov ah,0 ; perintah format layar


mov al,2 ; format layar 2
int 10h ; format layar ke format diatas

mov ah,09h ; perintah menulis kata yang ada di dx


mov dx,offset hal0 ; isi dx dengan kata hal0
int 21h ; jalankan perintah tulis diatas

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,6 ; coklat
int 10h
jmp ulang

h1: mov ah,05h ; perintah ganti layar


mov al,01h ; layar halaman 1
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal1
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,5 ; megenta
int 10h
jmp ulang

h2: mov ah,05h ; perintah ganti layar


mov al,02h ; layar halaman 2
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal2
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang

Ooleh Drs.Edidas, MT 566827408.docx Halaman 5 dari 11


mov bl,1 ; biru
int 10h
jmp ulang

h3: mov ah,05h ; perintah ganti layar


mov al,03h ; layar halaman 3
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal3
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,4 ; merah
int 10h
jmp ulang

h4: mov ah,05h ; perintah ganti layar


mov al,04h ; layar halaman 4
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal4
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,2 ; hijau
int 10h
jmp ulang

h5: mov ah,05h ; perintah ganti layar


mov al,05h ; layar halaman 5
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal5
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,6 ; coklat
int 10h
jmp ulang

Ooleh Drs.Edidas, MT 566827408.docx Halaman 6 dari 11


selesai: int 20h
ghal ends
end start

E. Langkah kerja.

1. Siapkan komputer dalam sistem operasi DOS (command prompt), dapat dilakukan

mengetikkan perintah cmd pada menu RUN melalui menu menu START yang berada

pada pojok kiri layar windows. Cek 1 :………………………………………………….

2. Jalankan program EDIT.COM (dapat juga dilakukan melalui menu RUN dalam menu

START yang berada pada pojok kiri layar windows. Sehingga tampil layar kerja EDIT

seperti gambar berikut:

3. Ketiklah program GTHAL.ASM, seperti listing program diatas !

4. Jika telah selesai mengetik program simpanlah file itu dengan nama GTHAL.asm dalam

folder yang sama dengan software compilernya (MASM, LINK, EXE2BIN).

5. Compile program GTHAL.asm agar menjadi GTHAL.obj dengan cara mengetikkan

perintahnya pada prompt folder dimana program tadi disimpan, misalnya jika program

dan compilernya disimpan dalam folder MASM pada Drive D maka perintahnya adalah

seperti: D:// MASM/ masm.gthal.asm

6. Abaikan permintaan nama file selama proses kompilasi dengan cara menekan enter

sebanyak 4 kali, sehingga kursor kembali berada pada prompt kembali. Lalu catalah

Ooleh Drs.Edidas, MT 566827408.docx Halaman 7 dari 11


pesan kesalahan (error)yang ditampilkan. Jika yang tampil pesan no errors found maka

sintag program anda tidak ada yang salah.

7. Jika terdapat pesan kesalahan silahkan perbaiki setiap kesalahan sesuai dengan nomor

baris yang ditampilkan. Lalu simpan kembali hasil perbaikan yang telah dilakukan !

8. Compilasi ulang program yang sudah diperbaiki itu dan catat lagi pesan kesalahan yang

ditampilkan jika masih ada errors.

9. Ulang langkah 7-8 sampai melihat tampilan pesan kesalahan no errsors found.

10. Jika tidak ada lagi pesan kesalahan lagi maka kompilasi telah berhasil membuat

program GTHAL.asm menjadi GTHAL.obj

11. Lanjutkan dengan me-link-kan program GTHAL.obj sehingga menjadi GTHAL.exe

dengan perintah: D://MASM? link gthal.obj

12. Perhatikan pesan setelah menjalankan perintah diatas apakah kompilasi kedua ini

berhasil atau belum. Kalau pesan file don’t exist itu menandakan belum berhasil

13. Rubah GTHAL.exe menjadi GTHAL.com perintahnya : exe2bin gthal.exe gthal.com

8. Jalankan program GTHAL.com dan amatilah tampilan pertama program ini

9. Jika program anda sudah jalan (running) panggil pilihan layar anda dengan cara

mengetikkan angka 0-5 untuk mengamati informasi pada halaman ke 0 sampai ke

halamam ke 5, kemudian tuliskan hasil pengamatan anda ke dalam tabel pengamatan

dibawah ini.

10. Praktik selesai, lakukan analisis dan buatlah laporan praktek dan kesimpulannya.

TABEL PENGAMATAN
Input Key- Keterangan Sintag Nomor Format layar Keterangan
Board Atribut Layar program yang halaman dan sintag
Yang Tampil membuat Layar dan programnya

Ooleh Drs.Edidas, MT 566827408.docx Halaman 8 dari 11


warna sintag
Sim- Back-
background programnya
bol ground
layar itu
Mov ah,0bh Hal no: 00 Format no 2 bl=6=coklat
Mov bh,0 Mov ah,05h Mov ah,0 al=00= no.5
0 E Coklat Mov bl,6 Mov al, 00 Mov al,2h al=2=format
Int 10h Int 10h Int 10h no 2
1

F. Tugas Dan Pengayaan


1. Revisi program diatas sehingga dapat menampilkan sebuah halaman layar masing-

masing dengan atribut yang berbeda !.

Ooleh Drs.Edidas, MT 566827408.docx Halaman 9 dari 11


2. Hubungkan semua program ganti halaman ini sehingga setelah halaman berganti akan

meminta inputan lagi, kecuali kalau inputannya karakter ‘k’ maka program akan

berhenti !.

3. Jelaskan kegunaan kenapa halaman layar perlu di buat banyak ?

4. Pada register mana terletak nilai nomor halaman pada int 10h layanan 5h ?

5. Jelaskan apa fungsi program mov ah,0

Mov al,2

Int 10h

6. Untuk apa format layar ditentukan sesudah mengganti halaman layar ?

7. Jelaskan mengapa memory monitor semakin diperbesar saja ?

8. Buat program sederhana untuk menampilkan seluruh kode ASCII ke layar montor

dengan menggunkan int 21 service 2. ( ingat ! DL diisi mulai dari 00 – FF ) !

***** SELAMAT BEKERJA SEMOGA SUKSES *****

LAMPIRAN : mov ah,0b mov bl,2


mov bh,0 int 10h
LISTING PROGRAM mov bl,1 jmp 100
DENGAN DEBUG int 10h
jmp 100 a170
Program Ganti Latar mov ah,0
belakang layar monitor a160 mov al,6
mov ah,0 int 10h
a150 mov al,6 mov ah,0b
mov ah,0 int 10h mov bh,0
mov al,6 mov ah,0b mov bl,3
int 10h mov bh,0 int 10h

Ooleh Drs.Edidas, MT 566827408.docx Halaman 10 dari 11


jmp 100 int 10
int 20
a180
mov ah,0
mov al,6
int 10h
mov ah,0b
mov bh,0
mov bl,4
int 10h
jmp 100

a190
mov ah,0
mov al,6
int 10h
mov ah,0b
mov bh,0
mov bl,5
int 10h
jmp 100

a100
mov ah,1
int 21
cmp al,30
jz 150
cmp al,31
jz 160
cmp al,32
jz 170
cmp al,33
jz 180
cmp al,34
jz 190
cmp al,6b
jz 11e
jmp 100
mov ah,0
mov al,3

Ooleh Drs.Edidas, MT 566827408.docx Halaman 11 dari 11

Anda mungkin juga menyukai