Program Residen Pada Assembly

Assalamualaykum

Residen merupakan program yang tetap tinggal didalam memory. Contoh program residen yang terkenal misalnya SideKick, Print(Dos) dan Doskey. Program Residen adalah program yang akan menetap didalam memory seperti halnya Dos dan program residen ini akan berada tepat diatas Operating System. Program residen akan dianggap sebagai bagian dari Operating System sehingga bila dijalankan program aplikasi maka program aplikasi tersebut akan ditaruh diatas program residen sehingga program residen kita tetap utuh.

Dalam pembuatan program residen, kita dapat membagi kedalam dua bagian pokok yaitu :

  1. Initialize Section, yaitu bagian dari program yang bertugas meresidenkan residen section. Bagian ini sendiri tidak residen, dan pada bagian inilah suatu vektor interupsi diubah.
  2. Residen Section, yaitu bagian dari program yang akan menetap pada memory. Program ini akan menetap pada memory sampai dihilangkan, atau hingga komputer di restart.
Pada program sebelumnya kita mengakhiri program dengan interupsi 20h yang akan mengembalikan kontrol program sepenuhnya ke DOS. Pada program residen, program akan selalu kita akhiri dengan interupsi 27h ataupun interupsi 21h fungsi 31h.

Contohnya kita akan membuat program untuk mengunci capslock, jadi ketika program dijalankan maka capslock akan hidup secara otomatis dan tidak bisa dimatikan kecuali dengan menutup program atau merestart komputer.

Pada alamat 40h:70h terdapat tanda tentang status tombol keyboard dimana bit ke 7 digunakan untuk menandakan keadaan dari tombol caps lock. Bit tersebut akan bernlai 1 bila caps lock sedang aktif dan 0 bila caps lock tidak aktif. Dengan mengubah bit ke 7 pada alamat 40h:70h tersebut kita bisa menyalakan tombol caps lock tanpa menekannya.

Contoh program :

aksi macro

    mov ax,40h
    mov es,ax
    mov ax,es:[17h]
    mov ax,01000000b
    mov es:[17h],ax

endm

.model small
.code
org 100h

tdata     :

        jmp res_kan
        noint equ 1ch

bag_res    proc

        push ax
        push bx
        push cx
        push dx
        push es
        push di
        push ds
        push si

        aksi

        pop si
        pop ds
        pop di
        pop es
        pop dx
        pop cx
        pop bx
        pop ax
        iret

bag_res    endp

res_kan    :

        mov ah,25h
        mov al,noint
        lea dx,bag_res
        int 21h

        lea dx,res_kan
        int 27h

end     tdata

Untuk menjalankan programnya kita harus mengkompile nya terlebih dahulu , untuk compilernya silahkan download di sini. Kemudian untuk menjalankan program kita membutuhkan Command Prompt atau bisa digantikan dengan DOSBox.

Setelah semuanya siap, ketikkan kode diatas kedalam text editor, kemudian simpan dengan ekstensi *.ASM. Setelah itu ketikkan perintah tasm namaprogram selanjutnya ketikkan perintah tlink/t namaprogram kemudian jalankan program. 


Ketika program tersebut dijalankan, maka secara otomatis Caps Lock kita akan hidup secara terus menerus. Untuk mengembalikan seperti semula caranya tutup aplikasi DOSbox atau Command Prompt.

Mungkin sampai disini dulu postingan kali ini, terimakasih.

Wassalamualaykum.

Download Tutorial

Download Contoh Program.

1 komentar:

THANKS!!!!!!!!!!!!!!!

Reply

Posting Komentar