14 Maret 2003 Bobby Nazief ([email protected]) Qonita Shahab ([email protected])

13
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A3: Bahasa Rakitan AVR Arithmetic & Logic Instructions 14 Maret 2003 Bobby Nazief ([email protected]) Qonita Shahab ([email protected]) bahan kuliah: http://www.cs.ui.ac.id/~iki10230/ Sumber : 1. AVR AT90S8515 Data Sheet. 2. Materi kuliah CS152, th. 1997, UCB.

description

IKI10230 Pengantar Organisasi Komputer Kuliah no. A 3 : Bahasa Rakitan AVR Arithmetic & Logic Instructions. Sumber : 1. AVR AT90S8515 Data Sheet. 2. Materi kuliah CS152, th. 1997, UCB. 14 Maret 2003 Bobby Nazief ([email protected]) Qonita Shahab ([email protected]) - PowerPoint PPT Presentation

Transcript of 14 Maret 2003 Bobby Nazief ([email protected]) Qonita Shahab ([email protected])

Page 1: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

1

IKI10230Pengantar Organisasi Komputer

Kuliah no. A3: Bahasa Rakitan AVRArithmetic & Logic Instructions

14 Maret 2003

Bobby Nazief ([email protected])Qonita Shahab ([email protected])

bahan kuliah: http://www.cs.ui.ac.id/~iki10230/

Sumber:1. AVR AT90S8515 Data Sheet.2. Materi kuliah CS152, th. 1997, UCB.

Page 2: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

2

Arithmetic Instructions

Page 3: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

3

Angka (values, constants)° LDI R16,0x39

° LDI R16,0b111001

° LDI R16,57

° LDI R16,’9’

sama

Page 4: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

4

Addition° ADDITION (Penambahan)

• Contoh: ADD

• Instruksi perhitungan format 2 operand, dengan hasil (destinations) operasi disimpan pada argumen PERTAMA

ADD Rd, Rr

Tambahkan isi register Rd dan Rr, simpan hasilnya pada isi register Rd

The arguments can ONLY be registers, no values, no constants

° ADD IMMEDIATES

• ADDI tidak ada!

Page 5: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

5

Subtraction° SUBTRACTION (Pengurangan)

• Contoh: SUB

• Instruksi pengurangan format 2 operand, dengan hasil (destinations) operasi disimpan pada argumen PERTAMA

SUB Rd, RrThe arguments can ONLY be registers, no values, no

constants

° SUBTRACT IMMEDIATES• Contoh: SUBI

• Instruksi perhitungan dengan values/constants, dengan hasil (destinations) operasi disimpan pada argumen PERTAMA

SUBI Rd, kIngat: immediates hanya dapat dioperasikan dengan R16-R31

Ingat: hasil operasi aritmetik disimpan di operand sebelah KIRI

Page 6: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

6

Example: Add & Sub° Bagaimana jika instruksi HLL:

a = b + c + d – e;

° Pecahkan dalam step instruksi dan gunakan register sementara (temporer)

• .. Lakukan load isi register R1, R2, R3, R4 dengan nilai/lokasi memori b, c, d, e

Add R1, R2 ; R1 => temp = b + c

Add R1, R3 ; R1 => temp = temp + d

Sub R1, R4 ; R1 => a = temp – e

• Hasil perhitungan (nilai a) berada pada R1, store R1 ke lokasi a.

• Tanda: ; (akhir dari baris instruksi, sisanya diabaikan sbg. ket.)

Page 7: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

7

Arithmetic Instructions: Lain-lain° ADIW

° SBIW

° DEC

° INC

° CLR

° MUL

° TST

° dsb

Page 8: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

8

Logic Instructions

Page 9: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

9

Example: Compare Instructions° Contoh instruksi yang mempengaruhi status register

° Instruksi: cp (singkatan “compare”, membandingkan dengan dua argumen)

cp Rd, Rr ; operasi compare Rd dan Rr

• Evaluasi instruksi sebenarnya: Rd – Rr

• Hasil ini akan men-set flag bit: Z (zero) pada status register, jika evaluasi “subtraction” ini adalah 0 atau (Rd == Rr)

• Note: “side effect” pada status register, tapi nilai Rd dan Rr tidak berubah.

• Remember terminologi: set => 1 dan reset => 0.

Page 10: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

10

Example: Compare “Immediate”° Instruksi “compare” argumen dapat menggunakan

bilangan konstan

cpi Rd, K ; evaluasi Rd – K, set flag bit

° set flag Z; jika hasil evaluasi (Rd-K) = 0

° Contoh:

cpi r11, 5 ;compare R11 dengan 5

breq Error ;branch ke Error jika Z di set

Error: …….

Page 11: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

11

Logic Instructions: Lain-lain° AND

° ANDI

° OR

° ORI

° EOR

° dsb

Page 12: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

12

Referensi° AVR Assembler User Guide

° http://www.avr-asm-tutorial.net

° AVR AT90S8515 Data Sheets

Page 13: 14  Maret 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id)

13

Tugas 1° Implementasi

• Data Transfer Instructions

• Arithmetic & Logic Instructions

° The ‘real’ tugas

° Lihat WebKuliah

° Batas waktu: 28 Maret 2003, pukul 00:00