pengantar organisasi komputeratribut

19
LAPORAN PRAKTIKUM POK “ ATRIBUT” OLEH : NAMA : BAKHARUDIN YUSUF BAKHTIAR NIM : M0510043 JURUSAN INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGTAHUAN ALAM

Upload: bakharudin-yusuf-bakhtiar

Post on 31-Oct-2014

69 views

Category:

Documents


0 download

DESCRIPTION

LAPORAN TUGAS PRAKTIKUM PENGANTAR ORGANISASI KOMPUTER“ ATRIBUT”

TRANSCRIPT

Page 1: PENGANTAR ORGANISASI KOMPUTERATRIBUT

LAPORAN PRAKTIKUM POK

“ ATRIBUT”

OLEH :

NAMA : BAKHARUDIN YUSUF BAKHTIAR

NIM : M0510043

JURUSAN INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGTAHUAN ALAM

UNIVERSITAS SEBELAS MARET

2011

Page 2: PENGANTAR ORGANISASI KOMPUTERATRIBUT

DASAR TEORIUntuk mengases layar seperti mengatur kursor, mencetak huruf atau

string, menghapus layar dan lain-lain tersedia interupt BIOS yaitu INT 10H

dengan 16 servis yang secara rinci seperti berikut :

Daftar servis pada register AH dan kegunaannya :

Servis 00H : menentukan modus video.

Servis 01H : set ukuran kursor.

Servis 02H : menentukan posisi kursor.

Servis 03H : membaca posisi kursor.

Servis 04H : membaca posisi lightpen.

Servis 05H : menentukan halaman layar CRT yang digunakan.

Servis 06H : menggulung layar ke atas (scroll up).

Servis 07H : menggulung layar ke bawah (scroll down).

Servis 08H : membaca data karakter dan atributnya diposisi kursor.

Servis 09H : mencatak karakter dengan atributnya.

Servis 0AH : mencetak karakter tanpa atribut.

Servis 0BH : menentukan pallete warna.

Servis 0CH : menulis titik pixel.

Servis 0DH : memabaca data diposisi titik pixel.

Servis 0EH : menulis karakter secara mesin tulis.

Servis 0FH : membaca status modes video yang digunakan.

Fungsi aplikatif dari servis AH :

1. Menentukan lokasi kursor digunakan INT 10H servis 02.

Dengan register : BH ( nomor halaman layar )DH ( posisi baris )DL ( posisi kolom )

Untuk layar CGA mode teks layar dipandang sebagai matriks karakter 25

baris 80 kolom dengan posisi kiri atas 0,0 dan kanan bawah 24,79

Page 3: PENGANTAR ORGANISASI KOMPUTERATRIBUT

2. Menggulung layar

Syarat register adalah :

AH (nomor servis 06(menggulung keatas) atau 07 (menggulung ke bawah)

AL ( jumlah baris yang digulung (0=semua baris=bersihkan))

BH ( warna layar yang muncul )

CH ( baris kiri atas )

CL ( kolom kiri atas )

DH ( baris kanan bawah)

DL ( kolom kanan bawah )

Jika interupt dipanggil maka wilayah jendela yang dibatasi dari kiri

atas sampai kanan bawah akan digulung sebanyak AL, atau kalau AL =0

akan dibersihkan semua.

Gambar 7.2. Wilayah layar yang digulung

3. Cetak karakter

INT 10H servis 09 : cetak karakter dengan atribut

INT 10H servis 0A : cetak karakter tanpa atribut

Syarat register :

AH ( berisi 0AH )

AL ( kode ASCII karakter yang akan dicetak )

BH ( nomor halaman layar )

CX ( cacah karakter yang akan dicetak )

4. Cetak string

Page 4: PENGANTAR ORGANISASI KOMPUTERATRIBUT

INT 21H servis 09

DX diisi dengan OFFSET label data string dicetak.

Table atribut warna untuk tulisan dan layar belakang berdasarkan bilangan

hexadecimal dalam 1 byte ( 8 bit ).

4 bit 4 bit

8

(terang)

4

(red)

2

(green)

1

(blue)

8

(terang)

4

(red)

2

(green)

1

(blue)

WARNA FOREGROUND WARNA BACKGROUND

TUJUAN1. Mahasiswa dapat menampilkan satu atau beberapa string pada baris dan

kolom tertentu.

2. Mahasiswa dapat memberi warna pada huruf /tulisan dan memberi warna pada background.

3. Mahasiswa dapat menampilkan string dengan data service tertentu seperti service 09.

4. Mahasiswa dapat menampilkan string perhuruf pada service 02.

Page 5: PENGANTAR ORGANISASI KOMPUTERATRIBUT

PRAKTIKUM

Percobaan 1 : Menampilkan String ‘UNS’ Pada Posisi Baris Ke 11 Dan Kolom 38.

#make_COM#

; COM file is loaded at CS:0100hORG 100h

start: JMP mulaidata db 'U N S$'mulai: ; persiapan hapus layar MOV AH,06MOV AL,00MOV BH,07MOV DH,00MOV DL,00MOV CH,24MOV CL,79INT 10H ; hapus layar ;atur kursorMOV AH,02MOV BH,00MOV DH,11MOV DL,38INT 10H ;atur kursorMOV AH,09MOV DX,OFFSET dataINT 21H ; tulis teksMOV AX,4C00HINT 21H

Analisis :

Pada program assembler diatas menggunakan emulator 8086 dan membuat

file dengan COM template sehingga akan langsung menggunakan ORG 100h

secara otomatis. Pada label start akan langsung menuju label mulai dengan fungsi

JMP yang sebelumnya mendeklarasikan terlebih dahulu string “U N S” yang akan

ditampilkan dengan data sebagai fungsi pemanggilan string.

Setelah menuju label mulai kemudian mempersiapkan untuk menghapus layar

agar sisa-sisa penggunaan memori tidak mengganggu string yang akan

Page 6: PENGANTAR ORGANISASI KOMPUTERATRIBUT

ditampilkan. Dimulai dari mengisi register AH dengan data service 06 lalu MOV

AL,00 untuk menggulung layar namun tidak berganti layar. MOV BH,07

digunakan untuk memilih warna layar 07h. Untuk membatasi penggulungan layar

menggunakan register CX sebagai batas kiri atas dan register DX sebagai batas

kanan bawah dimana pada register CX terdapat register CH yang diisi 24 dan

register CL yang diisi 79 yang berarti batas kirinya terdapat pada baris 24 dan

kolom 79. Sedangkan pada register DX terdapat register DH dan DL yang kedua

register tersebut diisi 00h yang berarti batas kanan terdapat pada baris 0 dan

kolom 0. Lalu INT 10 yang memiliki service 06h digunakan untuk menggulung

layar ke atas.

Setelah selesei menghapus layar lalu mengatur penempatan kursor yang

dimulai dari mengisi register AH dengan data service 02h lalu memilih warna

layar dengan register BH namun tidak ada perubahan warna karena register BH

diisi 00h. Register DX digunakan untuk mengatur penempatan string yang akan

dimunculkan. Pada register DX, register DH diisi 11h dan register DL diisi 38h

yang berarti penempatan batas kanannya adalah baris 11 kolom 38. Kemudian

INT 10H service 02h digunakan untuk eksekusi pengaturan kursor.

Setelah itu string ditampilkan dengan mengisi register AH dengan data service

09h lalu register DX diisi string dalam offset data. Kemudian dicetak dengan INT

21H lalu untuk keluar dari program digunakan INT 21 yang sebelumnya register

AX diisi 4C00H namun dapat juga diganti dengan INT 20H jika register AK

diganti register AH dengan service 02h.

Page 7: PENGANTAR ORGANISASI KOMPUTERATRIBUT

Hasil Eksekusi :

Percobaan 2 : Menampilkan NIM pada baris ke 5 dan kolom 30, serta nama

pada baris 10 dan kolom 20

#make_COM#

; COM file is loaded at CS:0100hORG 100h

start: JMP mulaidata db 'NIM : MO510013$'data1 db 'NAMA : BAKHARUDIN YUSUF BAKHTIAR$'

mulai: ;persiapan hapus layarMOV AH,06MOV AL,00MOV BH,07MOV DH,00MOV DL,00MOV CH,24MOV CL,79INT 10H ; hapus layarMOV AH,02 ;atur kursorMOV BH,00MOV DH,05MOV DL,30

Page 8: PENGANTAR ORGANISASI KOMPUTERATRIBUT

INT 10H ;atur kursorMOV AH,09MOV DX,OFFSET dataINT 21H ; tulis teks

MOV AH,02MOV BH,00MOV DH,10MOV DL,20INT 10H ;atur kursorMOV AH,09MOV DX,OFFSET data1INT 21H ; tulis teks

MOV AX,4C00HINT 21H

Analisis :

Pada program assembler diatas menggunakan emulator 8086 dan membuat

file dengan COM template sehingga akan langsung menggunakan ORG 100h dan

jalannya program sama dengan percobaan sebelumnya yaitu percobaan 1 namun

string yang ditampilkan adalah NIM dengan data sebagai fungsi pemanggilanya

dan NAMA dengan data1 sebagai fungsi pemanggilannya.

Lalu pada penghapusan layar sama dengan percobaan 1 namun yang berbeda

adalah batas kirinya atau isi register CX dimana didalam percobaan 2 register CH

diisi 24 dan register CL diisi 79 yang berarti batas kirinya terdapat pada baris 24

dan kolom 79.

Kemudian pengaturan kursor dilakukan sebanyak 2 kali dengan register AH

diisi data service 02h dan warna layar yang dipilih adalah 00h sehingga tidak ada

perubahan warna. Pada pengaturan kursor yang pertama, register DH diisi 05h

dan register DL diisi 30 yang berarti letaknya pada baris 5 dan kolom 30. INT

10H dengan service 02h digunakan untuk mengeksekusinya. Lalu register AH

diisi service 09h dan register DX diisi string pada “data” kemudian ditampilkan

dengan INT 21H.

Sedangkan pada pengaturan kursor yang kedua sama dengan pengaturan

kursor yang pertama namun posisinya adalah baris 10 dan kolom 20 yang

Page 9: PENGANTAR ORGANISASI KOMPUTERATRIBUT

diketahui dari register DH yang diisi 10h dan register DL yang diisi 20h. Lalu

alamat offset pada DX adalah “data1” lalu dicetak dengan INT 21H. Selanjutnya

mengakhiri program dengan mengisi register AX dengan 4C00h lalu menjalankan

fungsi INT 21, sebagai pengganti INT 20 pada servis AH,02.

Hasil Eksekusi :

Percobaan 3 : Menampilkan huruf A dengan background biru dan tulisan merah

#make_COM#

; COM file is loaded at CS:0100hORG 100h

MOV AH,09MOV BH,00MOV BL,14H ; atribut(tulisan merah background biru)MOV AL,41H ; kode ASCII karakter AMOV CX,0001 ; huruf dicetak 1

Page 10: PENGANTAR ORGANISASI KOMPUTERATRIBUT

INT 10HMOV AX,4C00HINT 21H

Analisis :

Pada program assembler diatas menggunakan emulator 8086 dan membuat

file dengan COM template sehingga akan langsung menggunakan ORG 100h.

program diawali dari mengisi register AH dengan service 09h lalu MOV BH,00

digunakan untuk menentukan nomor halaman layar yang diisi 00. Lalu untuk

menentukan warna digunakan table atribut warna berdasarkan bilangan

hexadecimal dalam 1 byte ( 8 bit ).

4 bit 4 bit

8

(terang)

4

(red)

2

(green)

1

(blue)

8

(terang)

4

(red)

2

(green)

1

(blue)

WARNA FOREGROUND WARNA BACKGROUND

MOV BL,14H digunakan untuk memilih atribut layar dimana diisi hexa decimal

14 atau jika dalam bit adalah 0 0 0 1 0 1 0 0 yang berarti tulisannya

berwarna merah dan backgroundnya berwarna biru. Kemudian AL diisi 41H

dimana 41H merupakan kode ASCII untuk karakter A. Selanjutnya CX digunakan

untuk menentukan banyak huruf yang akan dicetak dalam program ini register CX

diisi 0001 yang berarti huruf yang dicetak hanya 1. Kemudian untuk mencetak

karakter dengan atribut digunakan INT 10H dengan service 09. Lalu MOV

AX,4C00H dan INT 21H digunakan untuk mengakhiri program.

Page 11: PENGANTAR ORGANISASI KOMPUTERATRIBUT

Hasil Eksekusi :

Percobaan 4 : Mencetak string yang diakhiri $ dengan INT 21 di servis 09.

#make_COM#

; COM file is loaded at CS:0100hORG 100h

start: JMP mulaidata db 'UNS OYE$'

mulai: MOV AH,09MOV DX,OFFSET dataINT 21HMOV AX,4C00HINT 21H

Analisis :

Pada program assembler diatas menggunakan emulator 8086 dan membuat

file dengan COM template sehingga akan langsung menggunakan ORG 100h.

Kemudian pada label start akan menuju label mulai karena terdapat fungsi JMP

dan sebelumnya sudah dideklarasikan string yang akan ditampilkan adalah UNS

OYE dengan data sebagai fungsi pemanggilannya, string diakhiri $ sebagai batas

akhir string dan agar program tidak eror. Setelah menuju label mulai register AH

Page 12: PENGANTAR ORGANISASI KOMPUTERATRIBUT

diisi dengan service 09. Lalu register DX diisi string pada offset data yang

kemudian ditampilkan dengan INT 21H lalu untuk mengakhiri program dengan

mengisi register AX dengan 4C00h sebelum menjalankan fungsi INT 21H.

Hasil Eksekusi :

Percobaan 5 : Menampilkan string perhuruf dengan INT 21 di servis 02.

#make_COM#

; COM file is loaded at CS:0100hORG 100h

start : jmp mulaidata db 'HADIAH SEBESAR $ 1000.000,00 ',0mulai:

MOV AH,02MOV BX,0000cet: MOV DL,data[BX]CMP DL,0JE selesaiINT 21HINC BXJMP cetselesai:MOV AX,4C00HINT 21H

Page 13: PENGANTAR ORGANISASI KOMPUTERATRIBUT

Analisis :

Pada program assembler diatas menggunakan emulator 8086 dan membuat

file dengan COM template sehingga akan langsung menggunakan ORG 100h.

Kemudian saat label start akan menuju label mulai dengan fungsi JMP yang

sebelumnya sudah dideklarasikan data sebagai fungsi pemanggilan untuk string

'HADIAH SEBESAR $ 1000.000,00 ',0 string diakhiri ”,0” yang digunakan

sebagai parameter pemisah. Setelah menuju label mulai, register AH diisi dengan

service 02 lalu register BX diisi data 0000 yang digunakan sebagai indeks awal

yaitu indeks 0. Kemudian register DL diisi karakter dalam data sesuai indeks pada

register BX dengan MOV DL,data[BX]. Lalu fungsi CMP digunakan sebagai

syarat agar JE bekerja dimana jika nilai dalam register DL adalah 0 (NULL) atau

sudah tidak menunjuk indeks lagi (karena semua indeks sudah ditampilkan) maka

akan menuju label selesei dengan fungsi JE. Namun jika belum memenuhi syarat

CMP maka nilai dalam register DL akan ditampilkan dengan INT 21H lalu nilai

dalam register BX mengalami increment dengan INC BX. Setelah itu program

akan dilompatkan kembali menuju label set. Setelah semua indeks selesei dicetak

maka akan menuju label selesei yang ditunjuk JE, dimana program setelahnya

adalah mengakhiri program dengan INT 21H yang sebelumya pada register AX

diisi 4C00H.

Hasil Eksekusi :

Page 14: PENGANTAR ORGANISASI KOMPUTERATRIBUT

KESIMPULAN

1. Dalam penulisan string tanda $ digunakan untuk mengakhiri string,

apabila tanda $ ini dihilangkan maka program akan eror karena tidak ada

batas string yang dieksekusi. Namun string dapat diganti dengan ,0 seperti

percobaan 5 untuk menampilkan string perhuruf.

2. Untuk mengatur kursor digunakan service 02 dengan syarat register AH

diisi service 02, BH diisi nomer halaman layar. DH dan DL diisi baris dan

kolom.

3. Untuk menggulung layar digunakan INT 10H dengn syarat register adalah

AH diisi nomor servis 06 atau 07, AL diisi jumlah baris yang digulung

(0=semua baris =bersihkan), BH diisi warna layar yang muncul, CH dan

CL diisi baris dan kolom kiri atas, DH dan DL diisi baris dan kolom kanan

bawah.

4. Service 09 digunakan untuk mencetak dengan atribut. Atribut karakter

disimpan oleh data satu byte, yang dibagi 2 yaitu 4 bit bawah untuk

foreground (latar depan) dan 4 bit atas untuk background (latar belakang). 4 bit 4 bit

8

(terang)

4

(red)

2

(green)

1

(blue)

8

(terang)

4

(red)

2

(green)

1

(blue)

WARNA FOREGROUND WARNA BACKGROUND

Page 15: PENGANTAR ORGANISASI KOMPUTERATRIBUT

DAFTAR PUSTAKA

W, Wisnu. 2011.”Output Layar.pdf.UNS.Surakarta.