ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 공용체로 레지스트 표현;;
    컴퓨터/C/C++ 2006. 3. 24. 22:18
    #include

    struct hregs{
        char al;
        char ah;
    };

    union regs{
        struct hregs h;
        int ax;
    };

    int main()
    {
        union regs reg;

        reg.h.ah = 0x1A;
        reg.h.al = 0x2B;
        printf("ah:%X\n", reg.h.ah);
        printf("al:%X\n", reg.h.al);
        printf("ax:%hX\n", reg.ax);


        return 0;
    }


    Microsoft C에 있어서의 레지스터 표현
    /* word registers */

    struct WORDREGS {
        unsigned int ax;
        unsigned int bx;
        unsigned int cx;
        unsigned int dx;

        unsigned int si;
        unsigned int di;

        unsigned int clags;
    };

    /* byte registers */

    struct BYTEREGS {
        unsigned char al, ah;
        unsigned char bl, bh;
        unsigned char cl, ch;
        unsigned char dl, dh;
    };

    /* general purpose registers union -
    * overlays the corresponding word and byte registers.
    */

    union REGS {
        struct WORDREGS x;
        struct BYTEREGS h;
    };
Designed by Tistory.