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 :
- Initialize Section, yaitu bagian dari program yang bertugas meresidenkan residen section. Bagian ini sendiri tidak residen, dan pada bagian inilah suatu vektor interupsi diubah.
- 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
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 TutorialDownload Contoh Program.
1 komentar:
THANKS!!!!!!!!!!!!!!!
ReplyPosting Komentar