(hard)core test na AVR

Jan Waclawek konfera@efton.sk
Pátek Prosinec 5 11:08:08 CET 2008


>> Presne "to" ma zaujima.
>
>No tak presne "to" bude tazke zistit :-)


Pisal som dakde, ze "to" je lahke? ;-)

A vobec, mas pocit, ze tu zvyknem davat lahke otazky?

Ma vobec zmysel davat lahke otazky?

Aky nazor maju Kant a Schopenhauer na davanie lahkych otazok?

Co hovori Freud na vztah pokladania lahkych otazok a zazitkov sexualneho charakteru v ranom detstve? 

:-P



>
>> Mimochodom, nedocital som sa nikde ani taku zakladnu vec, ze v akom poradi sa adresa uklada na stack. Aj to nieco svedci o urovni dokumentacie. Nie, netvrdim, ze je to nejako zvlast uzitocna ci potrebna vec, ale tiez je to o tom, ze "dali sme vam cecko tak co viac chcete".
>
>Hej.. pozeral som pdf-ka, nenasiel som. Dalo by sa to odsledovat v
>simulatore. Niekto to urobil za nas a zverejnil peknu hracku:
>http://www.cs.uakron.edu/~margush/306/ppt/06stackNcall.ppt
>na strane 32 vidno to poradie.
>

Pekne. Takze LSB je na vyssej adrese.

Moja predpoved vychadza z toho popisu co som pisal pre ten Z+: ret ma 4 cykly. V prvom cykle sa precita SP, inkrementuje, latchne sa vysledok do adresneho registra a zapise sa SP spat. V tomto okamihu teda uz ukazuje SP na sam seba, t.j. v SPL je 0x5D. V druhom cykle sa precita MSB a zapise do MSB PC (takze tam bude 0x5Dxx); sucasne sa znova cita SP, inkrementuje, a v druhej polovici toho cyklu  (to nie je konflikt - tam bude osobitna 16-bitova zbernica veduca do scitacky ktora robi inkrement/dekrement a offsetove indirect veci) sa zapise spat, takze SP ukazuje na SPH. V dalsom cykle sa cita z tej nedefinovanej adresy do LSB PC, stack pointer sa uz nemeni. Posledny cyklus je tam kvoli tomu, ze sa musi precitat nasledujuca instrukcia uz z novej adresy v PC z programovej pamati do "pipeline".

Takze toto u toho tini nema prilis vyznam skumat, take vysoke adresy v programovej pamati (0x5Dxx) nemas.

Zaujimavejsie by bolo zapisat do registra na 0x5C nulu, ak to ide; a SP nastavit na 0x5B. Potom ak ten popis sedi, skoci sa na adresu 0x005D.

>> Ale uplne najzakladnejsia otazka je, ze ako zistit, kde ten program bude pokracovat...?
>
>Vecer som sa este hral so simulatorom v AVRStudiu. To Z+ nasimuloval
>uplne presne, vysledkom v r30 bola 0. Tak som skusil simulovat aj
>stack podla toho, ako som popisal. Vysledok bol zabavny :-) Po
>instrukciu ret malo pocitadlo krokov od resetu hodnotu asi 13
>(nepodstatne). Urobil som krok -> hodnota pocitadla 444, vo vypisoch
>niekolkokrat "stack underflow" a "invalid opcode FFFF" a PC za
>zastavil na 0 :-)

Hehe, mam nieco napisat o studentoch? ;-)

wek



Další informace o konferenci Hw-list