Rabu, 05 Oktober 2016

INSTRUKTUR PERCABANGAN KELOMPOK 6

Ya.... Kali Ini Kami Akan Memberikan Sedikit informasi mengenai "INSTRUKTUR PERCABANGAN" Yang Berkaitan dengan Pelajaran SISTEM KOMPUTER Mungkin Kali Ini Kami Hanya Bisa Memberikan Sedikit saja Informasi yang Kami Ketahui

INSTRUKSI PERCABANGAN
      Insturksi percabangan mengubah urutan normal pelaksaan suatu program. Dengan instruksi ini program yang sedang dilaksanakan akan mencabang ke suatu alamat tertentu.
Instruksi percabangan berfungsi untuk membelokkan runtun eksekusi program yang semula sekuensial menjadi melompat ke instruksi yang lainnya. Instruksi percabangan terdiri atas instruksi percabangan tanpa syarat dan bersyarat.

Percabangan Tanpa Syarat
-       CALL alamat
Instruksi ini melakukan lompatan ke suatu subroutine yang ditunjuk oleh alamat/label. Ada beberapa insturksi CALL
1.     ACALL alamat-11b
Lompatan yang dapat dilakukan berada di area 2 Kbyte
2.     LCALL alamat-16b
Lompatan yang dapat dilakukan berada di area 64 Kbyte
-       JMP alamat
Instruksi ini melakukan lompatan ke suatu tempat yang diuntjuk oleh alamat/label. Ada beberapa instukrsi JMP
1.     SJMP alamat-8b
Lompatan yang dapat dilakukan berada di area 256 alamat
2.     AJMP alamat-11b
Lompatan yang dapat dilakukan berada di area 2 Kbyte
3.     LJMP alamat-16b
Lompatan yang dapat dilakukan berada diarea 64 Kbyte

Percabangan Bersyarat
Percabangan bersyarat yaitu instruksi yang akan melaksanakan percabangan ke suatu instruksi lain jika kondisinya terpenuhi, jika kondisi tidak terpenuhi maka instruksi selanjutnya (di bawahnya) yang akan dieksekusi. Instruksi percabangan dapat dikelompokkan menjadi tiga group, yaitu :
1. Menguji satu bit flag
2. Membandingkan bilangan bertanda
3. Membandingkan bilangan tak bertanda
Menguji Satu Bit Instruksi
Deskripsi
Kondisi
JZ, JE
Jump if Zero (Equel)
ZF = 1
JC , JB, JNAE
Jump if Carry (Below, Not Above Equal).
CF = 1
JS
Jump if Sign.
SF = 1
JO
Jump if Overflow
OF = 1
JPE, JP
Jump if Parity Even.
PF = 1
JNZ , JNE
Jump if Not Zero (Not Equal).
ZF = 0
JNC , JNB, JAE
Jump if Not Carry (Not Below, Above Equal).
CF = 0
JNS
Jump if Not Sign.
SF = 0
JNO
Jump if Not Overflow.
OF = 0
JPO, JNP
Jump if Parity Odd (No Parity).
PF = 0


Membandingkan Bilangan Bertanda Instruksi
Deskripsi
Kondisi
JE , JZ
Jump if Equal (=). Jump if Zero.
ZF = 1
JNE , JNZ
Jump if Not Equal (<>). Jump if Not Zero.
ZF = 0
JG , JNLE
Jump if Greater (>). Jump if Not Less or Equal (not <=)
ZF = 0 and
SF = OF
JL , JNGE
Jump if Less (<). Jump if Not Greater or Equal (not >=).
SF <> OF
JGE , JNL
Jump if Greater or Equal (>=). Jump if Not Less (not <).
SF = OF
JLE , JNG
Jump if Less or Equal (<=).Jump if Not Greater (not >).
ZF = 1 or
SF <> OF
Membandingkan bilangan tak bertanda Instruksi
Deskripsi
Kondisi
JE , JZ
Jump if Equal (=). Jump if Zero.
ZF = 1
JNE , JNZ
Jump if Not Equal (<>). Jump if Not Zero.
ZF = 0
JA , JNBE
Jump if Above (>). Jump if Not Below or Equal (not <=).
CF = 0 and
ZF = 0
JB , JNAE, JC
Jump if Below (<). Jump if Not Above or Equal (not >=). Jump if Carry.
CF = 1
JAE , JNB, JNC
Jump if Above or Equal (>=). Jump if Not Below (not <). Jump if Not Carry.
CF = 0
JBE , JNA
Jump if Below or Equal (<=). Jump if Not Above (not >).
CF = 1 or ZF = 1

Sintaks:
OP-CODE label
Contoh:
MOV AL,5
MOV BL,5
CMP AL,BL
JE stop
ADD BL
stop:RET
Secara umum jika akan membandingkan dua buah bilangan maka menggunakan instruksi CMP.
Bahan dan ALat
-     Personal Komputer
-     Program EMU8086

Sekian Informasi  Yang Dapat Kami Berikan Terima Kasih :)