• Tidak ada hasil yang ditemukan

Materi 6: AVR Status Register & AVR Data Format Directives I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali

N/A
N/A
Protected

Academic year: 2021

Membagikan "Materi 6: AVR Status Register & AVR Data Format Directives I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali"

Copied!
43
0
0

Teks penuh

(1)

Materi 6: AVR Status Register & AVR Data Format Directives

I Nyoman Kusuma Wardana

Sistem Komputer STMIK STIKOM Bali

(2)

AVR Status Register AVR data format

AVR directive Workshop

(3)
(4)

Sprt halnya mikroprosesor lain, AVR

dilengkapi dgn flag register utk mengetahui kondisi suatu perhitungan aritmatika, msl:

carry bit

Flag register pd AVR dikenal sbg status register (SREG)

SREG mrpkn 8 bit register

Sinonim istilah: status register = flag register

(5)

Bit: C, Z, N, V, S dan H adlh conditional flag

Conditional flag  suatu kondisi yg

dihasilkan SETELAH suatu instruksi dieksekusi Setiap conditional flag dapat digunakan utk melakukan operasi percabangan (JMP)

(6)

C : Carry Flag

Bernilai 1 jika trdpt carry yg keluar dr bit D7 Flag ini bisa diaktifkan oleh operasi

penambahan atau pengurangan

(7)

Z : Zero Flag

Mrpkan indikasi dr operasi aritmatika atau operasi logika

Jika hasil adlh nol, maka Z =1. jadi, Z = 0 jika hasil operasi TIDAK sama dgn nol

(8)

N : Negative Flag

Bilangan bertanda diwakili oleh bit D7 Jika D7 = 0, maka N = 0 Positif

Jika D7 = 1, maka N = 1 Negatif

Kombinasi flag N dan V digunakan utk bil

bertanda

8 Kusuma Wardana, M.Sc.

(9)

V : Overflow Flag

Bernilai 1 jika operasi terlalu besar

menyebabkan overflow menjd bil bertanda Carry flag digunakan utk mendeteksi error operasi aritmatika bil TIDAK bertanda

Overflow flag digunakan utk mendeteksi

error operasi aritmatika bil bertanda

Kombinasi N dan V : digunakan utk operasi bil bertanda

(10)

S : Sign Flag

Merupakan hasil dr N ⨁ V  N XOR V H : Half Carry Flag

Bernilai 1  Jika trdpt carry dari D3 ke D4

akibat operasi penjumlahan &

pengurangan

Digunakan pd BCD (Binary Coded Decimal)

Pd bbrp mikroprosesr  dsbt jg AC Flag (Auxiliary Carry) Flag

(11)

Mari kita gunakan instruksi DEC dan ADD utk mengamati nilai: C, H, dan Z

Contoh:

Buatlah status Z flag selama eksekusi berikut: 11 LDI R20, 4 ;R20 = 4 DEC R20 ;R20 = R20 - 1 DEC R20 ;R20 = R20 – 1 DEC R20 ;R20 = R20 - 1 DEC R20 ;R20 = R20 - 1 Kusuma Wardana, M.Sc.

(12)

Jawab: Kusuma Wardana, M.Sc. 12 LDI R20, 4 ;R20 = 4 DEC R20 ;R20 = R20 - 1 DEC R20 ;R20 = R20 – 1 DEC R20 ;R20 = R20 - 1 DEC R20 ;R20 = R20 - 1

Setelah Nilai R20 Z Flag

LDI R20, 4 4 0

DEC R20 3 0

DEC R20 2 0

DEC R20 1 0

(13)

Contoh:

Carilah status flag C, H dan Z pd program berikut:

Kusuma Wardana, M.Sc. 13

LDI R16, 0x38

LDI R20, 0x2F

(14)

Jawab:

Mrpkn operasi 0x38 + 0x2F

C = 0  krn tdk ada carry dr D7

H = 1  krn ada carry dr D3 ke D4

Z = 0  krn hasil pd R16 bukan nol

Kusuma Wardana, M.Sc. 14

LDI R16, 0x38 LDI R20, 0x2F ADD R16, R20

(15)

Contoh:

Carilah status flag C, H dan Z pd program berikut:

Kusuma Wardana, M.Sc. 15

LDI R18, 0x9C

LDI R20, 0x64

(16)

Jawab:

Mrpkn operasi 0x9C + 0x64

C = 1  krn ada carry dr D7

H = 1  krn ada carry dr D3 ke D4

Z = 1  krn hasil pd R20 adlh nol

Kusuma Wardana, M.Sc. 16

LDI R18, 0x9C LDI R20, 0x64 ADD R20, R18

(17)

Contoh:

Carilah status flag C, H dan Z pd program berikut:

Kusuma Wardana, M.Sc. 17

LDI R20, 0x88

LDI R21, 0x93

(18)

Jawab:

Mrpkn operasi 0x88 + 0x93

C = 1  krn ada carry dr D7

H = 0  krn tidak ada carry dr D3 ke D4

Z = 0  krn hasil pd R16 adlh bukan nol

Kusuma Wardana, M.Sc. 18

LDI R20, 0x88 LDI R21, 0x93 ADD R20, R21

(19)

Tidak semua instruksi akan menghasilkan flag Bbrp instruksi hanya menghasilkan flag tertentu Kusuma Wardana, M.Sc. 19

(20)

Flag dan Percabangan

Bbrp instruksi yg akan menghasilkan

percabangan (JMP) berdasarkan status bit flag

Kusuma Wardana, M.Sc. 20 Instruksi Aksi

BRLO Bercabang jika C=1

BRSH Bercabang jika C=0 BREQ Bercabang jika Z=1 BRNE Bercabang jika Z=0 BRMI Bercabang jika N=1

BRPL Bercabang jika N=0

BRVS Bercabang jika V=1 BRVC Bercabang jika V=0

(21)
(22)

AVR data type  hanya satu yaitu: 8 bit

Ukuran tiap register  8 bit

AVR data format  Representasi data byte dlm AVR assembler dapat berupa 4 , yaitu sbb: Hex Biner Desimal ASCII Kusuma Wardana, M.Sc. 22

(23)

Bilangan Hex

Terdapat 2 cara:

Dengan 0x (atau 0X) : LDI R16, 0x99

Dengan $ : LDI R20, $99 Contoh: Kusuma Wardana, M.Sc. 23 LDI R28, $75 ;R28 = 0x75 SUBI R28, 0x11 ;R28 = 0x75 – 0x11 = 0x64 SUBI R28, 0X20 ;R28 = 0x64 – 0x20 = 0x44

(24)

Bilangan Biner

Hanya terdapat 1 cara: Dengan 0b (atau 0B)

Contoh:

Kusuma Wardana, M.Sc. 24

LDI R20, 0b00100101 ;R20 = $25

(25)

Bilangan Desimal

Hanya terdapat 1 cara:

Dengan menulis langsung bilangan

Contoh:

Kusuma Wardana, M.Sc. 25

LDI R18, 12 ;R18 = 00001100 (0C dlm hex)

(26)

Bilangan ASCII

Hanya terdapat 1 cara:

Dengan memberi single quote Contoh:

Kusuma Wardana, M.Sc. 26

LDI R20, '9' ;R20 = 0x39 (ASCII utk 9 = 0x39)

(27)
(28)
(29)

Instruksi  katakan ke CPU apa yg hrs dilakukan

Contoh: LDI, ADD, dsb

Directive  memberi petunjuk arah

(directive) utk assembler (disebut jg

pseudo-instructions)

Contoh: .EQU, .DEVICE, .ORG

(30)

.EQU (equate)

Utk menyatakan konstanta atau fix address

Tidak disimpan sbg data tertentu, namun akan digunakan sbg label

Contoh:

Kusuma Wardana, M.Sc. 30

.EQU CACAH = 0x25 ... ...

(31)

.SET

Utk menyatakan konstanta atau fix address

Identik dgn .EQU, namun .SET dpt diseting belakangan

(32)

Contoh: fixed data assignment

Kusuma Wardana, M.Sc. 32

.EQU DATA1 = 0x39 ;definisikan DATA1 = 0x39 .EQU DATA2 = $39 ;definisi lain utk DATA2 .EQU DATA3 = 0b00110101 ;DATA3 = 35 (hex)

.EQU DATA4 = 39 ;DATA 4 = 39 (dec) = 27(hex)

(33)

Contoh: SFR address assignment

Kusuma Wardana, M.Sc. 33

.EQU CACAH = 0x00 ;nilai CACAH = 00

.EQU PORTB = 0x18 ;SFR utk alamat PORTB LDI R20, CACAH ;R16 = 0x00

(34)

Contoh: RAM address assignment

Kusuma Wardana, M.Sc. 34

.EQU ALAMAT = 0x120 ;menentukan lokasi RAM LDI R20, 5 ;R20 = 5

LDI R21, 2 ;R21 = 2

ADD R20, R21 ;R20 = R20 + R21 ADD R20, R21 ;R20 = R20 + R21

(35)

Contoh:

Carilah nilai data memory utk lokasi 0x200

berdasarkan program berikut:

Kusuma Wardana, M.Sc. 35

.EQU MYCOUNT = 0x95 .EQU MYREG = 0x200 LDI R22, MYCOUNT STS MYREG, R22

(36)

Contoh:

Carilah nilai data memory utk lokasi 0x63

berdasarkan program berikut:

Kusuma Wardana, M.Sc. 36 .EQU MYDATA = 12 .EQU MYREG = 0x63 .EQU FACTOR = 0x10 LDI R19, MYDATA ADD R19, FACTOR STS MYREG, R19

(37)

.ORG (origin)

Mengindikasikan awal suatu alamat Dapat digunakan utk data ataupun program

Contoh:

Kusuma Wardana, M.Sc. 37

(38)

.INCLUDE

Seperti #include dlm bahasa C

Sesuaikan dgn jenis mikrokontroler

Contoh:

Kusuma Wardana, M.Sc. 38

(39)
(40)

Ketiklah program berikut:

Kusuma Wardana, M.Sc. 40

;Program pertamaku menggunakan AVR Studio .INCLUDE "M16DEF.INC" RESET: LDI R16, 0xFF OUT DDRB, R16 LDI R16, 0x01 LOOP: OUT PORTB, R16 ROL R16 RJMP LOOP

(41)

Buatlah program assembly utk

mensimulasikan dancing LED dgn skenario sbb:

LED akan bergerak ke kiri dan ke kanan

(42)

Kalau dibuat per tahapan akan terlihat sbb:

(43)

Mazidi, Naimi and Naimi, 2011, The AVR

Microcontroller and Embedded System: Using

Assembly and C, Prentice Hall

www.atmel.com/

Morton, John, 2007, AVR: An Introductory

Course, Newnes Publisher

Gadre, Dhananjaya, 2001, Programming and

Customizing the AVR Microcontroller,

McGraw-Hill

Daniel J.Pack and Steven F.Barrettt, 2008,

Atmel AVR Microcontroller Primer:

Programming and Interfacing, Morgan &

Claypool Publisher

Referensi

Dokumen terkait

Malang Nomor 2.2.4L{UN32|KPl2OL5 tanggal 2 Februari 20L5, dosen yang diberi tugas tambahan sebagai Kepala Laboratorium Fisika Fakultas Matematika dan llmu Pengetahuan

Ikan patin siam diintroduksikan ke Waduk Wonogiri dalam periode tahun 1999- 2002 melalui serangkaian penelitian yang dilakukan oleh peneliti dari Pusat Penelitian Pengelolaan

Fenomena sehubungan dengan pelaksanaan akuntabilitas, transparansi, pengawasan, standar akuntansi pemerintah, dan pengelolaan APBD adalah : pelaksanaan anggaran dan

Button baru, untuk mengisi data pengguna baru dan mengklik button tambah, sistem akan melakukan pengubahan data saat user memilih data dan mengklik button edit, sistem

Publikasi Kota Ternate Dalam Angka 2014 ini menyajikan data statistik dari berbagai sumber baik produk Badan Pusat Statistik (BPS) berupa output dari berbagai

Kanker dini sering kali tidak !e!#erikan keluhan spesi(ik atau !enun'ukan tanda sela!a #e#erapa tahun. U!u!n$a penderita !erasa sehat& tidak n$eri dan tidak terganggu

Hasil penelitian menunjukkan bahwa (1) Pada tahun 2009 hingga 2011 terjadi perubahan area persawahan yang signifikan yaitu dari 197,43 ha sawah menurun menjadi

Data transaksi volume saham yang ditunjukkan oleh kedua sektor yaitu sektor infrastruktur dan konstruksi dimungkinkan mempunyai interval waktu yang sangat pendek dengan frekuensi