bandingkan dan lompat.doc

Upload: adi-wijaya

Post on 06-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    1/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

    BANDINGKAN DAN LOMPAT

    13.1. LOMPAT TANPA SYARATPerintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini

    digunakan untuk melompati daerah data program. Perintah JMPdigunakan dengan syntax:

     JMP TujuanPerintah JMP ini dikategorikan sebagai Unconditional Jump, karenaperintah ini tidak menyeleksi keadaan apapun untuk melakukan suatulompatan.Setiap ditemui perintah ini maka lompatan pasti dilakukan. Selain dariperintah ump tanpa syarat, masih banyak perintah Jump yangmenyeleksi suatu keadaan tertentu sebelum dilakukan lompatan.Perintah ump dengan penyeleksian kondisi terlebih dahulu biasanyadiikuti dengan perintah untuk melihat kondisi, seperti membandingkan

    dengan perintah !"MP!("ompare).

    13.2. MEMBANDINGKAN DENGAN CMPPerintah "MP("ompare) digunakan untuk membandingkan # buahoperand, dengan syntax:

    CMP Operand1Operand2"MP akan membandingkan operand$ dengan operand# dengan caramengurangkan operand$ dengan operand#. "MP tidak mempengaruhinilai %perand$ dan %perand#, perintah "MP hanya akan mempengaruhi&ags register sebagai hasil perbandingan. 'dapun &ag&ag yangterpengaruh oleh perintah "MP ini adalah:

    % akan $, ika operand$ lebih kecil dari operand# pada operasibilangan bertanda.

    S akan $, bila operand$ lebih kecil dari operand#, pada operasi

    bilangan bertanda.

    * akan $, ika operand$ nilainya sama dengan operand#.

    " akan $, ika operand$ lebih kecil dari operand# pada operasi

    bilangan tidak bertanda.

    Perlu anda ingat bah+a "MP tidak dapat membandingkan antar # lokasimemory.

    13.3. LOMPAT YANG MENGIK!TI CMPPerintah "MP yang hanya mempengaruhi &ag register, biasanya diikutidengan perintah lompat yang melihat keadaan pada &ags register ini. Jenis perintah lompat yang biasanya mengikuti perintah "MP, terdapat$# buah seperti pada gambar $.$.

    1

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    2/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

    """"""""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""""""""""""""""""""""""""""""""

    Per$n%a& L'(pa% ) K'nd$*$"""""""""""""""""""""""""""""""""""""""""""""#"""""""""""""""""""""""""""""""""""""""""""""""""""

     JA +Ju(p I, A-'e/ ) L'(pa% j$0a Operand1 / Operand2) un%u0 -$anan %$da0 -er%anda

     JG +Ju(p I, Grea%er/ ) L'(pa% j$0a Operand1 / Operand2) un%u0 -$anan -er%anda

     JE +Ju(p I, Eua/ ) L'(pa% j$0a Operand1 4 Operand2 JNE +Ju(p I, N'% Eua/ ) L'(pa% j$0a Operand1 %$da0 *a(a

    ) denan Operand2

     JB +Ju(p I, Be'5/ ) L'(pa% j$0a Operand1 + Operand2) un%u0 -$anan %$da0 -er%anda JL +Ju(p I, Le**/ ) L'(pa% j$0a Operand1 +Operand2

    ) un%u0 -$anan -er%anda JBE +Ju(p I, Be'5 'r Eua/ ) L'(pa% j$0a 'perand1 +4Operand2

    ) un%u0 -$anan %$da0 -er%anda JLE +Ju(p I, Le** 'r Eua/ ) L'(pa% j$0a Operand1 +4Operand2

    ) un%u0 -$anan -er%anda

     JAE +Ju(p I, A-'e 'r Eua/ ) L'(pa% j$0a Operand1 /4Operand2

    ) un%u0 -$anan %$da0 -er%anda JGE +Ju(p I, Grea%er 'r ) L'(pa% j$0a Operand1 /4Operand2Eua/ ) un%u0 -$anan -er%anda"""""""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""""""""""""""""

    Ga(-ar 13.1. Per$n%a& Ju(p 6an (en$0u%$ CMP

    Pada tabel $.$. dapat anda lihat bah+a terdapat dua operasi yangberbeda, yaitu operasi bilangan bertanda dan tidak bertanda. -ilangan

    bertanda adalah bilangan yang akan membedakan bilangan negati danpositi(Mis. / dan /). Sedangkan bilangan tidak bertanda adalahbilangan yang tidak akan membedakan positi dan negati, adi angka $untuk operasi bilangan bertanda akan dianggap h pada bilangan tidakbertanda. 0ebih auh mengenai bilangan bertanda dan tidak ini bisaanda lihat pada bab$.78444444444444444444444444444444444444444444497

    2

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    3/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

    7 Pr'ra( : CMPJ.ASM 77 Au%&'r : S;%' 77

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    4/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

    Pada gambar $.$. anda telah melihat sebagian dari perintah lompatbersyarat. 2ini akan kita lihat lompat bersyarat lainnya yang tersedia,seperti pada gambar $.#. 3idak seperti lompat tanpa syarat, 0ompatbersyarat hanya dapat melompat menuu label yang berarak $#4sampai 5$#/ byte dari tempat lompatan.

    """""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""""""""""""""""""""""""""""""""""""""Per$n%a& L'(pa% ) K'nd$*$"""""""""""""""""""""""""""""""""""""""""""#"""""""""""""""""""""""""""""""""""""""""""""""""""""""

     JA +Ju(p I, A-'e/ ) L'(pa% j$0a Operand1 / Operand2) un%u0 -$anan %$da0 -er%anda

     JG +Ju(p I, Grea%er/ ) L'(pa% j$0a Operand1 / Operand2) un%u0 -$anan -er%anda

     JE +Ju(p I, Eua/ ) L'(pa% j$0a Operand1 4 Operand2

     JNE +Ju(p I, N'% Eua/ ) L'(pa% j$0a Operand1 %$da0 *a(a) denan Operand2 JB +Ju(p I, Be'5/ ) L'(pa% j$0a Operand1 + Operand2

    ) un%u0 -$anan %$da0 -er%anda JL +Ju(p I, Le**/ ) L'(pa% j$0a Operand1 + Operand2

    ) un%u0 -$anan -er%anda JBE +Ju(p I, Be'5 'r Eua/ ) L'(pa% j$0a 'perand1 +4Operand2

    ) un%u0 -$anan %$da0 -er%anda JLE +Ju(p I, Le** 'r Eua/ ) L'(pa% j$0a Operand1 +4Operand2

    ) un%u0 -$anan -er%anda JAE +Ju(p I, A-'e 'r Eua/ ) L'(pa% j$0a Operand1 /4Operand2

    ) un%u0 -$anan %$da0 -er%anda JGE +Ju(p I, Grea%er 'r ) L'(pa% j$0a Operand1 /4 Operand2Eua/ ) un%u0 -$anan -er%anda

     JC +Ju(p Carr6/ ) L'(pa% j$0a Carr6 a41 JCF +Ju(p I, CF $* er'/ ) L'(pa% j$0a CF4= JNA +Ju(p I, N'% A-'e/ ) L'(pa% j$0a Operand1 + Operand2

    ) denan C

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    5/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

     JNG +Ju(p I, N'% Grea%er/ ) L'(pa% j$0a Operand1 +4Operand2

    ) denan

  • 8/17/2019 BANDINGKAN DAN LOMPAT.doc

    6/6

    Bahasa Rakitan By Okti Yudhanti Nur K 

    7944444444444444444444444444444444444444444487.MODEL SMALL.CODE

    ORG 1==&

    TDa%a : JMP Pr'*e*Ka DB @ Lu06 Lu0 (ene(-a0 @ 131=DB @ Le-$& epa% dar$ -a6anann6a

    @??@@Pr'*e*:

    FOR BFBF 7 BF4=MO AH=2& 7 Ser$* !n%u0 Ce%a0 Kara0%er

    !an:CMP KaQBF @@ 7 Band$n0an denan @@

     JE E$% 7 J$0a Sa(a L'(pa% 0e E$%MO DLKaQBF 7 Ma*u00an 0ara0%er 0e BF (enuju

    DL INT 21& 7 Ce%a0 0ara0%erINC BF 7 Ta(-a& 1 pada BF

     JMP !an 7 L'(pa% Ke !anE$% : INT 2=& 7 See*a$ 0e(-a$ 0e DOS

    END TDa%a

    Pr'ra( 13.2. Per-and$nan

    -ila program $.#. dialankan, maka pada layar akan ditampilkan:Lu06 Lu0 (ene(-a0 

      Le-$& epa% dar$ -a6anann6a 'ngka / pada akhir kalimat digunakan untuk menghasilkan suara beep.-ila anda masih ingat pada addressing yang telah kita pelaari, makaprogram $.#. tentunya tidak ada masalah.

    >