meteor jatuh

Rabu, 16 November 2011

ujian praktek bahasa rakitan

PRAKTEK ASSEMBLY

NAMA                  : MUKHLISIN
SIA                         : 201023
DOSEN                  : NAHAR MARDIYANTORO,M.kom
PRAKTEK CODING BAHASA RAKITAN


.model small
 .code
 org 100h

 Mulai:
 jmp proses
 kal db 13,10,'Masukkan Password : $'
 kal2 db 10,'Welcome.....!!!$'
 kal3 db 10,'no access...$'

  proses1 :
 mov ah, 09h
 lea dx, kal3
 int 21h

 proses :
 mov ah, 09h
 lea dx, kal
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'F'
 je pilihan1
 jne proses1
 int 20h

 pilihan1:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'I'
 je pilihan2
 jne proses1

 pilihan2:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'X'
 je pilihan3
 jne proses1

 pilihan3:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h

 je pilihan4
 jne proses1

 pilihan4:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 09h
 lea dx, kal2
 int 21h

 int 20h
 end Mulai



UAS TEORI ASSEMBLY SEMESTER 3

Nama    : MUKHLISIN
NIM    : SIA201023
Dosen    : NAHAR MARDIYANTORO, M.KOM


1.    Pemahaman tentang 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.    Jenis-jenis no servis :
             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 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.    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.