egzamin nr1


1. Zbiór typu .hex jest wynikiem pracy assemblera. Jest to standardowy format zapisywany
w kodzie ASCII wierszami o następujących polach: kod startu ':' liczba bajtów danych
(dwa znaki), adres pamięci kodu, od którego wpisywane będą dane tego wiersza (4 znaki),
typ pola danych (dwa znaki, 00 - oznacza treść programu, 01 - oznacza wiersz końca), 2n
znaków dla n bajtów danych, najmniej znaczący bajt sumy kontrolnej utworzonej ze
wszystkich bajtów bez pola ':' i bez siebie samej.
Ten bajt sumy przed zapisem ma zmieniony znak wg "uzupełnienia dwójkowego" (czyli
wynik powstaje z odjęcia od 0x100 albo przez XOR x 0xFF i dodaniu 0x01). Przykład
wiersza programu do Å‚adowania od adresu 00A0, oraz wiersza sygnalizujÄ…cego koniec
zbioru:
:1000A000C0E0C0D0D2D3C2D4C2AAC218753AFFC22F
:00000001FF
Sprawdz, czy następujący wiersz jest poprawny:
:10022000D2A8D2A9D2ABD2ACE4F52FF52AF5477506
TAK
2. Napisz obsługę przerwania timera T0, zliczającego cykle maszynowe w trybie 16-bitowym.
Załóż, że T0 jest uruchomione. W przerwaniu zwiększana jest wartość zmiennej ILE aż
osiągnie ona wartość 0xDE. Wtedy T0 ma zostać zatrzymane.
potrzebna tylko procedura Timer0
Adres przerwania T0: 0Bh
Rejestr TMOD dla trybu 16-bitowego timera 0 wyglÄ…da tak: 00000001b
On/Off przerwań dla timera 0: ET0
On/Off timera 0: TR0
On/Off globalny przerwań: ET
ILE DATA 20h
CSEG AT 0Bh
AJMP timer0_interrupt
CSEG AT 0h
AJMP reset
CSEG AT 30h
reset:
MOV TMOD, #0000001b
SETB ET0
SETB EA
SETB TR0
CLR A
start:
SJMP $
timer0_interrupt:
INC A
MOV ILE, A
CJNE A, #0DEh, dalej
CLR TR0
dalej:
RETI
END
3. Podaj cechy architektury ARM, które zasadniczo różnią ją od  rodziny 8051 i AVR.
ARM - wykonuje praktycznie wszystkie instrukcje w jednym cyklu podczas gdy 8051 potrzebuje
przeważnie więcej niż 1 np: BNEQ w ARM potrzebuje 1 cyklu DJNZ w 8051 potrzebuje 3. ARM jest
bazowany na RISK gdy 8051 jest bazowany na architekturze CISC. ARM oparty jest na architekturze
ładuj/zapisz, dane musza być przechowywane w rejestrze przed przetwarzaniem a w 8051 można
dostęp uzyskać do pamięci bezpośrednio. ARM posiada warunkowe instrukcje przetwarzania danych
(tj. przed wykonaniem instrukcji sprawdzany jest określony warunek), 8051 nie posiada takiej funkcji.
Główną różnicą między rodziną AVR a 8051 są typy adresowania. O wiele więcej rejestrów możemy
zaadresować w AVR niż w 8051, co ułatwia programowanie i skraca kod. Inną różnicą jest to, że
instrukcje AVR zmieniają o wiele więcej flag mikrokontrolera.
4. Napisz w assemblerze program, który ustawia zmienną PARITY na 1, gdy liczba jedynek w
trzech bajtach 24-bitowej zmiennej umieszczonej w adresach BAJT, BAJT+1, BAJT+2 jest
nieparzysta, a ustawia - w przypadku przeciwnym.
napisane w asemblerze MCS-51 [ 1- nieparzyste, 0-parzyste]
CSEG AT 0H
AJMP start
ZMIENNA DATA 30h
PARITY BIT 0h
start:
MOV 30h,#00010001B
MOV 31h,#01000000B
MOV 32h,#00000000B
CLR PARITY
MOV R0,#ZMIENNA
MOV R1,#3
sprawdzaj:
MOV A,@R0
JNB PSW.0,dalej
CPL PARITY
dalej:
INC R0
DJNZ R1,sprawdzaj
MOV P2,20h
END
5. Wymień najważniejsze różnice architektur RISC i CISC.
Architektura CISC (Complex Instruction Set Computer - komputer o złożonym zbiorze rozkazów)
cechuje się dużą ilością złożonych rozkazów (mikrokodowanych) mających zmienny format, małym
zestawem rejestrów strukturalnych oraz zazwyczaj rozbudowanym sposobem adresowania, Nacisk
na sprzęt
architektury RISC (Reduced Instruction Set Computer - komputer o zredukowanym zbiorze instrukcji)
cechy to zastosowanie niewielkiej listy prostych rozkazów, stałej długości rozkazu, dużej ilości
uniwersalnych rejestrów wewnętrznych, uproszczenie trybów adresowania i, zazwyczaj,
zastosowanie architektury load/store (ładuj/zapisz), czyli rozdzielenie rozkazów operujących na
pamięci od reszty rozkazów. możliwość wykonywania rozkazów w jednym cyklu zegara, a dokładniej
kończenia jednego rozkazu w jednym cyklu zegara przy spełnieniu określonych warunków, Nacisk na
oprogramowanie
6. z tablicy pod adresem 0x50 o długości 0x40 wybierz bajty z parzysta liczba jedynek i utworzyc z
nich nowÄ… tablice
Ogólnie pod adresem na który wskazuje zmienna BUFOR (50h) mamy aktualną tablice. Przenosimy te
elementy, które mają parzystą liczbę jedynek w zapisie bitowym do tablicy o adresie zdefiniowanym
w TABLICA (70h). Wykorzystujemy bit PSW.0 (patrz zad. 4).
ILE EQU 8 ; 0x60 = dec. 64 = 8 bajtów (elementów)
BUFOR DATA 50h
TABLICA DATA 70h
CSEG AT 0h
JMP start
start:
MOV R0, #TABLICA
MOV A, #0
MOV DPTR, #BUFOR
MOV R1, #ILE
loop:
MOV A, #0
MOVC A, @A+DPTR ; Do A ladujemy WARTOSC z adresu 0x50 ...
INC DPTR ; ... ktory zwiekszamy z kazdym obrotem petli
JNB PSW.0, dodaj_do_tablicy ; jezeli PSW.0 = 0 (parzyste) to skocz
do event
powrot:
DJNZ R1, loop ; licznik petli 8 do 0
AJMP $
dodaj_do_tablicy:
MOV @R0, A ; Ladujemy element do adresu 0x70...
INC R0 ; ...ktory zwiekszamy z kazdym obrotem petli
AJMP powrot
CSEG AT BUFOR
DB 1,2,3,4,5,6,7,8
; tablica z kolejnymi wartosciami
; bitowo: 1, 10, 11, 100, 101, 110, 111, 1000
; mamy 3 elementy z parzysta liczba bitow
END
7. DAC 10-bitowy o Uref =2.048V jaka będzie odpowiedz analogowa gdy rejestr danych
przechowujÄ… wartosci: DACDATAH = 0 DACDATAL = 0xF3
Nie jestem pewien co do tego wzoru, ale ciężko znalezć coś sensownego na ten temat.
D = 0xF3 = 243 dec.
N = 10
Uref = 2,048
Uout=Uref*D/2N
Uout = 2,04800 * (243 / (2^10)) = 0,486
8. napisz podprogram dla uzyskania opóznienia 1ms. Procesor ma cykl maszynowy równy 0.5us
Obliczamy x - liczbÄ™ potrzebnych cykli
1ms = 1000µs
1000 = x*0,5
x = 2000
MOV R1, #4
petla:
MOV R0, #165
DJNZ R0, $
DJNZ R1, petal
NOP
NOP
NOP
1+(1+165*3+3)*4 = 1997 + 3 = 2000
NOP, MOV  1 cykl
DJNZ  3 cykle
9. bufor danych znajduje się w pamięci pod adresem umieszczonym w R0 o długości umieszczoniej
w R1 utwórz 16 bitową sumę kontrolną w parze R2,R3
Nie do końca poprawnie, bo adres pamięci jest adresowany bezpośrednio (MOV DPTR, #50h) a nie
poprzez R0.
CSEG AT 0h
JMP start
start:
MOV R1, #08h
MOV R2, #0
MOV R3, #0
MOV DPTR, #50h
petla:
MOV A, #0
MOVC A, @A+DPTR
; tmp
MOV R5, A
MOV A, R3
ADD A, R5
MOV R3, A
MOV A, #0
ADDC A, R2
MOV R2, A
INC DPTR
DJNZ R1, petla
CSEG AT 50h
DB 132,245,135,234,215,134,156,159
END


Wyszukiwarka

Podobne podstrony:
t15 Egzamin praktyczny 2016 CZERWIEC
Egzamin Czerwiec E12
PKC pytania na egzamin
Egzamin 08 zbior zadan i pytan
patomorfologia pytania egzamin opisowy
dydaktyka egzamin sciaga
pytania rynek finansowy egzamin
obsługa pojazdu Egzamin

więcej podobnych podstron