3. Agar mahasiswa dapat menggunakan int 10h service 0h untuk mengganti format
layar monitor .
5. Agar mahasiswa dapat menggunakan int 16h service 0h untuk menerima inputan
karakter dari keyboard.
7. Agar mahasiswa dapat menerapkan perintah assembley CMP, JE, JNE dan JMP
untuk mengarahkan program.
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 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 . 106 : 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
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 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:
Int 21h
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,'$'
cmp al,'1'
je H1
cmp al,'2'
je H2
cmp al,'3'
je H3
cmp al,'4'
jne t5
jmp H4
t5 : cmp al,'5'
mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,6 ; coklat
int 10h
jmp ulang
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
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
mov bl,1 ; biru
int 10h
jmp ulang
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
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
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
selesai: int 20h
ghal ends
end start
D. langkah kerja.
perintahnya : masm.gthal.asm
9. Ketikkan angka format layar sesuai dengan informasi pada halaman pertama
TABEL PENGAMATAN
0 0 E 80 X 25 Coklat
9
bersamabung ke halaman berikutnya………………..
2. Hubungkan semua program ganti halaman ini sehingga setelah halaman berganti akan
meminta inputan lagi, kecuali kalau inputannya karakter ‘k’ maka program akan berhenti !.
4. Pada register mana terletak nilai nomor halaman pada int 10h layanan 5h ?
Mov al,2
Int 10h
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 ) !
mov ah,0
mov dx,0510
int 10