Системное программное обеспечение персональных ЭВМ


Пример 1



Пример 1

union REGS { struct WORDREGS x; struct BYTEREGS h; }; struct WORDREGS { unsigned int ax, bx, cx, dx; unsigned int si, di, cflag, flags; }; struct BYTEREGS { unsigned char al, ah, bl, bh; unsigned char cl, ch, cl, dh; };


Поле flags структуры WORDREGS отражает состояние флагов микропроцессора, а поле cflag - состояние системного флага переноса CY, в котором обычно при обращениях к DOS и к BIOS индицируется ошибка. Использование объединения REGS позволяет программисту обращаться к регистру общего назначения как к целому двухбайтному слову или к каждому байту этого слова, выбирая описатель второго уровня x или h соответственно. Так, если в программе имеется определение:




- Начало -  - Назад -  - Вперед -