Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:
JUMP Tujuan .
Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas. Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya.
Perintah JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat data program, karena jika tidak ada perintah JUMP ini maka data program akan ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda menjadi Hang.ok...langsung saja kita praktekan contoh berikut :
JUMP Tujuan .
Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas. Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya.
Perintah JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat data program, karena jika tidak ada perintah JUMP ini maka data program akan ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda menjadi Hang.ok...langsung saja kita praktekan contoh berikut :
.model small
.code
org 100h
Mulai :
jmp proses
bila db 5
kal1 db 'sama$'
kal2 db 'lebih kecil$'
kal3 db 'lebih besar$'
Proses:
mov al,bila
cmp al,5
je sama
ja kecil
jb besar
sama : mov ah,09h
lea dx, kal1
int 21h
int 20h
kecil : mov ah,09h
lea dx, kal2
int 21h
int 20h
besar : mov ah,09h
lea dx, kal3
int 21h
int 20h
End mulai
.code
org 100h
Mulai :
jmp proses
bila db 5
kal1 db 'sama$'
kal2 db 'lebih kecil$'
kal3 db 'lebih besar$'
Proses:
mov al,bila
cmp al,5
je sama
ja kecil
jb besar
sama : mov ah,09h
lea dx, kal1
int 21h
int 20h
kecil : mov ah,09h
lea dx, kal2
int 21h
int 20h
besar : mov ah,09h
lea dx, kal3
int 21h
int 20h
End mulai
bila coding diatas kita praktekan maka akan ditampilkan "sama" seperti pada gambar berikut :
mengapa ? karena pada coding bila db 5 dan cmp al, 5 yang artinya apabila kedua bilangan tersebut dibandingkan / compare (cmp al) berarti sama
Lain lagi bila pada koding cmp al,5 kita ganti bilangannya menjadi 7 ( bilangan yang lebih besar dari bilangan a lihat pada bila db 5) maka jika dipraktekan hasil yang ditampilkan adalah "lebih besar" demikian juga bila kita masukan bilangan yang lebih kecil dari 5 maka yang ditampilkan adalah "lebih kecil". seperti pada gambar berikut :
jmp atau jump merupakan perintah lompat yang pada pascal dikenal dengan go to merupakan perintah kondisional karena tidak memerlukan syarat untuk melaksanakannya. sedangkan cmp = compare atau bandingkan , je = jump equal jika perintah yang digunakan hanya dua pembanding misal sama dan beda maka digunakan jne = jump not equal (lompat jika tidak sama maka...) sedangkan pada contoh diatas
pembanding yang digunakan ada 3 macam yaitu sama, lebih kecil dan lebih besar maka digunkan je (jump equal = lompat jika sama), ja (jump above = lompat ke atas) dan jb (jump bellow= lompat ke bawah).
oya hampir lupa diatas ada tanda '$' ternyata itu berfungsi untuk membatasi karakter karena jika tanda $ dihapus yang terjadi adalah munculnya karakter yang sangat banyak atau tidak terbatas. sedangkan kapasitas terbatas .
mov al bila berarti kerjakan al berisi bila sedangkan bila=5 ( bilangan a)
cmp al, 7 = bandingkan isi dari al yaitu 5 banding 7
Lea = Load Effective Address berfungsi mentransfer opsan sumber 16 bit dalam memori ke tujuan 16 bit. lea dx, kal1 berarti dengan alamat kal1 akan dimasukan ke dx.
int 21h merupakan nomor interupsi dimana nama interupsi tersebut adalah DOS function services ,interupsi yang berarti menampilkan data agar dapat dibaca dan int 20h merupakan perintah cetak
Tidak ada komentar:
Posting Komentar