Dosen Pengampu : Nahar Mardiyantoro, M.Kom
1. Pemahaman atau Analogi No Service dan No Interupsi
No Service yaitu Merupakan nomor layanan pasangan dari nomor interupt sehingga menghasilkan action tertentu. Apabila nomor service diubah dan nomor interupt tetap hasil action berbeda.
No Service yaitu 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.
Interupt yang berjumlah 256 buah ini dibagi lagi ke dalam 2 macam yaitu:
- Interupt 00h - 1Fh (0 - 31) adalah interrupt BIOS dan standar di semua komputer baik yang menggunakan sistem operasi DOS atau bukan. Lokasi Interupt Vector Table-nya ada di alamat absolut 0000h-007Fh.
- Interupt 20h - FFh (32 - 255) adalah interrupt DOS. Interrupt ini hanya ada pada komputer yang menggunakan sistem operasi DOS dan Interupt Handler-nya diload ke memori oleh DOS pada saat DOS digunakan. Lokasi Interupt Vector Tablenya ada di alamat absolut 07Fh-3FFh.
2. Dalam menerima input karakter dari keyboard, dapat dilakukan dengan menggunakan beberapa no service. Contoh no service adalah :
02h,01h,07h
02h: bila nilai AH adalah 2 maka komputer akan mencetak sebuah karakter, berdasarkan kode ASCII yang terdapat pada register DL.
01h: no service ini berfungsi untuk mengInput 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
07h: no service ini berfungsi untuk mengInput 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
08h: no service ini berfungsi untuk mengInput 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.
3. Untuk melengkapi menampilkan karakter yang diinputkan keyboard adalah sebagai berikut:
.model small
.code
org 100h
mulai:
mov ah, 07h
int 21h
mov ah, 02h
mov dl, al
int 21h
int 20h
end mulai
4. Anti Detection routines akan menjadi payung dari search dan copy,menghindari deteksi, baik oleh pengguna komputer maupun software, pendeteksi virus membatasi scope pencarian dan penduplikatan, menjalankan routine pada saat komputer sedang mengalami idle (stand by). Virus akan mencari tempat untuk berproduksi, setelah ketmu virus akan meng-copy dirinya sendiri pada area yang telah ditentukan, pengcopyan dilakukan bila pc dalam keadaan idle/ diam. virus yang menyerang file berekstensi COM umumnya berukuran lebih kecil daripada virus yang menyerang file EXE, karena file EXE memiliki struktur yang lebih kompleks, sehingga virus lebih sukar untuk melekatkan diri pada file EXE.
5. Pendapat tentang performance pembuatan virus.
Bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan secara penuh kapabilitas yang terdapat pada perangkat keras, dengan menggunakan bahasa assembly progremer dengan mudah membelokan interupsi sebuah software/hardware sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin,hal ini akan dengan mudah merubah pengalamatan sebuah hardware hanya dengan menggunakan bahasa yg simple atau bahasa tingkat rendah.