GNU as - pokročilejší práce s řetězcem ?
Milan B.
milan na bastl.sk
Pondělí Duben 28 11:48:59 CEST 2014
On 28. 4. 2014 11:25, Jan Waclawek wrote:
> Brutal! :-)
>
> Myslim, ze povodnemu zadaniu skor zodpovie ked bude v prvom riadku
> .set AV_CNT,'A'-1
Ani nie. Zadanie hovori "aby A se uložilo jako 0, B jako 1".
To uz potom .set AV_CNT,'A'-'A' :)
> ale to je len esteticka zalezitost.
>
> Myslim, ze ten citat z manualu je stale spravny, t.j. ze sa nepredpoklada,
> ze retazcove konstanty budu predmetom aritmetickych operacii; a to, ze sa
> to da obist pomocou toho .irpc, je IMHO skor neumyselny vedlajsi produkt
> neskorsieho vyvoja. Ak by bolo umyslom spracovavat retazce, boli by tam na
> to operatory.
>
> Treba brat do uvahy aj to, ze (g)as nie je v dnesnej dobe mieneny ako
> plnohodnotny asembler, ale primarne ako sucast backendu gcc. Na druhej
> strane uznavam, ze pozadovanu "operaciu" by som v C/gcc/cpp vobec
> nedokazal zapisat.
To je pravda. GNU asm je velmi chudobny na makro programovacie
konstrukcie, v porovnani s plnohodnotnymi makroassemblermi. Zato
direktivami pre debuggery priamo oplyva :)
Na podobne ulohy je najlepsie pouzit nejaky externy generator v
kombinacii s make.
-m-
> wek
>
>
>
> ----- Original Message ---------------
>> Mozno sa to pre vas pripad da obist:
>>
>> .set AV_CNT,0
>> .irpc CCC, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>> .set AV_\CCC, AV_CNT
>> .set AV_CNT, AV_CNT + 1
>> .endr
>>
>>
>> .macro _KEYTEXT TEXT
>> .irpc CHR, "\TEXT"
>> .byte AV_\CHR
>> .endr
>> .endm
>>
>> _KEYTEXT HELLO
>>
>> Skarede, definuje to 27 symbolov, ale hadam funkcne.
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list