Automaticke pretypovani u AVR-GCC
Milan B.
milan@bastl.sk
Čtvrtek Červenec 23 23:47:09 CEST 2009
Ved ja viem, pan kolega ....
To bola len priama reakcia na: "postaci, kdyz wek naportuje malickou
funkci" ... trvalo to snad 2 minuty.
Ani vo sne by ma nenapadlo tvrdit, ze portovanie celej aplikacie je len
takato mechanicka praca.
HW a architekturovo zavisla cast aplikacie, hlavne spracovania
preruseni, rozne podoby kvazi-multitaskingu zavisle na casovacoch a
preruseniach - to je rovnaka ostara aj pri portovani programu v C.
Vytvorit koncepciu, prepocitat casovanie aby to vsetko dokopy hralo a
stihalo - to je podla mna ta najtazsia cast pri portovani. Ale na to sa
tu nikto nepytal :)
Potom je tu druha oblast - kdejake spracovania a vypocty a algoritmy -
na to sa casto da pouzit moja "mechanicka" metoda - pokial sa da,
neportujem assemblerovsky program, portujem algoritmus.
-m-
Jan Waclawek wrote:
> Ale vobec nie takto, pan kolega -m-.
>
> Ono totiz pointa je prave v tom, ze nejakych 5 riadkov aplikaciu nerobi. A samozrejme tych 5 riadkov prepisat presne stylom, aky ste naznacili (floating kniznic na '51 je hafo, ak uz inde nie, tak sa trebars da vykradnut SDCC) - to je len mechanicka praca, bezvyznamny zlomok skutocneho portovania.
>
> wek
>
> PS. Ak tam treba float, na 99.37% to netreba portovat pre '51.
>
>
>
> ----- Original Message ---------------
>
>> Ja som si to dovolil naportovat do ASM pre MSP430, s vyuzitim
>> ukradnutych float funkcii z libgcc ... zdrojaky mozem podstrcit tiez ...
>>
>> vstup je v zasobnilu a vystup je v dvojici registrov R14,R15:
>>
>> pop r15
>> pop r14
>> call #__floatsisf
>> call #sin
>> mov #llo(0x4e6e6b28), r12
>> mov #lhi(0x4e6e6b28), r13
>> call #__mulsf3
>> call #__fixsfsi
>>
>> -m-
>>
>> Pavel Hudecek wrote:
>>
>>> Já bych tedy s dovolením u¹etøil práci s portováním celé aplikace a k mému
>>> pøesvìdèení postaèí, kdy¾ Wek naportuje jednu malièkou funkci z x86 tøeba na
>>> x51:
>>>
>>> ; vstup: signed long pushnutý pøed voláním
>>> ; výstup: signed long 10^9 * sin(vstup), kterým se pøepí¹e vstup
>>> ; kazí obsah EAX, ST(0), ST(1), vy¾aduje 4 B místa v zásobníku
>>>
>>> fild SS:[ESP+4]
>>> fsin
>>> push dword ptr 1000000000
>>> fild SS:[ESP]
>>> fmulp ST(0), ST(1)
>>> fist SS:[ESP+4]
>>> ret
>>>
>>> ;-)
>>>
>>> PH
>>>
>>> From: "Jan Waclawek" <konfera@efton.sk>
>>> Tak co, dame si preteky? Ale s ferovymi pravidlami: portuje sa slusne
>>> napisana asm/C aplikacia, a kniznice su k dispozicii v rovnakom rozsahu u
>>> asm ako u C.
>>>
>>> ;-)
>>>
>>> Verim tomu, ze ti, co tvrdia, ze napisat aplikaciu v asm trva dlhsie nez v
>>> C, alebo ze to portovanie je zlozitejsie, si to nikdy v praxi neoverili. To
>>> je u mna ekvivalent marketingoveho blabolu.
>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz
>>> Hw-list@list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list