[elektro] C asm("NOP") makró

Bali Zoltan eltexto at freemail.hu
Wed Nov 26 13:04:08 CET 2014


Akkor a hab már megvan, a tortát meg még
farigcsálom hozzá :) .

Hálás köszönet.

Üdv.  Zoli

Ui. egyébként most próbáltam a korábbiakat.
csak ez működik (asm lst-ben ellenőrízve):

#define    _NOPx2   {asm("NOP");} {asm("NOP");}




2014.11.26. 12:38 keltezéssel, Andras Nagy írta:
> Szia,
>   
> GCC-ben meg lehet csinálni
>   
> legyen egy header fileod ami kb így néz ki:
>   
> //============================================================================
> // $Id: nopasmmacro.h 2014-06-17 23:32:08 andy  $
> //============================================================================
>   
> #ifndef _VARIABLE_NOP_ASM_MACRO_H_
> #define _VARIABLE_NOP_ASM_MACRO_H_
>   
> #define __sx2(x)  #x
> #define __sx1(x)  __sx2(x)
>   
> #define _NOP_N( x ) ({ asm("__VARIABLE_NOPS " __sx1(x) "\n"); })
>   
> void __variable_nop_asm_macro(void)
> {
>    asm(".macro __VARIABLE_NOPS, count, iter=1\n nop\n .if
> \\count-\\iter\n __VARIABLE_NOPS \\count,\"(\\iter+1)\"\n .endif\n
> .endm\n");
> }
>
> #endif // _VARIABLE_NOP_ASM_MACRO_H_
>   
>   
>   
> ahol bárhol akarod használni include-old be a forrás file elején
>   
> és
>   
>   _NOP_N( 20 );
>   
> vagy akár definiált konstansokkal is működik pl:
>   
> #define NOPOK_SZAMA 8
>   
>    _NOP_N( NOPOK_SZAMA );
>   
>   
> Üdv,
> Andy
>   
>    
> Sent: Wednesday, November 26, 2014 at 10:24 AM
> From: "Bali Zoltán" <eltexto at freemail.hu>
> To: elektro at tesla.hu
> Subject: Re: [elektro] C asm("NOP") makró
> Ebből indultam ki én is, de a pontosvesszőre figyeltem,
> meg cifráztam is. Makródefben kihagytam, utásítás után
> raktam. Utána fordítva. De, majd mégegyszer megpróbálom,
> hátha megint benéztem valamit.
>
> Köszi
>
> Üdv. Zoli
>
> ----- Original Message -----
> From: "Lajos Rancz" <lajos.rancz at gmail.com>
> To: <elektro at tesla.hu>
> Sent: Wednesday, November 26, 2014 9:44 AM
> Subject: Re: [elektro] C asm("NOP") makró
>
>
>> Helló!
>>
>> Ha az asm("NOP"); működik akkor a makrónak is működnie kell. Nem lehet,
>> hogy nem tetted ki a ';' jelet?
>>
>> Üdv
>>
>> 2014. november 26. 7:40 Bali Zoltán írta, <eltexto at freemail.hu>:
>>
>>> Hali!
>>>
>>> Általában kerülöm a bonyolultabb makrókat,
>>> de most kellene ilyesmi, hogy NOPx10,
>>> ami 10 asm("NOP) utasításból állna.
>>> Gondoltam ez nem lehet bonyolult, de nem megy.
>>>
>>> Azt hittem legalább ez működik
>>> #define _NOP (asm("NOP"))
>>> Lehet a string zavarja, próbáltam
>>> függvény szerű makróval, de azzal sem
>>> jutottam eredményre.
>>>
>>> Van valakinek netán ötlete?
>>>
>>> Köszi
>>>
>>> Üdv. Zoli
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>>>
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list