2.
Lalu tuliskan perintah seperti berikut
DELAY MACRO
DELAY MACRO
PUSH
CX
XOR
CX,CX
LOOP1:
LOOP1:
LOOP
LOOP1
POP
CX
ENDM
GESER MACRO PosY
PUSH
AX
PUSH
BX
PUSH
CX
XOR
CX,CX
MOV
AL,50
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
SUB
BX,160
LOOP
LOOP2
POP
CX
POP
BX
POP
AX
ENDM
Cls MACRO
MOV
AX,0600h
XOR
CX,CX
MOV
DX,184Fh
MOV BH,3
INT
10h
ENDM
GotoXY MACRO
X,Y
MOV
AH,02
XOR
BX,BX
MOV
DH,Y
MOV
DL,X
INT
10h
ENDM
SimpanL MACRO
LOCAL
Ulang
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
LOCAL
Ulang
MOV
CX,4000
XOR
BX,BX
Ulang:
MOV
AL,Layar[BX]
MOV
ES:[BX],AL
INC
BX
LOOP
Ulang
ENDM
Sorot MACRO
X,Y
LOCAL
Ulang
MOV
BL,Y
MOV
AL,160
MUL
BL
MOV
BX,AX
MOV
AL,X
MOV
AH,2
MUL
AH
ADD
BX,AX
INC
BX
MOV
CX,15
Ulang:
MOV
BYTE PTR ES:[BX],4Fh
ADD
BX,2
LOOP
Ulang
ENDM
Readkey MACRO
MOV
AH,00
INT
16h
ENDM
MenuL MACRO
String
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 Warna |',13,10
DB 9,9,'| 2. Cetak Karakter tak warna |',13,10
DB 9,9,'| 3. Melayang |',13,10
DB 9,9,'| 4. SELESAI |',13,10
DB 9,9,'| |',13,10
DB 9,9,'+==============================+$' DB
PosX
DB 22
PosY
DB 12
Panah_Atas EQU
72
Panah_Bawah EQU 80
TEnter
EQU 0Dh
Proses :
Cls
GotoXY
0 8
MenuL
Menu
SimpanL
Ulang :
BalikL
Sorot
PosX,PosY
Masukan:
Readkey
CMP
AH,Panah_Bawah
JE
Bawah
CMP
AH,Panah_Atas
JE
CekY
CMP
AL,TEnter
je pilihan
JNE
Masukan
CekY
CMP
PosY,12
JE
MaxY
DEC
PosY
JMP
Ulang
MaxY :
MOV
PosY,15
JMP
Ulang
Bawah :
CMP
PosY,15
JE
NolY
INC
PosY
JMP
Ulang
NolY :
MOV PosY,12
JMP
Ulang
pilihan: cmp posy,12
je huruf
cmp posy,13
je
warna
cmp posy,14
je
rontok
cmp posy,15
jmp
SELESAI
huruf:
cls
gotoxy 25 8
mov ah,02h
mov dl,'A'
mov
cx,26
huruf2:
int 21h
add dl,1
loop huruf2
jmp Masukan
Warna: cls
gotoxy 25 10
mov ah,09h
mov bh,00h mov bl,1
mov cx,26
repwarna:
int 10h
add bl,1
loop repwarna
mov ah,02h
mov dl,'A'
mov cx,26
repwarna2:
int 21h
loop repwarna2
jmp Masukan
rontok: JMP Prontok
Prontok:cls
gotoxy 25 12
mov ah,02h
mov dl,'A'
mov cx,26
huruf3:
int 21h
add dl,1
loop huruf3
mov ah,09h
mov bh,00h
mov bl,1
mov cx,26
repwarna1:
int 10h
add bl,1
loop repwarna1
mov ah,02h
mov dl,'A'
mov cx,26
repwarna3:
int 21h
loop repwarna3
MOV AX,0B800H
MOV ES,AX
MOV BX,3998
MOV CX,25
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
jmp Selesai
Selesai:
INT 20h
END TData
3.
Setelas selesai menulisakan perintah seperti di
atas simpanlah dengan nama ‘sorotmid.asm’ lalu bukalah dos box.
7.
Jika ingin kembali seperti gambar nomor 6 maka
tekan saja panah ke bawah yang ada di keyboard leptop atau komuter.
8.
lakukan sama seperti langkah sebelumnya lalu tekan enter maka akan tampil berikut.
Tidak ada komentar:
Posting Komentar