FLOW CONTROL INSTRUTIONS

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
ASSEMBLER PERTEMUAN KE-1
Manipulasi Bit dan Logika
Algoritma : CONTROL STRUCTURES
Bhakti Yudho Suprapto, MT
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
Turbo Assembly Compare and Jump.
Turbo Assembly Masukan dari Keyboard.
REGISTER Oleh : Oman Somantri, S.Kom
Control Structures in Java Risanuri Hidayat, Ir., M.Sc.
Instruksi Percabangan
Flowchart dan Pseudocode
LOGIKA ALGORITMA Pertemuan 6.
Dasar pemrograman Mikroprosesor 8086
PENGAMBILAN KEPUTUSAN
Instruksi Pengatur Program
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
2 JAM TEORI dan 1 jam praktek
LOOPING dan array Tinaliah, S. Kom.
Pertemuan Operasi Seleksi
Struktur kontrol ∞ kondisi. ∞ if-else ,
SISTEM BILANGAN DAN REGISTER
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
if (condition) statement if (x == 100) cout << "x is 100";
Dasar-Dasar Pemrograman Assembler
STRUKTUR DASAR ALGORITMA
Stack dan Procedure.
Flag Register.
Kuliah IV Ricky Maulana Fajri, M.Sc
SAP-3.
PERULANGAN WHILE.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
SISTEM MIKROPROSESOR PERTEMUAN 4.
Struktur Register dan Metode Pengalamatan
Instruksi Perpindahan Data Miscellaneous
REGISTER.
Iterasi ( Perulangan ).
Aliran Kendali (Flow Control)
Pengenalan Assembler.
Instruksi-instruksi pada 8086
PERTEMUAN 5 Pemrograman Visual
OPERASI ARITMATIKA.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Kuliah IV Ricky Maulana Fajri, M.Sc
OPERASI PADA STRING.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Operasi Aritmatika.
PEMrograman web database
if (condition) statement if (x == 100) cout << "x is 100";
Manipulasi Bit dan Logika
Struktur Register dan Metode Pengalamatan Memori
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
Struktur Kendali MINGGU KE-2.
Transcript presentasi:

FLOW CONTROL INSTRUTIONS

Lompatan Bersyarat Sintaks : Jxxx Label_tujuan Jika kondisi untuk jump benar maka instruksi berikutnya yang akan dieksekusi adalah pada Label_tujuan yang letaknya bisa sebelum atau sesudah instruksi tersebut. Jika kondisinya salah maka instruksi yang berada di bawah instruksi lompatan yang akan dieksekusi.

Signed Jump Symbol Description Condition for jump JG / JNLE Jump if greater than Jump if not less than or equal to ZF = 0 and SF = OF JGE / JNL Jump if greater than or equal to Jump if not less than SF = CF JL / JNGE Jump if less than Jump if not greater than or equal SF <> OF JLE / JNG Jump if less than or equal Jump if not greater than ZF = 1 or SF <> OF

Unsigned Jump Symbol Description Condition for jump JA / JNBE Jump if above Jump if not below or equal CF = 0 and ZF = 0 JAE / JNB Jump if above or equal to Jump if not below CF = 0 JB / JNAE Jump if below Jump if not above or equal CF = 1 JBE / JNA Jump if equal Jump if not above CF = 1 or ZF = 1

Signed Flag Jump Symbol Description Condition for jump JE / JZ Jump if equal Jump if equal to zero ZF = 1 JNE / JNZ Jump if not equal Jump if not zero ZF = 0 JC Jump if carry CF = 1 JNC Jump if not carry CF = 0 JO Jump if overflow OF = 1 JNO Jump if not overflow OF = 0 JS Jump if sign negative SF = 1 JNS Jump if nonnegative sign SF = 0 JP / JPE Jump if parity even PF = 1 JNP / JPO Jump if parity odd PF = 0

Compare Sintaks : CMP tujuan,sumber Instruksi ini membandingkan sumber dan tujuan dengan cara mengurangkan tujuan dengan sumber. Hasil pengurangan tidak disimpan, tetapi flag yang muncul. Operand CMP tidak dapat kedua-duanya lokasi memori. Tujuan tidak dapat berupa konstanta. Catatan: CMP hanya seperti SUB, hanya operand tujuan tidak berubah.

Lompatan Tak Bersyarat Sintaks : JMP tujuan  Di mana label tujuan umunya adalah label dalam suatu segmen yang sama seperti JMP itu sendiri.

Struktur Percabangan IF - THEN Contoh : Pseudo code : IF AX < 0 THEN replace ax by –ax END_IF Program : ; IF AX < 0 CMP AX,0 ; AX < 0 ? JNL END_IF ; no, exit ; THEN NEG AX ; yes, change sign condition True- branch statements True False IF-THEN

Struktur Percabangan IF – THEN- ELSE Contoh : Pseudo code : IF AL < = BL THEN display the character in AL ELSE display the character in BL END_IF Program : MOV AH,2 ; IF AL <= BL CMP AL,BL JNBE ELSE_ ; THEN MOV DL,AL JMP DISPLAY ELSE_: MOV DL,BL DISPLAY: INT 21h condition True-branch statements True False IF-THEN-ELSE false-branch

Struktur Percabangan CASE CASE Statements_1 Expression Statements_2 Statements_n values_1 values_2 values_n ……

Pseudo code : CASE AX < 0: put –1 in BX = 0: put 0 in BX END_CASE   Program :  ; CASE AX CMP AX,0 ; test AX JL NEGATIVE ; AX < 0 JE ZERO ; AX = 0 JG POSITIVE ; AX > 0 NEGATIVE: MOV BX,-1 JMP END_CASE ZERO: MOV BX,0 POSITIVE: MOV BX,1 END_CASE:

Percabangan dengan kondisi gabungan Bentuk : kondisi_1 AND kondisi_2 atau kondisi_1 OR kondisi_2 Contoh : Pseudo Code : Baca sebuah karakter (ke dalam AL) IF (‘A’ <= karakter) AND (karakter <= ‘Z’) THEN Tampilkan karakter END_IF  

;baca sebuah karakter MOV AH,1 ; persiapan membaca INT 21h ; karakter dalam AL ; if (‘A’ <= karakter) and (karakter <= ‘Z’) CMP AL,’A’ ; karakter >= ‘A’ ? JNGE END_IF ; bukan, keluar CMP AL,’Z’ ; karakter <= ‘Z’ ? JNLE END_IF ; bukan, keluar ; then tampilkan karakter MOV DL,AL ; salin karakter ke DL MOV AH,2 ; persiapan untuk menampilkan INT 21h ; tampilkan karakter END_IF:

Pseudo Code : Baca sebuah karakter (ke dalam AL) IF (karakter = ‘y’) OR (karakter = ‘Y’) THEN Tampilkan karakter ELSE Terminate the program END_IF

MOV AH,1 ; persiapan membaca INT 21h ; karakter dalam AL ; if (karakter = ‘y’) OR (karakter = ‘Y’) CMP AL,’y’ ; karakter = ‘y’ ? JE THEN_ ; ya, bercabang ke bagian penampilan karakter CMP AL,’Y’ ; karakter = ‘Y’ ? JE THEN_ ; ya, bercabang ke bagian penampilan karakter JMP ELSE_ THEN_: MOV AH,2 ; persiapan untuk menampilkan MOV DL,AL ; salin karakter ke DL INT 21h ; tampilkan karakter JMP END_IF: : dan keluar ELSE_: MOV AH,4Ch INT 21h ; kembali ke DOS END_IF:

Struktur Looping FOR jumlah loop_count DO Statements END_FOR For Loop Pseudo Code FOR jumlah loop_count DO Statements END_FOR Instruksi LOOP dapat digunakan untuk mengimplementasikan FOR loop. Bentuknya sbb: LOOP label_tujuan Pencacah untuk loop adalah register CX yang diinisialisasi ke loop_count

While Loop Pseudo Code : WHILE kondisi DO Statement END_WHILE