1 / 9

Turbo Assembly

Turbo Assembly. Compare and Jump. JUMP. Perintah JMP(Jump), sudah pernah kita gunakan, dimana perintah ini digunakan untuk melompati daerah data program. Perintah JMP digunakan dengan syntax: JMP Tujuan

flynn
Download Presentation

Turbo Assembly

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Turbo Assembly 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

  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

  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

More Related