(hard)core test na AVR

Jan Waclawek konfera@efton.sk
Pátek Prosinec 5 09:24:09 CET 2008


>> A teraz by si mohol skusit ten ret ked sa stack pointer nastavi pod stack pointer :-) Schvalne, akou metodikou by sa na to dalo ist?
>
>Obavam sa, ze nerozumiem pointe. Do SP naplnim adresu leziacu pod
>adresou SP registra v datovej pamati. Napr. v tom mojom tiny13 je iba
>SPL na adrese 3Dh t.j. pamatova adresa bude 5Dh. 

Ano, toto mi nie celkom docvaklo, ze u AVRka s tym maniakalnym setrenim klopakov v registroch bude pravdepodobne vzdy menej bitov v SP nez je ich v PC, takze cast bitov bude pri tom ret-e nedefinovanych....

>SP teda nastavim na
>5C alebo 5B (skor 5B, lebo ret urobi SP+2). Teraz pride instrukcia
>ret. SP sa "nejako" zvysi o 2 (to "nejako" chces asi testovat) a
>vyberie adresu kam nasledne skoci program. Ak by sa to spravalo uplne
>jednoducho, tak sa SP zvysi o 2, z bytov na adresach 5D a 5E vyberie
>hodnotu adresy a tam skoci program. Na adrese 5D je SPL s
>predpokladanou hodnotou 5D, na adrese 5E nie je ziaden register
>definovany. Kde teda skoci program je silne otazne. Ak by sa to +2
>spravalo inac, vysledkom moze byt ze SP ukaze "kamsi", odkial vezme
>adresu, kde bude kod pokracovat.

Presne "to" ma zaujima.

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".

Ale uplne najzakladnejsia otazka je, ze ako zistit, kde ten program bude pokracovat...?

>
>No... ak som to popisal ako-tak spravne, tak nevidim vyznam takehoto
>badania pre nejake netradicne vyuzitie ...a tradicne uz vobec nie
>:-)))


Nie, nie, tu nejde o ziadnu prakticky pouzitelnu fintu - o tu v skutocnosti nejde ani pri tom zapise do autoinkrementovaneho citaca - ale len a jedine o ciru zvedavost, ze ako to ti studenti v tom VHDL napisali... ;-)

wek




Další informace o konferenci Hw-list