Berikut adalah tampilan Program Game "TEBAK KATA"
Berikut source code Program Game "TEBAK KATA"
=================================================================
cls macro
mov ax,0600h
xor cx,cx
mov dx,11101001b
mov bh,47
int 10h
endm
angka macro a
local ulang
local cetak
xor ax,ax
xor bx,bx
mov ax,a
mov bl,10
ulang:
xor dx,dx
div bx
inc cx
push dx
cmp ax,0
jne ulang
cetak:
mov ah,02h
pop dx
add dl,30h
int 21h
loop cetak
endm
cursor macro x,y
mov ah,02
xor bx,bx
mov dh,y
mov dl,x
int 10h
endm
string macro s
mov ah,09h
lea dx,s
int 21h
endm
.model small
.code
org 100h
tdata: jmp program
CONTINU DB 'PRES ANY EY TO CONTINUE...',13,10,
Mainmenu DB 13, 10
DB 'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',13,10
DB 'º Game TEBAK KATA º',13,10
DB 'ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹',13,10
DB 'º º',13,10
DB 'º A M º',13,10
DB 'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ' ,13,10
DB ' ',13,10
DB ' ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',13,10
DB ' º º',13,10
DB ' º **** * * * * * * * * ******* * º',13,10
DB ' º * * * * * * * * * * * * * * º',13,10
DB ' º **** * * * ****** *** ***** * ***** º',13,10
DB ' º * * * * * * * * * * * * * º',13,10
DB ' º * * ***** * * * * * * * * * * º',13,10
DB ' º º',13,10
DB ' º MENEBAK KATA YANG PAS DARI PERTANYAAN º',13,10
DB ' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ',13,10
DB ' º 1. Mulai Main º',13,10
DB ' º º',13,10
DB ' º 2. Keterangan Main º',13,10
DB ' º º',13,10
DB ' º 3. Keluar º',13,10
DB ' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ',13,10
DB 13,10,'$'
keterangan DB 13, 10
DB 'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',13,10
DB 'º Game TEBAK KATA º',13,10
DB 'ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹',13,10
DB 'º º',13,10
DB 'º A M º',13,10
DB 'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ' ,13,10
DB ' ',13,10
DB ' ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',13,10
DB ' º º º',13,10
DB ' º Game ini adalah game untuk memilih º ÉÍÍÍÍ» º',13,10
DB ' º Kata berdasarkan Ejaan Katayang º ºGAMEº º',13,10
DB ' º Telah disempurnakan (EYD). Apabila º ÉÍ» ÈÍÍÍͼ º',13,10
DB ' º Dapat memilih kataEjaan yang º ºPº ÉÍ» º',13,10
DB ' º Disempurnakan dengan benar maka º ºIº ºKº º',13,10
DB ' º Memperoleh nilai 100,dan akan º ºLº ºAº º',13,10
DB ' º melanjutkan ke soal selanjutnya yang º ºIº ºTº º',13,10
DB ' º bernilai sama º ºHº ºAº º',13,10
DB ' º º Èͼ Èͼ º',13,10
DB ' º º º',13,10
DB ' º º º',13,10
DB ' º Tekan (K) untuk kembali ke Menu Utama º º',13,10
DB ' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ',13,10
DB ' ',13,10
DB 13,10,'$'
permainan DB 13, 10
DB 'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',13,10
DB 'º Game TEBAK KATA º',13,10
DB 'ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹',13,10
DB 'º º',13,10
DB 'º A M º',13,10
DB 'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ' ,13,10
DB ' ',13,10
DB ' ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ',13,10
DB ' º TEBAKLAH KATA YANG TEPAT UNTUK MENJAWAB PERTANYAAN INI º ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' º º ',13,10
DB ' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ',13,10
DB ' ',13,10
DB ' ',13,10
DB ' NILAI: ',13,10
DB ' ',13,10
DB ' ',13,10
DB 13,10,'$'
jumSkor dw 0
;T_Enter EQU 0Dh
Kal0 DB '1. SIAPA NAMA PRESIDEN PERTAMA INDONESIA ? ',13,10,'$'
Kal1 DB ' $'
Kal2 DB '2. SIAPA NAMA PRESIDEN KEDUA INDONESIA ? ',13,10,'$'
Kal3 DB ' $'
Kal4 DB '3. SIAPA NAMA SINGKAT PRESIDEN INDOESIA SEKARANG ? ',13,10,'$'
Kal5 DB ' $'
Kal6 DB '4. SIAPA NAMA PRESIDEN JUVENTUS SEKARANG ? ',13,10,'$'
Kal7 DB ' $'
Kal8 DB '5. JUMLAH PROVINSI DI INDONESIA SEKARANG ? ',13,10,'$'
Kal9 DB ' $'
Kal10 DB '6. DIMANA IBUKUTA INDONESIA ? ',13,10,'$'
Kal11 DB ' $'
Kal12 DB '7. DIMANA IBUKOTA ITALY ? ',13,10,'$'
Kal13 DB ' $'
Kal14 DB '8. DIMANA IBUKOTA PERANCIS ? ',13,10,'$'
Kal15 DB ' $'
Kal16 DB '9. DIMANA IBUKOTA JERMAN ? ',13,10,'$'
Kal17 DB ' $'
Kal18 DB '10. 12345 x 5678 = ? ',13,10,'$'
Kal19 DB ' $'
benar db 13,10,' Jawaban anda BENAR $'
salah DB 13,10,' Jawaban anda SALAH $'
selesai db 13,10,' Anda telah mengerjakan semua soal $'
KEMBALI DB 13,10,' Tekan (M) untuk ke menu utama $'
KEMBALI1 DB 13,10,' Tekan sembarang tombol untuk keluar $'
Buffer DB 23,?,23 DUP(?)
DB 13,10,'$'
program:
cls
cursor 0,0
string Mainmenu
MOV JUMSKOR,0
Cek:
MOV AH,00h
INT 16h
cmp al,'1' ; Tekan 1
JE SOAL
CMP Al,'2' ; Tekan 2
JE CekKeterangan
CMP al,'3' ; Tekan 3
JE exit
JMP Cek
CekKeterangan :
cursor 0,0
string Keterangan
cursor 48,9
MOV AH, 00h
INT 16h
CMP AL, 'K'
JE Program
MOV AH, 00h
INT 16h
CMP AL, 'k'
JE Program
JMP CekKeterangan
soal:
cursor 0,0
string permainan
cursor 28,11
MOV JUMSKOR,0
string Kal0
string Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'S' ;Apakah huruf pertamanya 'S'
JNE WRONG1 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'O' ;Apakah huruf keduanya 'O'
JNE WRONG1 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'E'
JNE WRONG1
CMP BYTE PTR [BX]+3,'K'
JNE WRONG1
CMP BYTE PTR [BX]+4,'A'
JNE WRONG1
CMP BYTE PTR [BX]+5,'R'
JNE WRONG1
CMP BYTE PTR [BX]+6,'N'
JNE WRONG1
CMP BYTE PTR [BX]+5,'O'
JE BETUL
JNE WRONG1
soal2:
cursor 0,0
string permainan
cursor 28,11
string Kal2
string Kal3
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'S' ;Apakah huruf pertamanya 'S'
JNE WRONG2 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'O' ;Apakah huruf keduanya 'O'
JNE WRONG2 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'E'
JNE WRONG2
CMP BYTE PTR [BX]+3,'H'
JNE WRONG2
CMP BYTE PTR [BX]+4,'A'
JNE WRONG2
CMP BYTE PTR [BX]+5,'R'
JNE WRONG2
CMP BYTE PTR [BX]+6,'T'
JNE WRONG2
CMP BYTE PTR [BX]+7,'O'
JE BETUL2
JNE WRONG2
soal3:
cursor 0,0
string permainan
cursor 28,11
string Kal4
string Kal5
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'S' ;Apakah huruf pertamanya 'S'
JNE WRONG3 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'B' ;Apakah huruf keduanya 'O'
JNE WRONG3 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'Y'
JE BETUL3
JNE WRONG3
soal4:
cursor 0,0
string permainan
cursor 28,11
string Kal6
string Kal7
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'A' ;Apakah huruf pertamanya 'S'
JNE WRONG4 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'N' ;Apakah huruf keduanya 'O'
JNE WRONG4 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'G'
JNE WRONG4
CMP BYTE PTR [BX]+3,'E'
JNE WRONG4
CMP BYTE PTR [BX]+4,'L'
JNE WRONG4
CMP BYTE PTR [BX]+5,'L'
JNE WRONG4
CMP BYTE PTR [BX]+6,'I'
JE BETUL4
JNE WRONG4
soal5:
cursor 0,0
string permainan
cursor 28,11
string Kal8
string Kal9 ; Cetak kalimat Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'3' ;Apakah huruf pertamanya 'S'
JNE WRONG5 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'3' ;Apakah huruf keduanya 'O'
JE betul5
JNE WRONG5
soal6:
cursor 0,0
string permainan
cursor 28,11
string Kal10
string Kal11
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'J' ;Apakah huruf pertamanya 'S'
JNE WRONG6 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'A' ;Apakah huruf keduanya 'O'
JNE WRONG6 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'K'
JNE WRONG6
CMP BYTE PTR [BX]+3,'A'
JNE WRONG6
CMP BYTE PTR [BX]+4,'R'
JNE WRONG6
CMP BYTE PTR [BX]+5,'T'
JNE WRONG6
CMP BYTE PTR [BX]+6,'A'
JE betul6
JNE WRONG6
SOAL7:
cursor 0,0
string permainan
cursor 25,11
MOV AH,09
LEA DX,Kal12
INT 21h ; Cetak kalimat Kal0
MOV AH,09
LEA DX,Kal13
INT 21h ; Cetak kalimat Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'R' ;Apakah huruf pertamanya 'S'
JNE WRONG7 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'O' ;Apakah huruf keduanya 'O'
JNE WRONG7 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'M'
JNE WRONG7
CMP BYTE PTR [BX]+3,'A'
JE betul7
JNE WRONG7
soal8:
cursor 0,0
string permainan
cursor 26,11
MOV AH,09
LEA DX,Kal14
INT 21h ; Cetak kalimat Kal0
MOV AH,09
LEA DX,Kal15
INT 21h ; Cetak kalimat Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'P' ;Apakah huruf pertamanya 'S'
JNE WRONG8 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'A' ;Apakah huruf keduanya 'O'
JNE WRONG8 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'R'
JNE WRONG8
CMP BYTE PTR [BX]+3,'I'
JNE WRONG8
CMP BYTE PTR [BX]+4,'S'
JE betul8
JNE WRONG8
soal9:
cursor 0,0
string permainan
cursor 26,11
MOV AH,09
LEA DX,Kal16
INT 21h ; Cetak kalimat Kal0
MOV AH,09
LEA DX,Kal17
INT 21h ; Cetak kalimat Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'B' ;Apakah huruf pertamanya 'S'
JNE WRONG9 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'E' ;Apakah huruf keduanya 'O'
JNE WRONG9 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'R'
JNE WRONG9
CMP BYTE PTR [BX]+3,'L'
JNE WRONG9
CMP BYTE PTR [BX]+4,'I'
JNE WRONG9
CMP BYTE PTR [BX]+5,'N'
JE betul9
JNE WRONG9
soal10:
cursor 0,0
string permainan
cursor 24,11
MOV AH,09
LEA DX,Kal18
INT 21h ; Cetak kalimat Kal0
MOV AH,09
LEA DX,Kal19
INT 21h ; Cetak kalimat Kal1
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
CMP BYTE PTR [BX],'1' ;Apakah huruf pertamanya 'S'
JNE WRONG10 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+1,'8' ;Apakah huruf keduanya 'O'
JNE WRONG10 ;Jika tidak sama lompat ke WRONG
CMP BYTE PTR [BX]+2,'0'
JNE WRONG10
CMP BYTE PTR [BX]+3,'2'
JNE WRONG10
CMP BYTE PTR [BX]+4,'3'
JE betul10
JNE WRONG10
BETUL:
string benar
add jumSkor,100
CURSOR 14,19
ANGKA JUMSKOR
JMP soal2
BETUL2:
string benar
add jumSkor,100
CURSOR 14,19
ANGKA JUMSKOR
JMP soal3
BETUL3:
string benar
add jumSkor,100
CURSOR 14,19
ANGKA JUMSKOR
jmp SOAL4
BETUL4:
string benar
add jumSkor,100
CURSOR 18,20
ANGKA JUMSKOR
JMP soal5
BETUL5:
string benar
add jumSkor,100
ANGKA JUMSKOR
JMP soal6
BETUL6:
string benar
add jumSkor,100
ANGKA JUMSKOR
JMP soal7
BETUL7:
string benar
add jumSkor,100
ANGKA JUMSKOR
JMP soal8
BETUL8:
string benar
add jumSkor,100
CURSOR 14,19
ANGKA JUMSKOR
JMP soal9
BETUL9:
string benar
add jumSkor,100
CURSOR 14,19
ANGKA JUMSKOR
JMP soal10
BETUL10:
string SELESAI
string kembali
string kembali1
add jumSkor,100
CURSOR 18,20
ANGKA JUMSKOR
MOV AH, 00h
INT 16h
cmp al, 'M'
je program
jmp exit
WRONG1:
string salah
CURSOR 14,19
ANGKA JUMSKOR
jmp SOAL2
WRONG2:
string salah
CURSOR 14,19
ANGKA JUMSKOR
jmp SOAL3
WRONG3:
string salah
CURSOR 14,19
ANGKA JUMSKOR
jmp SOAL4
WRONG4:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal5
WRONG5:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal6
WRONG6:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal7
WRONG7:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal8
WRONG8:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal9
WRONG9:
string salah
CURSOR 14,19
ANGKA JUMSKOR
JMP soal10
WRONG10:
string SELESAI
string kembali
string kembali1
CURSOR 18,20
ANGKA JUMSKOR
MOV AH, 00h
INT 16h
CMP AL, 'M'
je program
MOV AH, 00h
INT 16h
CMP AL, 'Q'
jMP exit
exit:
MOV AH,09H
LEA DX,CONTINU
INT 21H
MOV AH,00h
INT 16h
int 20h
end tdata
Tidak ada komentar:
Posting Komentar
ketikan komentarmu disini!!!