Looking for [SI.Reg] Dasar-Dasar Arsitektur Komputer (A,B,C) Genap 2023/2024 test answers and solutions? Browse our comprehensive collection of verified answers for [SI.Reg] Dasar-Dasar Arsitektur Komputer (A,B,C) Genap 2023/2024 at scele.cs.ui.ac.id.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
[AVR Memory CPMK-16] [AVR Stack Subroutine CPMK-17]
Telah didefinisikan Temp = r16, Num1 = r5, Num2 = r6, Rslt = r7, RAMEND = 0x025F.
Anda diminta mengisi semua cell yang kosong dengan nilai register sesuai kolom dalam format Hexadecimal (gunakan huruf besar untuk A .. F), pada kondisi setelah instruksi di baris tersebut dieksekusi untuk pertama kalinya. Beberapa nilai register sudah diisikan sebagai contoh, misal pada pada baris pertama yaitu setelah instruksi “rjmp Reset” dieksekusi, maka isi SPH:SPL = 0000, Temp = 00, Num = 00, Rslt = 00.
Untuk mengetahui alur eksekusi program, yang pertama perlu dilakukan adalah menentukan address dari label Reset, Recadd, dan Notzero. Sudah dicontohkan letak End.
Tentukan Address dari label: Reset = 0x; Recadd = 0x; Notzero = 0x
Address | Label | Instruction | HEX | PC | SPH:SPL | Temp | Num1 | Num2 | Rslt |
0000 | rjmp Reset | 24C0 | 0000 | 00 | 00 | 00 | 00 | ||
0025 | ldi Temp, low(RAMEND) | 0FE5 | |||||||
0026 | out SPL, Temp | 0DBF | |||||||
0027 | ldi Temp, high(RAMEND) | 02E0 | |||||||
0028 | out SPH, Temp | 0EBF | |||||||
0029 | ldi Temp, 4 | 04E0 | |||||||
002A | mov Num1, Temp | 502E | |||||||
002B | ldi Temp, 3 | 03E0 | |||||||
002C | mov Num2, Temp | 602E | |||||||
002D | rcall Recadd | 02D0 | |||||||
002E | End: | out PORTA, Rslt | 7BBA | ||||||
002F | rjmp End | FECF | |||||||
0030 | tst Num2 | 6620 | |||||||
0031 | brne Notzero | 11F4 | |||||||
0032 | mov Rslt, Num1 | 752C | |||||||
0033 | ret | 0895 | |||||||
0034 | dec Num2 | 6A94 | |||||||
0035 | rcall Recadd | FADF | |||||||
0036 | inc Rslt | 7394 | |||||||
0037 | ret | 0895 |
[AVR INT CPMK-19]
Apa saja langkah yang perlu dilakukan untuk mengaktifkan external interrupt pada pin INT1 dengan mendeteksi falling edge pada mikrokontroler AVR?
[AVR-INT CPMK-19]
Sebuah program AVR yang berjalan pada mikrokontroller dengan clock 400000 Hz akan menyalakan dan mematikan lampu LED setiap 200ms melalui mekanisme compare match interrupt.
Hal-hal yang perlu diketahui:
Lengkapilah tabel perhitungan jika program tidak mengimplementasikan prescaler dan dengan prescaler.
TABEL 1. Tanpa Prescaler
Clock (Hz) | Durasi Per Cycle (dalam ms) | Jumlah Cycle dalam 200ms | Nilai X (desimal) |
400000Hz |
Berdasarkan TABEL 1, Compare match register yang dapat digunakan adalah
TABEL 2. Dengan Prescaler 8
Clock (Hz) setelah prescale | Durasi Per Cycle (dalam ms) | Jumlah Cycle dalam 200 ms | Nilai X (desimal) |
Berdasarkan TABEL 2, Compare match register yang dapat digunakan adalah
[AVR INT CPMK-19]
Dirancang agar ada interrupt dari signal external dengan memakai INT0. ISR (Interrupt Service Routine) dari interrupt external akan menghitung jumlah interrupt dan menampilkannya secara biner di port A. Interrupt dari external bila ada transisi signal dari tinggi ke rendah (falling edge).
Lengkapilah program AVR berikut:
.include "m8515def.inc"
.def temp = r16
.def count1 = r17
.equ ENABLE_INT0 = 0b01000000 ; bit 6 untuk enable INT0
.equ FALLING_EDGE_INT0= 0b000000 ;(tuliskan 2 bit) untuk seting falling edge
.org $00
rjmp Start
.org $01
rjmp
:
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND)
out SPH,temp
;SET_INT0
ldi temp, ENABLE_INT0
out , temp
ldi temp, FALLING_EDGE_INT0
out , temp
;Set PORT A sebagai output
ser temp
out , temp
CLR count1
sei
LOOP:
rjmp LOOP
ISR_EXT_IN:
inc count1
out , count1 ;Tampilkan dalam biner jumlah EXT Int di port A
[AVR Memory CPMK-16]
Dengan kondisi awal SRAM seperti di bawah ini:
setelah empat instruksi berikut:
ldi XH, $01 ldi XL, $7B ld R9, X st -X, R9
maka isi X = 0x dan lokasi SRAM 017A = 0x
[AVR-INT CPMK-19]
Beberapa register yang sama dikonfigurasi oleh programmer pada program timer overflow maupun pada compare match interrupt, KECUALI
[AVR Memory CPMK-16]
Berikut adalah cuplikan isi dari flash/program memory:
Address | Content | |
Byte 0 | Byte 1 | |
0207 | AE | 2D |
0208 | 45 | 08 |
0209 | E7 | 17 |
020A | 5C | B3 |
Untuk menunjuk ke posisi 08 dalam flash tersebut, perlu diatur nilai ZH = 0x dan ZL = 0x
Untuk menunjuk ke posisi E7 dalam flash tersebut, perlu diatur nilai Z = 0x
[AVR Memory CPMK-16]
Isi flash di address 0x0040 adalah DFEB yaitu 16-bit Opcode untuk rcall That.
Dengan demikian label That di flash memiliki address 0x
[Datapath CMPK-14]
Apa saja fungsi multiplexer (MUX) dalam desain datapath?
[AVR-INT CPMK-19]
Konfigurasikan program timer0 overflow interrupt dengan prescaler 8
...;set prescaler 8ldi r16, $ ;2 digitout , r16
;aktifkan timer0 overflow interruptldi r16, $ ;2 digitout , r16
;reset overflow flag sebelumnyaldi r16, $ ;2 digitout , r16;aktifkan global interrupt ...
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!