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