1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A8: Bahasa Rakitan AVR Latihan 23 Mei 2003 Bobby Nazief Qonita Shahab

Slides:



Advertisements
Presentasi serupa
Menggambarkan Data: Tabel Frekuensi, Distribusi Frekuensi, dan Presentasi Grafis Chapter 2.
Advertisements

INTRO (TO BPOS). What is BPOS? Apakah BPOS itu? •BPOS = (Microsoft) Business Productivity Online Suite (Service) •adalah sebuah layanan online Microsoft,
Array.
TURUNAN/ DIFERENSIAL.
INTRO TO BPOS ( Coffey’s Project Portal). What is BPOS? Apakah BPOS itu? •BPOS = (Microsoft) Business Productivity Online Suite (Service) •adalah sebuah.
Pengujian Hipotesis untuk Satu dan Dua Varians Populasi
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.
PEMOGRAMAN BERBASIS JARINGAN
COMPUTER ORGANIZATION AND ARCHITECTURE (William Stallings)
EL-3014 Sistem Mikroprosesor Mikrokontroler AVR.
1 IKI10230 Pengantar Organisasi Komputer Pembahasan PR #3, #4, #5 4 Juni 2003 Bobby Nazief Qonita Shahab bahan.
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Basic I/O Interface. Instruksi I/O ◦ IN ◦ OUT ◦ INS ◦ OUTS.
ESTIMATION AND ROONDING OF NUMBERS
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
Slide 3-1 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Revised by IB & SAM, Fasilkom UI, 2005 Exercises Apa saja komponen utama.
ModulXIII ( tigabelas) TopikKonkurensi Sub TopikMutex n-Proses Materi Algoritma Eisenberg-McGuire TujuanMahasiswa mengenal penyelesaian Mutex n-Proses.
PORT I/O atmega8535.
1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 18: I/O, Interupsi 15 November 2002 Bobby Nazief Johny Moningka
Subnetting Cara Cepat I (IP Kelas C)
Database Create-Retrieve-Update-Delete (CRUD)
PENGENALAN PL/SQL.
Review Operasi Matriks
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. 07: Tugas No. 2 Sumber: 1. Paul Carter, PC Assembly Language 2. Hamacher. Computer Organization, ed-5.
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A4: Bahasa Rakitan AVR Conditional & Branch Instructions 21 Maret 2003 Bobby Nazief
DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman.
Restricting and Sorting Data
Teknik Pemrograman Mikrokontroller (Simbol Bhs Asembler) 1.Label Label menunjukkan alamat lokasi memori fisik yg berkaitan dg pernyataan yg diberi label.
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
Bilqis1 Pertemuan bilqis2 Sequences and Summations Deret (urutan) dan Penjumlahan.
JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9.
Risk Management.
Implementing an REA Model in a Relational Database
MEMORY Bhakti Yudho Suprapto,MT. berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil proses bersifat volatile yang berarti bahwa.
Slide 1 QUIS Langkah pertama caranya Buat di slide pertama judul Slide kedua soal Slide ketiga waktu habis Slide keempat jawaban yang benar Slide kelima.
Features Full Duplex Operation (Independent Serial Receive and Transmit Registers) Asynchronous or Synchronous Operation Master or Slave Clocked Synchronous.
LIMIT FUNGSI LIMIT FUNGSI ALJABAR.
TURUNAN DIFERENSIAL Pertemuan ke
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES Excel tingkat menengah – Bagan (lanjutan) Location Date Name.
Lecture 1 Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
Linked List dan Double Linked List
Contentment Philippians 4: Contentment What does it mean to be content? What does it mean to be content? Are you a content person? Are you a content.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Fungsi dan Protokol Layer Aplikasi Network Fundamentals – Chapter 3.
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.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
1 Character Strings. 2 Topik String –Representation –Declaration –Functions –Kesalahan Umum –Index char dlm string.
SUMBER CLOCK AVR UNIVERSITAS JENDERAL ACHMAD YANI RIZAL SURYANA.
Luas Daerah ( Integral ).
PENJUMLAHAN GAYA TUJUAN PEMBELAJARAN:
Menu Standard Competence Based Competence.
Retrosintetik dan Strategi Sintesis
Web Teknologi I (MKB511C) Minggu 12 Page 1 MINGGU 12 Web Teknologi I (MKB511C) Pokok Bahasan: – Text processing perl-compatible regular expression/PCRE.
CSE1301 Sem /8/2017 File I/O Lecture 19: File I/O.
Person 19 || Marty Rori 1. Apa yang Buruk Tentang Menggunakan? Vairables global? 2 tidak aman!  Jika dua atau lebih programmer bekerja sama dalam program,
OSI layer Network Subnetting & VLSM
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES PELATIHAN EXCEL DASAR.
IKI10230 Pengantar Organisasi Komputer Solusi UTS
Situasi Saat Program Berjalan (Run-time Environment)
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A1: AVR Assembler & Studio 28 Februari 2003 Bobby Nazief Qonita Shahab
BAB III RAM Internal pada MCS-51
IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-5a: Prosesor
IKI10230 Pengantar Organisasi Komputer Kuliah no
ORGANISASI KOMPUTER Mode Pengalamatan 10-Apr-17.
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A5: Bahasa Rakitan AVR Stacks & SubRoutine Calls 28 Maret 2003 Bobby Nazief Qonita.
WISNU HENDRO MARTONO,M.Sc
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A3: Bahasa Rakitan AVR Arithmetic & Logic Instructions 14 Maret 2003 Bobby Nazief
SISTEM MIKROPROSESOR PERTEMUAN 4.
Transcript presentasi:

1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A8: Bahasa Rakitan AVR Latihan 23 Mei 2003 Bobby Nazief Qonita Shahab bahan kuliah: Sumber: 1. AVR AT90S8515 Data Sheet. 2. Materi kuliah COMP1300/2300 UQ

2 Warming Up (1/3) °Tuliskan instruksi AVR yang melakukan hal-hal di bawah ini: °increment register 5 °inc r5 °load nilai 24 ke dalam register 17 °ldi r17, 24 °atau °ldi r17, $18 (notasi hexadecimal) °logical AND register 23 dan register 5, kemudian menyimpan hasilnya di register 5 °and r5, r23

3 Warming Up (2/3) °set bit-bit dalam register 18 menjadi 1 semua °ldi r18, 255 °atau °ser r18 °set bit-bit dalam register 18 menjadi 0 semua °ldi r18,0 °atau °clr r18 °negasikan register 10 °neg r10

4 Warming Up (3/3) °invert isi register 10 °com r10 °pindahkan (copy) isi register 3 ke register 4 °mov r4, r3 °set direction utk IO pada port B menjadi output °ser r16 °out DDRB, r16 °baca isi IO port C untuk disimpan di register 20 °in r20, PINC °tulis isi register 21 ke IO port B °out PORTB, r21

5 Data Transfer, Arithmetics, Branch

6 Soal 1 °Jika isi register 17 lebih besar daripada 75 (decimal), tukarlah isi register 3 & register 4 (jika sebaliknya, do nothing).def temp r16 ldi temp, 75 cp temp, r17 brlt swap rjmp continue ; otherwise, do nothing swap: mov temp, r3 mov r3, r4 mov r4, temp continue: … ; program would continue here

7 Soal 1: contoh jawaban lain.def temp r16 cpi r17,75 brlt continue; use brlo for unsigned breq continue ; if we get here, r17 > 75 ; code to swap r3 and r4 follows mov temp, r3 mov r3, r4 mov r4, temp continue: … ;program would continue here What about brge?

8 Soal 2 °Tentukan apakah nilai yang disimpan dalam memory dengan alamat 100 adalah nilai ASCII untuk huruf A (65).def temp r16 ldi XH, high(100) ; could say clr XH ldi XL, low(100) ; could say ldi XL, 100 ld temp, X ; read memory cpi temp, 65 ; compare with 65 breq matchesA ; equal – go somewhere matchesA: ;nyatakan bahwa memang benar isinya huruf A

9 Soal 3 °Clear (set menjadi 0) isi memory dengan alamat 128 s.d def temp r16 ldi XH, high(128) ; could say clr XH ldi XL, low(128) ; could say ldi XL, 128 clr temp ; store 0 in temp loop: st X+, temp ; write temp(0) out ; now need to check if loop is finished cpi XL, 192 brne loop … ; continue here when finished

10 Stacks, Subroutines

11 Soal 1 (a) °Buatlah sebuah procedure (subroutine) yg melakukan pertukaran isi register r3 dan r4. Tidak boleh ada isi register apapun yg diubah-ubah, kecuali r5. Tulis kodenya dengan menunjukkan pemanggilan subroutine-nya. main: rcall swap ;use push & pop of stack swap: push r5;only r5 used, no others mov r5,r3 mov r3,r4 mov r4,r5 pop r5 ret;it’s a procedure/subroutine, then return

12 Soal 1 (b) °Bagaimana jika benar-benar tidak ada register lain yang boleh digunakan (r5 juga tidak boleh)? main: rcall swap ;use push & pop of stack swap: push r3 ; stores r3 value on stack mov r3,r4 ; puts r4 value into r3 pop r4 ; puts original r3 val into r4 ret;it’s a procedure/subroutine, then return

13 Soal 1 (b): contoh jawaban lain °Untuk menukarkan isi dari dua register, kita dapat menggunakan 3 kali instruksi eor (exclusive OR). main: rcall swap ;use push & pop of stack swap: eor r3,r4 eor r4,r3 eor r3,r4 ret;it’s a procedure/subroutine, then return

14 I/O, Interrupts

15 Soal 1 (a) °Buatlah sebuah ISR (interrupt service routine) yang membaca isi PORTB dan mengeluarkan nilai PORTB itu ke PORTC. Interrupt ini bekerja pada INT1..def temp = r16 EXT_INT1: in temp,PINB ;read the data out PORTC,temp ;output the data reti ;return from int

16 Soal 1 (b) °Bagaimana jika dalam ISR ingin juga dilakukan sebuah operasi arithmetic yang kemungkinan menghasilkan Carry atau Zero flag? Hint: di dalam status register juga ada interrupt flag!.def temp = r16 EXT_INT1: in temp,SREG ;get the status reg. push temp ;save the sreg value in temp,PINB ;read port B... ;...do some arithmetics operation out PORTC,temp ;output the data pop temp ;retrieve sreg value out SREG,temp ;restore the sreg reti ;return from interrupt

17 Miscellaneous

18 Macro °Buatlah sebuah macro yg menukar isi r3 dan r4..macro swap34 push r3 ; Save old r3 mov r3, r4 ; Copy old r4 to r3 pop r4 ; Old r3 to r4.endmacro °Bagaimana pemanggilannya di dalam program? ldi r16, $33 mov r3, r16 ; Give distinct value ldi r16, $44 mov r4, r16 ; Similarly r4 swap34 ; Call the macro

19 Delay °Berapakah lama delay dalam potongan program di bawah ini? DELAY: ldiR18, 255 LOOP3: ldiR19, 255 LOOP4: decR19 brneLOOP4 decR18 brneLOOP3 256 * 256 = instruksi = 0.25 microsecond (utk 1 MHz) 65536/4 = microsecond = milisecond

20 Persiapan UAS: Tugas 5 °Buatlah sebuah procedure (big subroutine) yang menghitung powers of 2 (pangkat 2) secara rekursif. Prosedur ini dapat menerima argumen di r0 (nilai 0 s.d. 7) dan memberikan jawaban (2*r0) di register r1. °Buat versi loop dari pertanyaan di atas. °Buatlah sebuah procedure yang mengkalkulasi n’th Fibonacci fib(n) secara rekursif, dimana fib(n) = fib(n- 1) + fib(n-2) dan fib(1) = fib(2) = 1 (urutannya: 1,1,2,3,5,8,13,21,34,…). Argumen n diakses di register r0 dan hasilnya disimpan di register r1. Asumsi: hasil kalkulasi maksimal tidak melebihi 255.

21 Selamat belajar