odp-koło1-mikroklocki, IB PWr, Mikrokontrolery, Mikrokontrolery 1, wykład, wykład


1.

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

2. było we wcześniejszych rozwiązań

3.

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

4.

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=?

5.

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


grupa 2

1,2,3 podobnie j.w 5 było we wcześniejszych rozwiązaniach

4.

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=?



Wyszukiwarka