Pengantar Organisasi Komputer - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Pengantar Organisasi Komputer

Description:

N: Negative flag in status register. V: Two's complement overflow indicator ... (test) flag Z (pada Status Register), jika di-set (1), maka branch (loncat) label ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 12
Provided by: bobbyn4
Category:

less

Transcript and Presenter's Notes

Title: Pengantar Organisasi Komputer


1
IKI10230Pengantar Organisasi KomputerKuliah no.
A4 Bahasa Rakitan AVRConditional Branch
Instructions
Sumber1. AVR AT90S8515 Data Sheet.2. Materi
kuliah CS152, th. 1997, UCB.
21 Maret 2003 Bobby Nazief (nazief_at_cs.ui.ac.id)Qo
nita Shahab (niet_at_cs.ui.ac.id) bahan kuliah
http//www.cs.ui.ac.id/iki10230/
2
  • Instruksi Conditional Branch

3
AVR Control flow (1/2)
  • HLLif (i 0) i 50else i ijexit

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 Twos
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
    PClabel1)

7
Example Branch Instructions (2/2)
  • Terdapat juga instruksi
  • brne label test Z0,branch if true
  • Flag Z juga akan diset jika terjadi nilai 0
    (zero)
  • Contoh
  • ldi R18,3
  • rjmp LOOP
  • LOOP
  • dec R18
  • brne LOOP
  • Flag Z juga akan diset jika terjadi bit overflow
  • Contoh
  • ldi R18,65534
  • rjmp LOOP
  • LOOP
  • inc R18
  • brne LOOP

8
Contoh Program dengan Branch
  • HLL
  • counter 5
  • while (counter gt 0)
  • (do something)
  • counter--
  • AVR
  • ldi COUNTER, 5
  • rcall LOOP
  • 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 PClabel1
  • 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
  • rjmp loop
  • loop
  • dec counter
  • cpi counter,0
  • brne loop
  • rjmp test
  • test
  • clr R20
  • ldi R20,1

main ldi counter,3 rjmp loop ldi counter,5
loop dec counter cpi counter,0 breq test
rjmp loop test clr R20 ldi R20,1
11
Referensi
  • AVR Assembler User Guide
  • http//www.avr-asm-tutorial.net
  • ltAVR installation dirgt\appnotes\.asm
Write a Comment
User Comments (0)
About PowerShow.com