Tampilkan postingan dengan label Assembly. Tampilkan semua postingan

Membuat program sorot pada assembly

//8 Des 2014
//Posted by Robby Fajri Maulana
Kali ini saya akan memberikan tutorial cara membuat program sorot pada assembly, dalam program sorot ini, kita akan memasukan fungsi-fungsi yg telah diajari sebelumnya seperti ABC berwarna, tidak berwarna dan rontok


1. Pertama,buka program DOSBOX  dengan cara buka klik menu Windows > DOSBox 0.74  maka hasil yang akan muncul dilayar anda seperti pada Gambar dibawah ini ;







2.  Kemudian anda ketik mount e c:\tasm lalu ketik E: dan yang terakhir ketik edit rontok.asm  lalu tekan Enter,maka hasilnya akan menjadi seperti pada Gambar dibawah ini ;



        ketikkan perintah dibawah ini:



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. Huruf Warna             |',13,10
DB 9,9,'|  2. Huruf tidak berwarna    |',13,10
DB 9,9,'|  3. Rontok                  |',13,10
DB      9,9,'|  4. Keluar                  |',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 ; Sorotan paling atas
JMP Ulang ; Lompat ke ulang

pilihan:cmp     posy,12
je warna
cmp posy,13
je huruf
cmp     posy,14
je rontok1
cmp posy,15
je selesai1


huruf:
cls
gotoXY 25 10
        mov ah,02h
        mov dl,'A'
        mov cx,26
huruf2:
        int 21h
        loop huruf2

jmp Masukan

selesai1: cls
jmp selesai
rontok1:
jmp rontok
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:
        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



 Setelah anda selesai melakukan langkah-langkah diatas,hal yang harus anda lakukan selanjutnya adalah ikuti langkah-langkah berikut ini ;

ketik tlink rontok (nama file yang telah disimpan) lalu tekan Enter
ketik tlink/t rontok(nama file yang telah disimpan) lalu tekan Enter
ketik rontok (nama file yang telah disimpan) lalu tekan Enter

Maka hasil yang akan ditampilkan menjadi seperti pada gambar dibawah ini ;



selamat! anda behasil membuat menu sorot!

file untuk dilihat bisa didownload disini
Tag :, Tag :, Tag :

Membuat Program Rontok pada Assembly

//Posted by Robby Fajri Maulana
Kali ini saya akan memberikan tutorial untuk membuat program rontok pada assembly
Membuat Program Rontok Kebawah

  Pertama - tama,kita akan membuat program rontok kebawah yaitu langkah-langkahnya sebagai berikut ini ;
1. Pertama,buka program DOSBOX  dengan cara buka klik menu Windows > DOSBox 0.74  maka hasil yang akan muncul dilayar anda seperti pada Gambar dibawah ini ;







2.  Kemudian anda ketik mount e c:\tasm lalu ketik E: dan yang terakhir ketik edit rontok.asm  lalu tekan Enter,maka hasilnya akan menjadi seperti pada Gambar dibawah ini ;



        ketikkan perintah dibawah ini:

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

.MODEL SMALL
.CODE
ORG 100H
TDATA: JMP Proses
        PosY DB   ?
PROSES:
        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
    EXIT:
        INT 20H
END TDATA


  Setelah anda selesai melakukan langkah-langkah diatas,hal yang harus anda lakukan selanjutnya adalah ikuti langkah-langkah berikut ini ;

ketik tlink rontok (nama file yang telah disimpan) lalu tekan Enter
ketik tlink/t rontok(nama file yang telah disimpan) lalu tekan Enter
ketik rontok (nama file yang telah disimpan) lalu tekan Enter

Maka hasil yang akan ditampilkan menjadi seperti pada gambar dibawah ini ;



selamat! anda berhasil membuat program rontok!

file untuk dilihat bisa didownload disini
Tag :, Tag :, Tag :

Mencetak Karakter 'S' dengan Procedure

//Posted by Robby Fajri Maulana


 Berikut ini adalah langkah-langkahnya :
1. Tekan tombol Windows + R secara bersamaan lalu ketik CMD lalu klik OK  seperti pada Gambar 1,maka hasil yang akan tampil pada layar anda seperti pada Gambar 2 dibawah ini ;
Gambar 1

Gambar 2
  Setelah program Command Prompt terbuka hal yang harus anda lakukan selanjutnya adalah sebagai berikut ini ;
1. cd:
2. D:
3. cd 1cb
4. cd asm
5. cd asembly
6. edit
Lalu tekan Enter maka akan tampil dilayar anda seperti berikut ini ;
Setelah anda melakukan langkah - langkah diatas maka tulislah kata - kata dibawah ini;
.MODEL SMALL
.CODE
ORG 100h
Proses : CALL Cetak_Kar ; Panggil Cetak_Kar
              INT 20h
Cetak_Kar PROC NEAR
                     MOV AH,02h
                     MOV DL,'S'
                     INT 21h       ; Cetak karakter
                     RET             ; Kembali kepada si pemanggil
Cetak_Kar   ENDP           ; END Procedures
END Proses

Hasilnya seperti pada gambar dibawah ini ;


 Kalau anda sudah selesai,hal yang harus anda lakukan selanjutnya adalah dicek sekali lagi agar tidak terdapatnya kesalahan,setelah selesai anda mengeceknya kemudian klik menu File > Savedan berilah nama file nya xxx.asm atau seperti contoh diatas prosedur.asm

 Setelah anda selesai Save nya,kemudian klik menu File Exit, setelah itu hal yang harus anda lakukan selajutnya adalah ketik tasm prosedur(nama file.asm) lalu anda tekan Enter maka akan tampil dilayar anda seperti pada gambar dibawah ini ;





Setelah anda melakukan diatas,maka hal yang harus dilakukan selanjutnya adalah sebagai berikut ini ;

  1. ketik tlink prosedur( nama file yang telah anda simpan sebelumnya) lalu tekan Enter
  2. ketik tlink/t prosedur( nama file yang telah anda simpan sebelumnya) lalu tekan Enter
  3. ketik prosedur( nama file yang telah anda simpan sebelumnya)  lalu tekan Enter
Maka hasil yang ditampilkan sebagai berikut ini


Selamat! Anda berhasil!

file untuk dilihat bisa didownload disini
Tag :, Tag :, Tag :

Input Nilai Dari Keyboard menggunakan fungsi extended dari assembly

//Posted by Robby Fajri Maulana
Setelah sebelumnya saya telah mengajari cara membuat fungsi tombol extended pada assembly, kali ini kita akan membuat input nilai menggunakan keyboard dari assembly mengggunakan extended.

Berikut ini  adalah langkah-langkah yang harus anda lakukan :
1.Tekan tombol Windows + R secara bersamaan lalu ketik CMD lalu klik OKseperti pada Gambar 1,maka akan tampil dilayar anda seperti pada Gambar 2dibawah ini ; 

 Gambar 1

Gambar 2


2. Setelah program Command Prompt terbuka lalu anda ketik langkah-langkah selanjutnya seperti berikut ini :
  1. cd..
  2. D:
  3. cd 1CB
  4. cd asm
  5. cd asembly
  6. edit
Lalu tekan Enter maka tampil dilayar anda seperti pada gambar dibawah ini :





Setelah anda melakukan langkah-langkah diatas,maka tulislah kata-kata dibawah ini :  
.MODEL SMALL
.CODE
ORG 100h

TData : JMP Proses
            nilai DB 13,10,'Input nilai anda : $'
            nilai1 DB 13,10,'Maaf yang anda input salah : $'
            Kal1 DB 13,10, 'Tidak Lulus $'
            Kal2 DB 13,10, 'Lulus Bersyarat $'
            Kal3 DB 13,10, 'Lulus Cumlaude $'
Proses :
           LEA DX,nilai
           MOV AH,09
           INT 21h

           MOV AH,0
           INT 16h
           PUSH AX

          CMP AL,00
          JE Extended1
ASCII :
          POP AX
          MOV DL,AL
          MOV AH,2
          INT 21h

         CMP AL,'q'
         JE Exit

         CMP AL,'Q'
         JE Exit

         CMP AL,'4'
         JBE tlulus

        CMP AL,'7'
        JA cumlaude

       CMP AL,'4'
       JA lulusb

tLulus :
        LEA DX,kal1
        MOV AH,9h
        INT 21h
        JMP Proses

lulusb :
        LEA DX,kal2
        MOV AH,9h
        INT 21h
       JMP Proses

cumlaude :
        LEA DX,kal3
       MOV AH,9h
       INT 21H
       JMP Proses

extended1 :
      LEA DX,nilai1
      MOV AH,09
      INT 21h
      JMP Proses

exit : INT 20h
END TData

Hasilnya 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 > Save dan berilah nama file nya xxx.asm atau seperti contoh diatas keyboard.asm 

    Setelah selesai anda Save dan diberi nama,kemudian klik File > Exit,setelah itu hal yang harus anda lakukan selanjutnya anda ketik tasm keyboard(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
Bila anda menekan tombol extended, seperti penekanan tombol anak panah, F1, F2 dan sebagainya maka akan tampil dilayar anda seperti pada gambar dibawah ini ;

"maaf yang anda input salah"

seperti pada gambar dibawah ini ;





 Jika anda menekan tombol angka maka akan keluar   

input nilai anda : tidak lulus(jika yang anda tekan angka 1-3)
hasilnya seperti pada gambar dibawah ini ;

input nilai anda : lulus (jika yang anda tekan angka 4-7)
hasilnya seperti pada gambar dibawah ini ;


input nilai anda : lulus cumlaude(jika yang anda tekan angka 8-9) 
Hasilnya seperti pada gambar dibawah ini ;


 Bila anda ingin keluar anda tinggal menekan huruf q ,maka hasilnya bisa anda lihat seperti pada gambar dibawah ini ;

Selamat! Anda berhasil membuat input nilai!

file untuk dilihat bisa didownload disini
Tag :, Tag :, Tag :