Jumat, 18 November 2011

UAS Teori Pemrograman Bahasa Rakitan


Pemrograman Bahasa Rakitan
Dosen : Nahar Mardiyanto, M.Kom
NAMA                    :     Ari Dwijayanti
NIM                         :     SIA201036

UJIAN AKHIR SEMESTER
TEORI.

1.      No Servis dan No Interupt
no service:no fungsi pada dos untuk melakukan perintah sesuai dengan penomoran angak service
no service:nilai service yang terdapat pada nilai ah yang mana nilai ini yang akan di kerjakan oleh interrupter Misalkan bila nilai AH adalah 2 maka komputer akan mencetak sebuah karakter, berdasarkan kode ASCII yang terdapat pada register DL. Bila nilai pada register AH bukanlah 2, pada saat dilakukan interupsi 21h maka yang dikerjakaan oleh komputer akan lain lagi.jadi no service mempunyai nilai pasangannya sendiri-sendiri dengan nilai interrupt.  
Interrupt adalah permintaan kepada microprocessor untuk melakukan suatu perintah. Ketika terjadi permintaan interupsi, microprocessor akan mengeksekusi interrupt handler ,Setiap interrupt handler itu memiliki alamat masing – masing yang disimpan dalam bentuk array yang masing – masing terdiri dari 4 byte (2 offset dan 2 segment). Array ini disebut vektor interupsi . Vektor interupsi ini disusun berdasarkan nomor interupsi yaitu dari hexa maksudnya adalah bahwa setiap interrupt itu dibagi menjadi beberapa bagian yang mempunyai tugas masing – masing. Tetapi ada juga interrupt yang tidak memiliki service, contohnya int 29.
 Bila dihasilkan interupsi 21h apa yang akan dikerjakan oleh komputer ?. Jawabnya, ada banyak sekali kemungkinan. Pada saat terjadi interupsi 21h maka pertama-tama yang dilakukan komputer adalah melihat isi atau nilai apa yang terdapat pada register AH. Misalkan bila nilai AH adalah 2 maka komputer akan mencetak sebuah karakter, berdasarkan kode ASCII yang terdapat pada register DL. Bila nilai pada register AH bukanlah 2, pada saat dilakukan interupsi 21h maka yang dikerjakaan oleh komputer akan lain lagi.

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. .model small
          .code
           org 100h
           mulai :
       mov ah,07h
                                int 21h
     mov ah, 02h
     mov dl,al
int 21h
int 20h
end mulai

4.sistem penginjeksian firus ke dalam system aplikasi dengan cara membatasi scope pencarian penduplikatan di mana dalam menjalankan routine pada saat computer idle sehingga tidak terdeteksi oleh user,virus ini akan mencari file com jika tidak ketemu dia akan mencari file berikutnya sampai ketemu dan jika ketemu dia akan mereplace dan mengcopy setelah  itu menghidden dan menginjeksi system program aplikasi jika tidak menemukan file com maka dia akan keluar dari pencarian file com.

5.dengan menggunakan bahasa assembly akan dengan mudah membelokan interupsi sebuah software/hardware hal ini akan dengan mudah merubah pengalamatan sebuah hardware hanya dengan menggunakan bahasa yg simple atau bahasa tingkat rendah.

Kamis, 10 November 2011

Pemrograman Visual Lanjut 1

Alhamdulillah, Sebuah Program sederhana menggunakan Microsoft Visual Basic 6.0 beserta Database nya dalam Microsoft Acces telah selesai. Walaupun contoh program ini masih sangat sederhana dan masih banyak kekurangannya, semoga dapat bermanfaat. Berikut adalah contoh program dalam sebuah Perpustakaan, Silahkan Download disini.

Sabtu, 15 Oktober 2011

PEMROGRAMAN BAHASA RAKITAN


UTS PRAKTEK
PEMROGRAMAN BAHASA RAKITAN
Dosen : Nahar Mardiyantoro, M.Kom

1.       Menampilkan karakter beratribut M-A dengan foreground merah dan background hitam :
Flowchart :

.model small
.code
org 100h
mulai:
        mov ah,09h
        mov bl,00001100b
        mov cx,13           
int 10h         
a:
        mov ah,02h
        mov dl,77
        mov cx,13
ulang:
        int 21h
        dec dl
        loop ulang
int 20h
end mulai


jika coding tersebut dijalankan akan tampak seperti dalam gambar berikut :


Mov ah,09h adalah perintah untuk memasukan instruksi dengan alamat mov bl,00001100b. Intruksi mov bl,00001100b berfungsi untuk merubah karakter hasilnya menjadi warna merah. Mov cx,13 adalah perulangan sebanyak 13 kali perulangan yang dalam coding diatas akan menampilkan 13 karakter dimulai dari huruf M sampai dengan A. Mov ah,02h adalah perintah untuk mengcopy atau memindahkan. Mov dl,77 adalah intruksi yang berisi bilangan hexa yang merupakan karakter ascii yang akan dicetak. 77 adalah ascii dari “M”.  Karena hasil yang akan ditampilkan adalah pengurangan dari huruf M – A, maka menggunakan dec dl. Perulangan akan berlaku hingga nilai dl = 64 baru stop.

2.       Menampilkan kalimat jika menemukan huruf tertentu maka pencetakan selesai.
Flowchart :



Coding :
.model small
.code
org 100h
mulai :
            jmp ulang
            vkal db 'ARI DWIJAYANTI$'
ulang :
            mov dl, vkal[bx]
            mov ah, 02h
            int 21h
            inc bx
            mov ax, bx
            cmp ax,9
            je keluar
            jmp ulang
        keluar: int 20h

end mulai
 
Jika dijalankan :


 Jmp adalah perintah loncat/lompat. mov dl,vkal [bx] maka dengan alamat vkal[bx] akan dimasukan ke dl, yang dalam intruksi di atas berisi ARI DWIJAYANTI. mov ah 02h pasangan dengan int 21h merupakan perintah untuk menampilkan . inc bx  artinya mengurangi 1 karakter yang ada didalam bx mov ax secara khusus register AX digunakan pada operasi aritmatika dalam operasi pembagian dan pengurangan sedangkan bx biasanya digunakan untuk menunjukan suatu alamat offset dari suatu segmen. cmp ax,9 adalah perintah membandingkan (compare) dengan 9 karakter yang diminta yaitu jika bertemu dengan huruf Y maka akan berhenti mencetak. Jika sudah bertemu dengan karakter yang dimaksud maka akan keluar. Sebaliknya selamat belum menemukan huruf Y, maka instruksi akan diulang terus.


 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | Best Buy Printable Coupons