1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A4: Bahasa Rakitan AVR Conditional & Branch Instructions 21 Maret 2003 Bobby Nazief

Slides:



Advertisements
Presentasi serupa
Kapasitor dan Dielektrik
Advertisements

Array.
+ Pemrograman Javascript Teknik Informatika Universitas Bunda Mulia Jakarta Chandra Hermawan H., M.Kom., MM.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Algoritma & Pemrograman #10
Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
Flags.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
COMPUTER ORGANIZATION AND ARCHITECTURE (William Stallings)
EL-3014 Sistem Mikroprosesor Mikrokontroler AVR.
File Handling.
1 IKI10230 Pengantar Organisasi Komputer Pembahasan PR #3, #4, #5 4 Juni 2003 Bobby Nazief Qonita Shahab bahan.
Pemrograman Visual. Pernyataan IF…THEN…ELSE Pernyataan ini hanya memeriksa apakah suatu blok kode program dapat dieksekusi atau tidak. Jika kondisi pernyataan.
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
ModulXIII ( tigabelas) TopikKonkurensi Sub TopikMutex n-Proses Materi Algoritma Eisenberg-McGuire TujuanMahasiswa mengenal penyelesaian Mutex n-Proses.
ModulXII (dua belas) TopikKonkurensi Sub TopikAlgoritma Penyelesaian Mutual Eksklusion Materi  Algoritma Peterson  Semaphore TujuanMahasiswa mengenal.
1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 18: I/O, Interupsi 15 November 2002 Bobby Nazief Johny Moningka
Introduction to The Design & Analysis of Algorithms
PENGENALAN PL/SQL.
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
Review Operasi Matriks
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 12: Tugas No. 4 Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5.
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 07: Tugas No. 2 Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5.
Internal dan Eksternal Sorting
DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman.
EL 3014 Sistem Mikroprosesor
JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9.
1 IKI20210 Pengantar Organisasi Komputer Kuliah no. 1: Pendahuluan 14 Februari 2003 Bobby Nazief Qonita Shahab
PENGULANGAN PROSES PADA VISUAL BASIC
MEMORY Bhakti Yudho Suprapto,MT. berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil proses bersifat volatile yang berarti bahwa.
Function, Procedure, Unit
TRAVERSING BINARY TREE
ORGANISASI KOMPUTER Oleh : PUTRA PRIMA NAUFAL, S.ST SUMBER
CONDITIONAL SENTENCES (Kalimat Pengandaian)
PENGAMBILAN KEPUTUSAN. 3. Operator Logika TandaKeterangan && Logika DAN  AND I I Logika ATAU  OR ! Negasi (lawan) Logika AND  True AND True = True.
Lecture 1 Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Sprite Setiap objek dalam game yang memiliki gambar dan karakteristik.
Struktur Register dan Metode Pengalamatan Memori
STRUCTURAL CONTROL continuation STATEMENT  SWITCH  WHILE  DO..WHILE.
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Oleh Tita Karlita.
1. 2 Work is defined to be the product of the magnitude of the displacement times the component of the force parallel to the displacement W = F ║ d F.
Kondisi dan Perulangan pada C++
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A8: Bahasa Rakitan AVR Latihan 23 Mei 2003 Bobby Nazief Qonita Shahab
SUMBER CLOCK AVR UNIVERSITAS JENDERAL ACHMAD YANI RIZAL SURYANA.
Kelas Dasar HTML Dasar SMK Al-Muhajirin Sabtu, 29 November 2014.
Double Linked List. © 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Double Linked List Sama seperti single linked list, double.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
IKI10230 Pengantar Organisasi Komputer Solusi UTS
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A1: AVR Assembler & Studio 28 Februari 2003 Bobby Nazief Qonita Shahab
IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-5a: Prosesor
IKI10230 Pengantar Organisasi Komputer Kuliah no
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A5: Bahasa Rakitan AVR Stacks & SubRoutine Calls 28 Maret 2003 Bobby Nazief Qonita.
Algoritme dan Pemrograman
LOKASI DAN OPERASI MEMORI
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A3: Bahasa Rakitan AVR Arithmetic & Logic Instructions 14 Maret 2003 Bobby Nazief
Perangkat Lunak Z-80 Dalam perangkat lunak Z-80 terdapat 22 register/
Pertemuan 9 Strukturisasi Control Flow pada Bahasa rakitan 8088
Central Processing Unit
Set Instruksi:.
PERULANGAN WHILE.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
SISTEM MIKROPROSESOR PERTEMUAN 4.
REGISTER.
II. Struktur Sistem Komputer
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
FLOW CONTROL INSTRUTIONS
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Transcript presentasi:

1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A4: Bahasa Rakitan AVR Conditional & Branch Instructions 21 Maret 2003 Bobby Nazief Qonita Shahab bahan kuliah: Sumber: 1. AVR AT90S8515 Data Sheet. 2. Materi kuliah CS152, th. 1997, UCB.

2 Instruksi: Conditional & Branch

3 AVR: Control flow (1/2) °HLL: if (i == 0) i = 50; else i = i+j; exit; Exit i == 0? i= 50 (false) i != 0 (true) i == 0 i=i+j

4 AVR: Control Flow (2/2) °Condition Codes Prosesor menyimpan hasil dan status ekeskusi suatu instruksi. Status-status (flag) ini disebut condition codes, -N (negative): perhitungan sebelumnya menghasilkan bilangan negatif -Z (zero): perhitungan sebelumnya menghasilkan bilangan 0 -V (overflow): perhitungan sebelumnya menyebabkan overflow -dll AVR menyimpan status tersebut pada “field” bit tertentu dari register khusus: status register °So.. kita dapat memanfaatkan status bit ini untuk mengatur/control flow instruksi.

5 AVR: Status Register SREG: Status register C: Carry flag in status register Z: Zero flag in status register N: Negative flag in status register V: Two’s complement overflow indicator S: N  V, For signed tests H: Half Carry flag in the status register T: Transfer bit used by BLD and BST instructions I: Global interrupt enable/disable flag

6 Example: Branch Instructions (1/2)s °Contoh instruksi yang melakukan evaluasi nilai status register (kemungkinan di set oleh instruksi sebelumnya, mis. cp) °Instruksi: breq (singkatan “conditional branch if equal”, dengan argumen “label” lokasi untuk branch) breq STOP ;test (Z == 1)branch STOP ………. ;jika test fail. STOP: … ; branch jika test true. Uji (test) flag Z (pada Status Register), jika di-set (1), maka branch (loncat) label (PC = PC+label+1)

7 Example: Branch Instructions (2/2) °Terdapat juga instruksi: brne “label” ; test Z==0,branch if true °Flag Z juga akan diset jika terjadi nilai 0 (zero) Contoh: ldiR18,3 rjmpLOOP LOOP: decR18 brneLOOP °Flag Z juga akan diset jika terjadi bit overflow Contoh: ldiR18,65534 rjmpLOOP LOOP: incR18 brne LOOP

8 Contoh Program dengan Branch HLL: counter = 5; while (counter > 0) { (do something); counter--; } AVR: ldiCOUNTER, 5 rcallLOOP LOOP: dec COUNTER (do something) cpi COUNTER, 0 brne LOOP

9 Example: Jump Instructions °Instruksi branch unconditional : tidak memerlukan evaluasi flag pada register °Digunakan untuk ‘skip’ instruksi yang tidak diperlukan °Efek: PC = PC+label+1 °Instruksi: jmp (singkatan “jump” dengan argumen “label” lokasi untuk branch) jmp STOP ; go to STOP ………. ; skip STOP: … ; label

10 Contoh Program dengan Jump main: ldi counter,3 rjmploop loop: deccounter cpicounter,0 brneloop rjmptest test: clrR20 ldiR20,1 main: ldi counter,3 rjmploop ldicounter,5 loop: deccounter cpicounter,0 breqtest rjmploop test: clrR20 ldiR20,1

11 Referensi °AVR Assembler User Guide ° ° \appnotes\*.asm