Pada bagian ini akan kita lihat, bagaimana caranya menggeser tulisan dengan mengakses memory layar secara langsung dengan program rontok.
Program rontok adalah program yang akan membersihkan layar dengan cara menjatuhkan atau merontokkan huruf pada layar satu persatu.
 



Video tutorial menuliskan program rontok di cmd:

Untuk lebih jelas bisa download di link youtube: http://youtu.be/po05y3LcBTU

Penjelasan program
Delay MACRO
PUSH CX
XOR CX,CX
Loop1:
LOOP Loop1
POP CX
ENDM
Macro ini digunakan untuk menunda program. Dengan menolkan CX, maka looping yang akan didapatkan menjadi FFFFh kali, karena pengurangan 0 dengan 1 akan akan menghasilkan nilai -1 atau FFFFh.

Geser MACRO PosY
PUSH AX
PUSH BX
PUSH CX
Pada macro inilah nantinya huruf-huruf pada layar akan digeser. Untuk itu simpanlah semua register yang digunakan oleh macro ini karena pada program utama, register-register juga digunakan.
XOR CX,CX
MOV AL,26
SUB AL,PosY
MOV CL,AL
Ini adalah bagian dari macro geser yang akan menghitung banyaknya pergeseran kebawah yang akan dilakukan, dengan melihat posisi dari huruf yang digeser pada variabel "PosY".
Loop2:
MOV AL,BYTE PTR ES:[BX]
MOV BYTE PTR ES:[BX+160],AL
Hilang:
MOV BYTE PTR ES:[BX],' '
Delay
ADD BX,160
LOOP Loop2
Bagian inilah yang akan menggeser tulisan pada layar. Register BX ditambah dengan 160 untuk mengakses baris dibawahnya.

POP CX
POP BX
POP AX
ENDM
Pada akhir macro, kembalikanlah semua register yang telah disimpan pada awal macro. Ingat urutannya harus terbalik. Pada program utama:
.MODEL SMALL
.CODE
ORG 100h
TData : JMP Proses
PosY DB ?
Pertama-tama siapkanlah sebuah variabel untuk menampung posisi dari baris yang sedang diakses.

Proses:
MOV AX,0B800h
MOV ES,AX
MOV BX,3998
MOV CX,25

Register ES, kita gunakan sebagai penunjuk segment layar, yaitu pada segment B800h. Register BX yang nantinya akan kita gunakan sebagai penunjuk offset dari ES diberi nilai 3998. Dengan demikian pasangan ES:BP akan menunjuk pada karakter dipojok kanan bawah atau posisi 79,24.
UlangY :
MOV PosY,CL
PUSH CX
MOV CX,80
UlangX :
CMP BYTE PTR ES:[BX],33
JB Tdk
Geser PosY
Tdk :
SUB BX,2
LOOP UlangX
POP CX
LOOP UlangY
EXIT:
INT 20h
END TData

Kemudian lakukanlah proses dengan melihat apakah ada karakter atau tidak. Hal ini dapat dilakukan dengan membandingkannya dengan kode ASCII 33, bila data pada buffer layar dibawah ASCII 33 artinya tidak ada karakter pada
layar.
Jika ada karakter pada layar maka proses geser dilakukan, sebaliknya jika tidak ada karakter proses akan menuju pada posisi selanjutnya dan melakukan hal yang sama.


Setelah menuliskan program tersebut di command prompt, maka anda cek kesalahan program memakai TASM dan cetak TLINK dengan menggunakan DOSBOX, apabila tidak ada softwarenya, maka anda install terlebih dahulu.


Maka program tersebut tercetak, yaitu program rontok atau huruf yang melayang kebawah, sehingga huruf-huruf yang ada pada layar hilang satu persatu.
Video program rontok kebawah:

Untuk lebih jelas bisa di download di link youtube: https://www.youtube.com/watch?v=ssrL13kNyEU
Apabila ingin membuat program rontok yang huruf-hurufnya melayang dari bawah ke atas maka yang harus anda ubah adalah seperti gambar dibawah ini:








Perintah MOV AL ditambah dari sebelumnya, perintah BX+160 diubah menjadi BX-160 itu artinya program tersebut rontok ke atas, sedangkan perintah ADD BX,160 diubah menjadi SUB BX,160, agar huruf-hurufnya setelah hilang tidak membuat huruf lagi diatasnya, jadi program tersebut rontok dari bawah keatas.
Video program rontok keatas:


Untuk lebih jelas bisa di download di link youtube: http://youtu.be/-jk1cJk1f_U



Apabila ingin membuat rontok ke kanan maka yang harus diubah dari program pertama adalah seperti gambar dibawah ini:
BX+160 diubah menjadi BX+20 dan tidak menggunakan ADD, itulah yang mengakibatkan huruf-huruf pada layar rontok ke kanan.
Lalu cek kesalahan menggunakan TASM, dan cetak menggunakan perintah TLINK, maka programnya akan tercetak, yaitu huruf-huruf pada layar rontok atau melayang ke kanan.
Video program rontok kekanan:

Untuk lebih jelas bisa di download di link youtube: http://youtu.be/Va38_buvU8M



Apabila ingin membuat program rontok kekiri, maka yang perlu diubah dari program pertama adalah seperti gambar di bawah ini: 
Untuk membuat huruf-huruf pada layar rontok kekiri atau sama dengan seperti dihapus menggunakan backspace program tersebut menggunakan BX-20 dan memakai ADD BX,20 seperti gambar diatas.

Lalu cek kesalahan menggunakan TASM, dan cetak menggunakan perintah TLINK, maka programnya akan tercetak, yaitu huruf-huruf pada layar rontok kekiri.

Video program rontok kekiri:

Untuk lebih jelas bisa di download di link youtube: http://youtu.be/7GVSxOWUmT4
 




Leave a Reply