Kamis, 11 Desember 2014

TUTORIAL PROGRAM SOROT ASSEMBLE



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
here