PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
ASSEMBLER PERTEMUAN KE-1
Manipulasi Bit dan Logika
Turbo Assembly Operasi Aritmatika.
Set-Set Instruksi MCS-51 (Pendahuluan)
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat.
Bhakti Yudho Suprapto, MT
Turbo Assembly Compare and Jump.
Turbo Assembly Masukan dari Keyboard.
REGISTER Oleh : Oman Somantri, S.Kom
QUIZ. Berapakah nilai hexadecimal dari destination operand pada setiap instruksi ? (Jika terdapat instruksi yang ERROR atau ILLEGAL, tuliskan ERROR atau.
Register di dalam 8088/8086 Nama Register Bit Katagori AX,BX,CX,DX 16
DEBUG.
Instruksi Percabangan
Dasar pemrograman Mikroprosesor 8086
PENGAMBILAN KEPUTUSAN
Turbo Assembler TASM.
Instruksi Pengatur Program
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
Mode Pengalamatan Memori
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
Pointer. Karakteristik Operasi Assembly  Lebar data tujuan dan asal harus sama! Lebar data tidak sama => invalid opcode  Operasi 8bit disimpan pada.
OPERASI ARITMATIKA.
Program Bahasa Rakitan dengan DEBUG.COM
Arsitektur Perangkat Lunak 8086
Dasar-Dasar Pemrograman Assembler
lnstruksi Aritmetika dan Logika
Pertemuan 9 Strukturisasi Control Flow pada Bahasa rakitan 8088
INSTRUKSI LOGIKA DASAR
Register.
Pertemuan 8 Instruksi Bahasa Rakitan 8088
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
Dasar-Dasar Pemrograman Assembler
EE-2623 Mikroprosesor & Antarmuka
Flag Register.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
SAP-3.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Struktur Register dan Metode Pengalamatan
Operasi String.
REGISTER.
Sistem Bilangan & REGISTER
Pengenalan Assembler.
Instruksi-instruksi pada 8086
FLOW CONTROL INSTRUTIONS
OPERASI ARITMATIKA.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
OPERASI PADA STRING.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Operasi Aritmatika.
INSTRUKSI LAIN Special Relay ( SR ) Always ON Flag
Dewi Anggraini P. Hapsari
Manipulasi Bit dan Logika
Struktur Register dan Metode Pengalamatan Memori
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

PERTEMUAN KE 5 OPERASI LOMPAT/JUMP

Lompatan Tak Bersyarat Adalah suatu bentuk lompatan yang akan langsung dijalankan tanpa ada perbandingan terlebih dahulu. Bentuk lompatan ini dibagi menjadi : Lompatan dekat ( Near Jump ) dan Lompatan jauh ( Far Jumo )

1. Lompatan Tak Bersyarat Bentuk Umum : JMP [lokasi memory] Lompatan Dekat (Near Jump) membutuhkan 2 byte, dan jauh lompatan < FF hexa byte atau 256 byte Lompatan Jauh (Far Jump) mem-butuhkan 3 byte, dan jauh lompatan tidak lebih dariFFFF hexa atau 1 segment. Contoh : Jmp 0103 melakukan lompatan kearah memory segment 0103 Jmp 0200 melakukan lompatan ke arah memory segment 0200

2. Lompatan Bersyarat Beberapa jenis lompatan menggunakan operasi perbandingan ( Compare ) Bentuk umum : CMP [operand1],[operand2] Operand1 berupa register, variabel Operand2 berupa register, variabel, isi lokasi memory, lokasi memory Contoh : -CMP AX, 0102→perintah ini digunakan untuk membandingkan AX dengan 0102 -CMP BX, AX → perintah ini digunakan untuk memban-dingkan BX dengan AX.

Berikut ini merupakan beberapa perintah lompatan bersyarat : JE ( Jump if Equal ) Lompatan akan menuju subprogram yang dituju jika ZF = 1, tetapi jika ZF = 0 maka tidak akan terjadi lompatan dan program akan melaksanakan instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP CX,BX JE Hitung

JNE ( Jump if Not Equal ) Instruksi ini akan menyebabkan melompat melanjutkan ke subprogram yang dituju jika bit Zero Flag ( ZF ) = 0, tetapi jika hasilnya ZF = 1 maka program akan menjalankan instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AX,BX JNE Hitung

JG ( Jump if Greater ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika ZF = 0 dan SF = OF( overflow flag), tetapi jika ZF = 1 atau SF ≠ OF maka program akan melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AX, 0102 JG 0102

JGE ( Jump if Greater or Equal ) Instruk ini akan menyebabkan melompat melanjutkan ke subprogram yang dituju jika SF = OF , tetapi jika SF ≠ OF tidak akan terjadi lompatan dan program akan melanjutkan ke instruksi berikutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AL,25 JGE Bagi

JNG ( Jump if Not Greater ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika SF ≠ OF atau ZF = 1, tetapi jika SF = OF dan ZF = OF maka tidak akan terjadi lompatan dan program akan melanjutkan instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AX, 90 JL 0102

JNGE ( Jump if Not Greader or Equal ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika SF ≠ OF, tetapi jika SF = OF maka tidak akan terjadi lompatan tetapi melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AX, 1000 JNGE Cetak

JA ( Jump if Above ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika CF = 0 dan XF = 0, tetapi jika CF = 1 dan ZF = 1 maka tidak akan terjadi lompatan dan program akan melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan dalam berbandingan dua angka tidak bertanda. Contoh : CMP AL,90H JA Cetak

JAE ( Jump if Above or Equal ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika CF = 0, tetapi jika CF = 1 atau ZF = 1 maka tidak

JNA ( Jump if Not Above ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika CF = 1 atau ZF = 1, tetapi jika CF = 0 dan ZF = 0 maka tidak akan terjadi lompatan tetapi program akan melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan pada perbandingan dua angka tidak bertanda. Contoh : CMP BL, 0B6H JNA Cetak

JNAE ( Jump if Not Above or Equal ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika CF = 1, tetapi jika CF = 0 maka tidak akan terjadi lompatan dan program akan melanjutkan ke instruksi selanjutnya. Contoh : CMP AX, BX JNAE Cetak

JS ( Jump on Sign ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika bit SF = 1, tetapi jika SF = 0 maka tidak terjadi lompatan tetapi program akan melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan pada perbandingan dua angka tidak bertanda. Contoh : DEC AX JS Cetak

JNS ( Jump if No Sign ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika bit SF = 0, tetapi jika SF = 1 maka tidak terjadi lompatan dan program akan melanjutkan ke instruksi selanjutnya. Instruksi ini biasa digunakan pada perbandingan dua angka tidak bertanda dan biasa digunakan setelah instruksi ADD, SUB, INC dan lain- lain. Contoh : SUB BX, 1000 JNS Cetak

JNC ( Jump if No Carry ) Instruksi ini akan menyebabkan meloncat melanjutkan ke subprogram yang dituju jika CF = 0 , tetapi jika CF = 1 maka tidak akan terjadi lompatan dan program akan melanjutkan instruksi selanjutnya. Instruksi ini biasa digunakan pada perbandingan dua angka tidak bertanda. Contoh : ADC BX, 48 JNC Cetak

JCXZ ( Jump if CX is Zero ) Instruksi ini akan menyebabkan meloncat ke subprogram yang dituju jika register CX menjadi berisi 0, tetapi jika CX ≠ 0 maka program akan melanjutkan ke instruksi selanjutnya. Contoh : JCXZ Cetak

SOAL-SOAL

Lompatan yang membutuhkan 2 byte untuk melakukan lompatan termasuk kedalam jenis lompatan,adalah : a. Near Jump c. Lompatan bersyarat b. Far Jump d. Lompatan tak bersyarat 2. Perintah lompatan berlaku bila hasil perbandingan kedua operand tidak sama, adalah : a. JE c. JG b. JNE d. JGE

2. Perintah lompatan berlaku bila hasil perbandingan kedua operand tidak sama, adalah : a. JE c. JG b. JNE d. JGE 3. Perintah lompatan berlaku bila pada saat perbandingan kedua operand sama,adalah : a. JG c. JE b. JGE d. JNE

3. Perintah lompatan berlaku bila pada saat perbandingan kedua operand sama,adalah : a. JG c. JE b. JGE d. JNE 4. Perintah lompatan akan dilakukan jika zero flag pada flag register berisi angka 0, adalah : a. JE c. JAE b. JA d. JNE

4. Perintah lompatan akan dilakukan jika zero flag pada flag register berisi angka 0, adalah : a. JE c. JAE b. JA d. JNE 5. Perintah lompatan akan dilakukan jika zero flag pada flag register berisi angka 1, adalah : a. JE c. JAE

5. Perintah lompatan akan dilakukan jika zero flag pada flag register berisi angka 1, adalah : a. JE c. JAE b. JA d. JNE Lompatan yang membutuhkan 2 byte untuk melakukan lompatan termasuk kedalam jenis lompatan,adalah : a. Near Jump c. Lompatan bersyarat b. Far Jump d. Lompatan tak bersyarat