Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Compare and Jump. JUMP Perintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini digunakan untuk melompati daerah data program. Perintah JMP.

Presentasi serupa


Presentasi berjudul: "Compare and Jump. JUMP Perintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini digunakan untuk melompati daerah data program. Perintah JMP."— Transcript presentasi:

1 Compare and Jump

2 JUMP Perintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini digunakan untuk melompati daerah data program. Perintah JMP digunakan dengan syntax: JMP Tujuan Perintah JMP ini dikategorikan sebagai Unconditional Jump, karena perintah ini tidak menyeleksi keadaan apapun untuk melakukan suatu lompatan. Setiap ditemui perintah ini maka lompatan pasti dilakukan. Selain dari perintah jump tanpa syarat, masih banyak perintah Jump yang menyeleksi suatu keadaan tertentu sebelum dilakukan lompatan. Perintah jump dengan penyeleksian kondisi terlebih dahulu biasanya diikuti dengan perintah untuk melihat kondisi, seperti membandingkan dengan perintah "CMP"(Compare).

3 Table of Conditional Jump Instruction MnemonicDescriptionFlag Condition JZJump if zeroZF = 1 JEJump if equal (if op1 = op2) JNZJump if not zeroZF = 0 JNEJump if not equal (if op1 <> op2) JAJump if above (if op1 > op2)CF = 0 and ZF = 0 JAEJump if above or equal (if op1 >= op2) CF = 0 JBJump if below (if op1 < op2)CF = 1 JCJump if carry JBEJump if below or equal (if op1 <= op2 ) CF = 1 and ZF = 1 JCXZjump if CX = 0CX = 0

4 Compare CMP Instruction CMP destination, source  membandingkan dua buah operand 8-bit atau 16-bit (sama seperti operasi pengurangan) Hasil dapat diamati pada FLAG Reg After CMPFlag Result Destination < SourceCF = 1 Destination = SourceZF = 1 Destination > SourceCF = 0, ZF = 0

5 Membandingkan Bilangan.MODEL SMALL.CODE ORG 100h TData: JMP Proses BilA DB 67 BilB DB 66 Kal0 DB 'Bilangan A lebih kecil dari bilangan B $' Kal1 DB 'Bilangan A sama dengan bilangan B $' Kal2 DB 'Bilangan A lebih besar dari bilangan B $'

6 Proses: MOV AL,BilA ; Masukkan bilangan A pada AL CMP AL,BilB ; Bandingkan AL(BilA) dengan Bilangan B JB AKecil ; Jika BilA < BilB, lompat ke AKecil JE Sama ; Jika BilA = BilB, lompat ke Sama JA ABesar ; Jika BilA > BilB, lompat ke ABesar Akecil: LEA DX,Kal0 ; Ambil offset Kal0 JMP Cetak ; Lompat ke cetak

7 Sama: LEA DX,Kal1 ; Ambil offset Kal1 JMP Cetak ; Lompat ke cetak ABesar: LEA DX,Kal2 ; Ambil offset Kal2 Cetak: MOV AH,09 ; Servis untuk mencetak kalimat INT 21h ; Cetak kalimat !! EXIT: INT 20h ; Kembali ke DOS. END TData

8 Contoh Program.MODEL SMALL.CODE ORG 100h TData : JMP Proses Kal DB ' Lucky Luck menembak ',13,10 DB 'Lebih cepat dari bayangannya !! ',7,7,'*' Proses: XOR BX,BX ; BX=0 MOV AH,02h ; Servis Untuk Cetak Karakter

9 Ulang: CMP Kal[BX],'*' ; Bandingkan dengan '*' JE Exit ; Jika Sama Lompat ke Exit MOV DL,Kal[BX] ; Masukkan karakter ke BX menuju DL INT 21h ; Cetak karakter INC BX ; Tambah 1 pada BX JMP Ulang ; Lompat Ke Ulang Exit : INT 20h ; Selesai ! kembali ke DOS END TData


Download ppt "Compare and Jump. JUMP Perintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini digunakan untuk melompati daerah data program. Perintah JMP."

Presentasi serupa


Iklan oleh Google