[linux-programlama] Re: timer sonrasi registerler.

---------

From: h2e@bilmuh.ege.edu.tr
Date: Mon 11 Aug 2003 - 11:21:39 EEST

  • Next message: h2e@bilmuh.ege.edu.tr: "[linux-programlama] Re: makineler ve rasgele sayi uretimi"

    #define u32 unsigned

     static inline u32 getreg()
     {
            u32 ret = 0x0;
            __asm__ __volatile__(
                    ".1:\n\t"
                    "movl .1, %%eax\t\n"
                    "movl %%eax, %0"
                    ::"m" (ret)
              );
            return ret;
     }

     int main()
     {
         printf("%d", getreg());
     }

    bunu bi incele.

    bu arada su ifade "movl %%"reg", %0" yanlis gibi.cunku ia32 de her komudun
    bi kodu var! derleme aninda ise reg degeri belirsiz oldugumdan hata
    olusur!

    router will route you

    On Sun, 10 Aug 2003, Halil Demirezen wrote:

    > Timer interrupt i sonrasi registerlerin degerleri stack e atiliyor.
    > Bunlarin sirasini ve alinis seklindeki bir bilgi alabilir miyim?
    >
    > Asil amacim benim eip registerindeki degeri almak. Process scheduling
    > asamasinda kullanacagim...
    >
    >
    > #define get_reg(reg) ( \
    > { unsigned long sonuc; \
    > __asm__ __volatile__ ("movl %%"reg",%0":"=r"(sonuc):); \
    > sonuc; })
    >
    >
    >
    >
    > makrosunun ardindan
    >
    > unsigned int EIP = get_reg("eip");
    >
    > Yapamiyorsunuz.
    > Eip registerinin degerini baska bir yolla almam gerekiyor.
    >
    >
    > Iyi calismalar.
    >
    >


  • Next message: h2e@bilmuh.ege.edu.tr: "[linux-programlama] Re: makineler ve rasgele sayi uretimi"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.