koło mikro

Mikrokontrolery

gr. 31a

  1. Proszę szczegółowo opisać działanie rozkazów z grupy ld arg1, arg2. Jakie jest znaczenie argumentów arg1 oraz arg2 tych rozkazów? Jaką postać i jaką wartość mogą przyjmować te argumenty?

Ld arg1, arg2 ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr (np. X, Y, Z)

Arg1- rejestry 0-31

Arg2 – rejestr X, Y, Z,

mogą być z postinkrementacją (np. Rd, X+) Rd(X) XX+1

lub z predekrementacją X X-1 Rd(X)

(analogicznie w przypadku Z i Y)

PCPC +1

Flagi bez zmian

  1. Proszę szczegółowo opisać działanie rozkazów z grupy brbs arg1, arg2. Jakie jest znaczenie argumentów arg1 oraz arg2 tych rozkazów? Jaką postać i jaką wartość mogą przyjmować te argumenty?

brbs ARG1,ARG2 – branch if bit in SREG is set. - może operować na dowolnej fladze – ARG1

– numer flagi (C – 0, Z – 1, N – 2 itd.), ARG2 – miejsce docelowe, znajdujące się nie dalej niż 63

bajty do przodu i 64 bajty do tyłu od rozkazu brbs. Zadziała, jeśli flaga, którą zadamy w ARG1 ma

wartość 1 – jest set. PC = PC+1 jeśli ARG1 = 0 albo PC=PC+1+k, gdzie k jest odległością od

miejsca docelowego, jeśli ARG1 jest 1. Ilość taktów – 1 jeśli warunek niespełniony, w innym

wypadku 2.

  1. Jaki będzie skutek wykonania każdego z następującej sekwencji rozkazów (proszę omówić zarówno skutki wewnątrz struktury procesora, jak i na odpowiednich jego zaciskach):

ldi r16, 0x0f

out portd, r16

ldi r16, 0xf0

out ddrd, r16

in r16, portd

Jaka będzie zawartość rejestru r16 po wykonaniu ostatniego z rozkazów?

Proszę założyć, że do zacisków portu d nic nie jest podłączone.

Ldi r16,0x0f ; załadujemy jedynki do młodszej części tetrady

Out portd,r16 ; wysyłamy zawartość rejestru 16 na port D

Ldi r16, 0xf0 ; załadujemy jedynki do starszej części tetrady

Out ddrd,r16 ; wysyłamy zawartość rejestru 16 na DDRD

In r16, portd ; do rejestru 16 ładujemy zawartość portu D , czyli 0x0f

  1. Jaka będzie zawartość rejestrów r16, r17 oraz flag Z, C po wykonaniu każdego z następującej sekwencji rozkazów:

ldi r16, 0xbc

ldi r17, 0x2b

andi r16, 0x7a

eor r16, r17

Jeżeli stanu jakiegoś rejestru albo flagi nie można podać, proszę wpisać „?”.

ldi r16, 0xbc ; r16=0xbc, r17=? Z=? C=?

ldi r17, 0x2b ; r16=0xbc, r17=0x2b Z=? C=?

andi r16, 0x7a ; r16=0x38, r17=0x2b Z=0 C=?

eor r16, r17 ; r16=0x13, r17=0x2b Z=0 C=?

  1. Proszę napisać fragment programu realizujący rozgałęzienie: gdy którykolwiek z następujących bitów rejestru r1: zerowy lub pierwszy lub czwarty jest jedynką wówczas ma zostać wywołany podprogram o nazwie pp1, a w przeciwnym razie, tzn. gdy wszystkie wymienione bity są wyzerowane, ma być wywołany podprogram pp2. Pierwotna zawartość r1 może zostać zmieniona.

Andi r1, 0b 0000 1011 ; testujemy bity czy na 0,1 lub 4 bicie jest 1 (pierwotna zawartość r1 może być zmieniona dlatego andi bezpośrednio na r1 , w przeciwnym wypadku należałby skopiować r1 do innego rejestru np. mov r1, r16

brbs 1, dalej ; jeśli jest jakas 1 ;to idziemy do dalej a jeśli 0 to przejdzie do call pp2

call pp2 ; wywołujemy podprogram 2

dalej:
call pp1 ;wywołujemy podprogram 1


gr. 32a

  1. Proszę szczegółowo opisać działanie rozkazów z grupy lds arg1, arg2. Jakie jest znaczenie argumentów arg1 oraz arg2 tych rozkazów? Jaką postać i jaką wartość mogą przyjmować te argumenty?

  2. Proszę szczegółowo opisać działanie rozkazów z grupy brbc arg1, arg2. Jakie jest znaczenie argumentów arg1 oraz arg2 tych rozkazów? Jaką postać i jaką wartość mogą przyjmować te argumenty?

  3. j.w.

  4. Jaka będzie zawartość rejestrów r16, r17 oraz flag Z, C po wykonaniu każdego z następującej sekwencji rozkazów:

ldi r16, 0xbd

ldi r17, 0x0f

eor r16, r17

ori r16, 0x16

Jeżeli stanu jakiegoś rejestru albo flagi nie można podać, proszę wpisać „?”.

ldi r16, 0xbd ; r16=0xbd, r17=? Z=? C=?

ldi r17, 0x0f ; r16=0xbd, r17=0f Z=? C=?

eor r16, r17 ; r16=0xb2, r17=? Z=0 C=?

ori r16, 0x16 ; r16=0xb6, r17=? Z=0 C=?

  1. Napisać fragment programu realizujący rozgałęzienie typu switch: gdy zawartość rejestru r16 jest równa 0x13 ma być wywołany podprogram o nazwie PP1, gdy zawartość ta wynosi 0x17 – ma być wywołany podprogram PP2, a w każdym innym razie – podprogram PP3.

ldi r16,liczba

cpi r16,13

breq pp1

cpi r16,17

breq pp2

rjmp pp3


Wyszukiwarka

Podobne podstrony:
definicje na kolo z mikro, pliki zamawiane, edukacja
koło mikro ogólna 13
Koło mikro ogólna 14
KOŁO 2 MIKRO JU (1)
kolo 3 mikro
Bakterie z rodziny Enterobacteriaceae oraz Gram, materiały farmacja, Materiały 3 rok, mikroby, koło
2 koło mikro
definicje na kolo z mikro, pliki zamawiane, edukacja
pytania koło mikro
Mikro opracowania - kolo bakteriologia, ★ materiały rok II wety, II rok, MIKROBIOLOGIA, mikrobiologi
MIKRO KOŁO II
mikro koło
wyklady 1-5, umb rok 3, materiały, mikroby, mikro, MIKROBY I KOLO
Mikrobiologia, mikro-1 kolo
mikro koło 2, Medycyna, II ROK, Mikrobiologia, Giełdy
pytania, Pytania mikro 2013 I koło, Pytania mikro 2013 I koło
word, giełda mikro kolo II , 97 pyt z odp., 1

więcej podobnych podstron