Newest Post

// Posted by :Muhammad Fadhli // On :Tuesday, December 2, 2014

Nama : Muhammad Fadhli
Kelas : 1CB
NIM : 061430700541
Mata Kuliah : Praktek Bahasa Rakitan

Langkah - Langkah Membuat Menu Sorot Modifikasi

Berikut ini adalah langkah - langkah yang harus anda lakukan sebelum membuat menu sorot ssebagai berikut ini ;
1.  klik ikon Windows  kemudian klik program DOSBox 0.74 seperti pada Gambar 1,kemudian hasilnya akn tampil di layar anda seperti pada Gambar 2 dibawah ini ;

 Gambar 1

Gambar 2

2. Setelah program DOSBox 0.74 terbuka lalu anda ketik langkah-langkah selanjutnya seperti berikut ini :
  1. mount e c :\tasm 
  2. e:
  3. edit 
 Maka hasil yang akan tampil dilayar anda seperti pada gambar dibawah ini ;

     Setelah anda melakukan langkah - langkah diatas hal yang harus anda lakukan selanjtnya adalah mengetik kata-kata yang ada dibawah ini ;

DELAY     MACRO 
                 MOV AX,0600h
                 XOR CX,CX
                 MOV DX,184Fh
                 MOV BH,10
                 INT 10h
                 ENDM

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
               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. 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 ?

            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
            JMP    Ulang             ; Lompat ke ulang
NolY :
            MOV  PosY,12         ; Sorotkan paling atas
            JMP    Ulang             ; Lompat ke 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 10
            MOV AH,02h
            MOV DL,'A'
            MOV CX,26
Huruf2 :
            INT 21h
            ADD DL,1
            Loop Huruf2

            JMP Masukan

Warna :
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
repwarna :
           int 21h
           loop repwarna2
           jmp Masukan

rontok: JMP Prontok

Prontok:cls
             gotoxy 25 15
             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

Hasilnya bisa anda lihat seperti pada gambar dibawah ini ;















 Kalau anda sudah selesai hal yang harus anda lakukan selanjutnya adalah dicek sekali lagi agar tidak terdapatnya kesalahan,setelah sudah anda cek kemudian klik File lalu klik Save dan berilah nama file nya xxx.asm atau seperti contoh diatas mid3.asm
    Setelah selesai anda Save dan diberi nama,kemudian klik File lalu klik Exit,setelah itu hal yang harus anda lakukan selanjutnya anda ketik tasm mid3(nama file.asm) lalu anda tekan Enter maka akan tampil dilayar anda seperti pada gambar dibawah ini ;


Hal yang harus anda lakukan selanjutnya adalah sebagai berikut :
  1.  ketik tlink nama file(nama file tugas yang anda simpan) lalu tekan Enter
  2.  ketik tlink/t Nama file(nama file yang anda simpan) lalu tekan Enter
  3. ketik nama file(nama file yang anda simpan) lalu tekan Enter
 Hasil yang akan ditampilkan  pada layar anda seperti pada gambar dibawah ini ;


Bila anda tekan Enter pada tulisan Kata Bewarna maka yang akan tampil pada layar anda seperti pada gambar dibawah ini ;


Sedangkan bila anda menekan tombol Enter pada tulisan Kata tidak bewarna maka hasil yang akan tampil dilayar anda seperti pada gambar dibawah ini ;


 Sedangkan bila anda menekan tombol Enter  pada tulisan  Rontok maka hasil yang akan tampil pada layar anda seperti pada gambar dibawah ini ;



Keterangan :
  1. Cls MACRO                 ; Macro untuk menghapus layar
  2. MOV BH,10                  ; Atribut Hijau diatas hitam
  3. GotoXY MACRO X,Y  ; Macro untuk memindahkan kursor
  4. SimpanL MACRO         ; Macro untuk menyimpan seluruh
  5. LOCAL Ulang               ; isi layar monitor
  6. BalikL MACRO            ; Macro untuk mengembalikan semua
  7. LOCAL Ulang               ; isi layar yang telah disimpan
  8. Sorot MACRO X,Y      ; Macro untuk membuat sorotan
  9. LOCAL Ulang               ; pada menu
  10. INC BX                        ; Alamat warna pada posisi X,Y
  11. MOV CX,25                 ; Panjangnya sorotan
  12. MOV BYTE PTR ES:[BX],4Fh   ; Atribut sorotan putih diatas merah
  13. Readkey MACRO                       ; Macro untuk membaca masukan dari
  14. INT 16h                                       ; hasilnya AH=Extended, AL=ASCII
  15. MenuL MACRO String                ; Macro untuk mencetak menu
  16. MOV DH                                    ; Posisi Baris(00-24)
  17. MOV DL                                     ;  Posisi Kolom(00-79)
  18. MOV BH,0                                 ;  Halaman Layar(0=default)
Untuk lebih detailnya silahkan anda klik kata berikut ini Dowload Here
            






              
            















Leave a Reply

Subscribe to Posts | Subscribe to Comments

// Copyright © GUDANG ALE //Anime-Note//Powered by Blogger // Designed by Johanes Djogan //