Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24661
  • 博文数量: 4
  • 博客积分: 122
  • 博客等级: 入伍新兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-03 18:38
文章分类

全部博文(4)

文章存档

2010年(4)

分类:

2010-09-08 21:23:21

#include
#include

#define u32 uint32_t
#deinfe u16 uint16_t
#define u8  uint8_t

struct biosregs {
union {
struct {
u32 edi;
u32 esi;
u32 ebp;
u32 _esp;
u32 ebx;
u32 edx;
u32 ecx;
u32 eax;
u32 _fsgs;
u32 _dses;
u32 eflags;
};
struct {
u16 di, hdi;
u16 si, hsi;
u16 bp, hbp;
u16 _sp, _hsp;
u16 bx, hbx;
u16 dx, hdx;
u16 cx, hcx;
u16 ax, hax;
u16 gs, fs;
u16 es, ds;
u16 flags, hflags;
};
struct {
u8 dil, dih, edi2, edi3;
u8 sil, sih, esi2, esi3;
u8 bpl, bph, ebp2, ebp3;
u8 _spl, _sph, _esp2, _esp3;
u8 bl, bh, ebx2, ebx3;
u8 dl, dh, edx2, edx3;
u8 cl, ch, ecx2, ecx3;
u8 al, ah, eax2, eax3;
};
};
};

int main()
{
struct biosregs reg;
reg.ax = 0x1111;
reg.bx = 0x2222;

printf("%x\t%x\n",reg.eax,reg.ebx);
return 0;
}
阅读(1168) | 评论(0) | 转发(0) |
0

上一篇:Linux代码中检测类型和函数的宏

下一篇:没有了

给主人留下些什么吧!~~