TUTORIAL PROGRAM SOROT ASSEMBLE
1.BUKALAH TERLEBIH DAHULU PROGRAM ASSEMBLE ANDA,LALU
MASUKLAH KE MENU EDIT KEMUDIAN KETIKLAH PERINTAAH BERIKUT
DELAY MACRO
PUSH CX
XOR CX,CX
LOOP1:
LOOP LOOP1
POP CX
ENDM
GESER MACRO
PosY
PUSH AX
PUSH BX
PUSH CX
XOR CX,CX
MOV AL,26
SUB AL,PosY
MOV CL,AL
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
POP CX
POP BX
POP AX
ENDM
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,15 ; 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
.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. Cetak Karakter tak
Warna |',13,10
DB
9,9,'| 2. Cetak Karakter
warna |',13,10
DB
9,9,'| 3. Rontok |',13,10
DB 9,9,'|
4. end |',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 ?
je pilihan
JNE Masukan ;
Bukan, lompat ke ulangi
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
2.KEMUDIAN JALANKAN PROGRAM NYA DENGAN TASM DAN TLINK,TAMPILAN
AKAN BERUBAH SEPERTI INI
KEMUDIAN APA BILA ANDA MENEKAN NOMOR SATU MAKA AKAN KELUAR HURUF
A-Z
APABILA ANDA MENEKAN MENU 2 HASILNYA AKAN KELUAR HURUF A
DENGAN WARNA
DAN APABILA ANDA MENEKAN MENU TIGA MAKA PROGRAM YANG ANDA
BUAT AKAN RONTOK
DAN JIKA ANDA MEMILIH 4 MAKA PROGRAM AKAN EXIT.
apabila anda ingin mendownload file maka klik link ini