/i/Yazılım

Umuyoruz ki geleceğin yazılımcıları bu altinciden çıkacak!
    başlık yok! burası bom boş!
  1. 21.
    0
    al+ah +ax + eax normalde 4byte yer kaplarken senin kodunda 8byte yer kaplamakta , hafızayı gereksiz meşgul etme

    https://hastebin.com/zucozurezu.cpp
    ···
    1. 1.
      0
      Hayır panpa union kullandığımdan tüm erişimler aynı adresten yapılıyor dolayısıyla 4 byte tutuyor. Sizeof gpr_t 4 dönüyor zaten.
      ···
      1. 1.
        0
        ben bu entryi girmiyecektim :D sonra fark ettim 4byte yer kapladığını dikkatli basınca

        ama benim kod kısa gibi sanki sınıftan türetebiliyosun bu mantıkla, union u keşfetmiş oldum kodda :D bende yıllardır bu union ne işeyarıyor diyordum sağol
        ···
  2. 20.
    0
    adı üstünde sanal amk sanal ilişki yaşamayın
    ···
  3. 19.
    0
    yazılımın çöp hiç uğraşma
    ···
  4. 18.
    0
    ((((((((:
    ···
  5. 17.
    0
    registerlardan anlarım da struct ne la ? union ne alaka aq?
    ···
  6. 16.
    +1 -3
    Console. Write("Ananı gibeyim");
    ···
    1. 1.
      0
      Console q tab enter
      ···
    2. 2.
      0
      amk anancisi cuk kadar kod yazmis onu da yanlis yazmis
      ···
  7. 15.
    +2
    rahatsız eden sadece görseli ise, struct tanımlamak için bir macro kullanabilirsin:

    1. define DEF_REGISTER( r32, r16, r8h, r8l ) union { union { struct { uint8_t r8l; uint8_t r8h; }; uint16_t r16; }; uint32_t r32; };

    şeklinde. Sonra da bunu kullanarak registerlarını tanımlama işini daha kısa şekle çevirebilirsin:

    typedef struct registers
    {
    DEF_REGISTER( eax, ax, ah, al )
    DEF_REGISTER( ebx, bx, bh, bl )
    ...
    ..
    }

    şeklinde..
    ···
    1. 1.
      0
      Panpa bu çözüm çok mantıklıymış fakat bir sorun daha var. Tüm registerlar bu formatta değil.

      Genel amaçlı registerlar:

      EAX | AX | AH | AL
      EBX | BX | BH | BL

      şeklinde giderken index ve pointer registerları:

      EDI | DI
      ESP | SP

      şeklinde gidiyor. Bir de kontrol registerları var fakat onlar sorun değil yalnızca 32 bitlik halleri var doğrudan uint32_t cr0, cr1, ... şeklinde tanımlayabilirim onları.
      ···
    2. 2.
      0
      ne diyonuz amk
      ···
    3. 3.
      0
      muhtemelen sen de tahmin etmişsindir, genel tipte olmayan registerlar için de ayrı macrolar tanımlayarak çözebilirsin.

      kolay gelsin.
      ···
      1. 1.
        0
        Evet panpa ama isimler sorunlu işte. Birine gpr dedim kolay, diğerine ne diyeceğim? ipr (index veya pointer reg) aklımdaki isimlerden biri ama yine de ona uygun isim bulamadım
        ···
    4. diğerleri 1
  8. 14.
    0
    c bilgim o kadar ileri değil panpa, hesap makinesinden ibaret malesef. bilmiyorum yardımcı olur mu ama ben olsam assembly diliyle daha küçük byte lı ve direk işlemciye hitap eden birşeyler yazardım. ya da derleyicilerle c ye derlemeye çalışırdım.
    ···
  9. 13.
    +2
    Öncelikle Pnp 15'Lik Strucktan bir şeye ulaşamazsın disconnect atar C+ Sayesinde eax'dan ead'ye ulaşabilirsina ama 32 bit olacağı için makine 64 bit olması lazım şaka şaka gram fikrim yok hayrına UP ama
    ···
  10. 12.
    +5
    alt f4 yap
    ···
  11. 11.
    +7
    Format at düzelir
    ···
  12. 10.
    0
    ne işe yarıyor bu
    ···
  13. 9.
    0
    yazılımdan gram anlamam hayrına up
    ···
  14. 8.
    0
    @3 haklı up up up up
    ···
  15. 7.
    0
    up up up
    ···
  16. 6.
    0
    up up up
    ···
  17. 5.
    0
    up up up
    ···
  18. 4.
    +2
    @3 hakli
    ···
  19. 3.
    +32
    BU SÖZLÜK iÇiN FAZLASIN
    ···
  20. 2.
    +1
    up up up
    bi mziaf a yada aworms a ulaşsana zumki onlar yapar belki
    ···