MEMBUAT MENU SOROT
Dewasa ini, menu-menu yang
disajikan oleh program yang besar hampir semuanya dalam bentuk menu sorot. Kini
dengan sedikit pengetahuan mengenai memory layar akan kita buat suatu menu
sorot yang sederhana. Menu ini bisa dikembangkan atau digunakan untuk program
yang anda buat.
Cls MACRO………………. ; Macro untuk menghapus layar
MOV AX,0600h
XOR CX,CX
MOV DX,184Fh
MOV BH,10 ……………...; Atribut Hijau diatas hitam
INT 10h
ENDM
GotoXY MACRO X,Y….. ; Macro untuk memindahkan kursor
MOV AH,02
XOR BX,BX
MOV DH,Y
MOV DL,X
INT 10h
ENDM
SimpanL MACRO…….. ; Macro untuk menyimpan seluruh
LOCAL Ulang …………...; isi layar monitor
MOV AX,0B800h
MOV ES,AX
MOV CX,4000
XOR BX,BX
Ulang:
MOV AL,ES:[BX]
MOV Layar[BX],AL
INC
BX
LOOP
Ulang
ENDM
BalikL
MACRO ………; Macro untuk mengembalikan semua
LOCAL
Ulang ………..; isi layar yang telah disimpan
MOV
CX,4000
XOR
BX,BX
Ulang:
MOV
AL,Layar[BX]
MOV
ES:[BX],AL
INC
BX
LOOP
Ulang
ENDM
Sorot
MACRO X,Y……. ; Macro untuk membuat sorotan
LOCAL
Ulang……………. ; pada menu
MOV
BL,Y
MOV
AL,160
MUL
BL
MOV
BX,AX
MOV
AL,X
MOV
AH,2
MUL
AH
ADD
BX,AX
INC
BX………………….. ; Alamat warna pada posisi X,Y
MOV
CX,25…………… ; Panjangnya sorotan
Ulang:
MOV
BYTE PTR ES:[BX],4Fh… ; Atribut sorotan ; putih diatas merah
ADD
BX,2
LOOP
Ulang
ENDM
Readkey
MACRO……….............. ; Macro untuk membaca masukan dari
MOV
AH,00 ………………….…..; keyboard.
INT
16h …………………………..; hasilnya AH=Extended, AL=ASCII
ENDM
MenuL
MACRO String …………; Macro untuk mencetak menu
MOV
AH,09
LEA
DX,String
INT
21h
ENDM
;/==============================================\;
;
Program : SOROT.ASM ;
;
Author : S’to ;
;
Fungsi : Membuat menu sorot untuk ;
;
digunakan program ;
;\==============================================/;
.MODEL
SMALL
.CODE
ORG
100h
TData:
JMP Proses
Layar
DB 4000 DUP (?)
Menu
DB 9,9,'+=============================+',13,10
DB
9,9,'| »»» MENU SOROT ««« |',13,10
DB
9,9,'+=============================+',13,10
DB
9,9,'| |',13,10
DB
9,9,'| 1. Pilihan pertama |',13,10
DB 9,9,'| 2. Pilihan Kedua |',13,10
DB
9,9,'| 3. Pilihan Ketiga |',13,10
DB
9,9,'| 4. Pilihan Keempat |',13,10
DB
9,9,'| |',13,10
DB
9,9,'+=============================+$'
PosX
DB 22………………………… ; Posisi kolom mula-mula
PosY
DB 12……………………….. ; Posisi baris mula-mula
Panah_Atas
EQU 72………….. ; Kode tombol panah atas
Panah_Bawah
EQU 80….…... ; Kode tombolpanah bawah
TEnter
EQU 0Dh……….….……. ; Kode tombol Enter
Proses
:
Cls
; Hapus layar
GotoXY
0 8 ; kursor = 0,8
MenuL
Menu ; Gambar menu
SimpanL
; Simpan isi layar
Ulang
:
BalikL
; Tampilkan isi layar yang
;
disimpan
Sorot
PosX,PosY…….. ; Sorot posisi X,Y
Masukan:
Readkey…………………….…
; Baca masukan dari keyboard
CMP
AH,Panah_Bawah…… ; Panah bawah yang ditekan ?
JE
Bawah…………….………. ; Ya! lompat bawah
CMP
AH,Panah_Atas …….....; Panah atas yang ditekan ?
JE
CekY………………..……. ; Ya, lompat CekY
CMP
AL,TEnter…….…. ; Tombol enter yang ditekan ?
JNE
Masukan……….…. ; Bukan, lompat ke ulangi
JMP
Selesai ………..……; Ya, lompat ke selesai
CekY
:
CMP
PosY,12…………... ; Apakah sorotan paling atas ?
JE
MaxY…………………... ; Ya! lompat ke MaxY
DEC
PosY …………….……; Sorotkan ke atas
JMP
Ulang………….……. ; Lompat ke ulang
MaxY
:
MOV
PosY,15………….. ; PosY=Sorotan paling bawah
JMP
Ulang……………….. ; lompat ke ulang
Bawah
:
CMP
PosY,15………….… ; apakah sorotan paling bawah ?
JE
NolY………………….…. ; Ya! lompat ke NolY
INC
PosY……………….…. ; Sorotkan ke bawah
JMP
Ulang…………….…. ; Lompat ke ulang
NolY
:
MOV
PosY,12………….. ; Sorotan paling atas
JMP
Ulang …………..……; Lompat ke ulang
Selesai:
INT
20h
END
TData
1. Buka notepad, lau ketikan program tersebut.
2. kemudian simpan.
3. Buka DOSBOx lalunjalankan program tersebut dengan TASM dan cetak menggunakan Tlink.
4. Bila
program. dijalankan, maka anda akan mendapatkan suatu menu sorot yang menarik,
seperti pada gambar berikut.
Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer