Monday, November 14, 2011

UAS TEORI BAHASA RAKITAN SEMBLY SEMESTER 3


SISWADI
SIA201046



1.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.
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.Jenis jenis no service :
Ø  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.Contoh coding menampilkan karakter yang telah diinput melalui 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 Search Routine (Rutin Pencari): berperan sebagai unit yang mencari file-file yang baru    
yang  atau yang  ada pada disk yang nantinya akan diinfeksi.
Copy Routine (Rutin pengganda) : Mengkopi virus ke daerah (area) yang telah ditentukan oleh search routine.
Anti-Detection Routine : Fitur tambahan virus yang berperan dalam menghindari deteksi baik dari pengetahuan user atau dari pantauan program anti virus yang merupakan predatornya.

5.Perbedaan performance pembuatan virus dg Assembly dan Pemrograman Tingkat Tinggi :
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.


No comments:

Post a Comment

Post a Comment