SOAL UJIAN AKHIR SEMESTER (TEORI)
NIM : SIA201034
Nama : Marsun
Mata Kuliah : Pemrograman Bahasa Rakitan
SKS : 2
Program Studi : S1 Teknik Informatika
Hari, Tanggal : Minggu, 13 November 2011
Dosen : Nahar Mardiyantoro, M.Kom
============================================================================
1. Berikan pemahaman atau analogi atas No Service dan No Interupsi !
No Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi. Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255. Nomor interupsi 0 sampai 1Fh disediakan oleh ROM BIOS, yaitu suatu IC didalam komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor 0-1Fh, maka secara default komputer akan beralih menuju ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler.
No Service :
Merupakan nomor layanan pasangan dari nomor interupt sehingga menghasilkan action tertentu. Apabila nomor service diubah dan nomor interupt tetap hasil action berbeda.
2. Dalam menerima input karakter dari keyboard, anda dapat menggunakan beberapa no service. Sebutkan no service tersebut dan berikan pembeda dari masing-masing no service itu !
Interrupt 21h Service 01h
NO. INTERRUPT = 21h
NO. SERVICE = 01h
FUNCTION = Input 1 Karakter (Keyboard Input)
Mengambil Input Dari Keyboard (Standard Input Device), lalu menampilkan karakter ke layar (Standard Output Device) dan menyimpan karakter tersebut di AL. Penekanan tombol Ctrl-Break akan dicek. Jika tombol tersebut ditekan, interupt 23h akan dieksekusi.
INPUT :
AH = 01H
OUTPUT :
AL = Kode ASCII Hasil Input Tercetak di layar
Interrupt 21h Service 07h
NO. INTERRUPT = 21h
NO. SERVICE = 07h
FUNCTION = Input 1 Karakter Tanpa Echo Tidak Mengecek Ctrl-C (Direct Console Input Without Echo). Menunggu hingga sebuah karakter diketikkan dari standard input device dan menyimpannya ke register AL. Service ini sangat mirip dengan service 01h, hanya saja pada service ini karakter tak ditampilkan ke layar. Service ini tidak mengecek Ctrl-C atau Ctrl-Break. Service ini sering dipakai untuk pemasukan password karena tak menampilkan karakter yang diketikkan.
INPUT :
AH = 07H
OUTPUT :
AL = Kode ASCII Yang Ditekan
Interrupt 21h Service 08h
NO. INTERRUPT = 21h
NO. SERVICE = 08h
FUNCTION = Input 1 Karakter Tanpa Echo Mengecek Ctrl-C (Console Input Without Echo With ^C). Menunggu hingga sebuah karakter diketikkan dari standard input device dan menyimpannya ke AL. Service ini juga tidak menampilkan karakter yang diketikkan ke layar monitor tapi mencek Ctrl-C atau Ctrl-Break. Jika tombol tersebut ditekan, INT 23h akan dieksekusi.
INPUT :
AH = 08H
OUTPUT :
AL = Kode ASCII Yang Ditekan
3. Kode lengkap menampilkan karakter yang diinputkan keyboard:
==========================================================
.model small
.code
org 100h
mulai:
mov ah, 07h
int 21h
mov ah, 02h
mov dl, al
int 21h
int 20h
end mulai
==========================================================
4. Membatasi scoupe pencarian dan penduplikatan, menjalankan routine pada saat komputer sedang mengalami idle (stand by)
5. Berikan pendapat anda tentang performance pembuatan virus menggunakan bahasa assembly dibandingkan dengan bahasa pemrograman level tinggi.
Performance pembuatan virus dengan Assembly dibandingkan dengan bahasa tingkat tinggi yaitu :
Bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras. Bahasa rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya menerjemahkan sebuah instruksi menjadi sejumlah kode mesin.