Added some handy address conversion macros.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8041 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -24,6 +24,13 @@ struct bios_regs {
|
||||
};
|
||||
|
||||
#define CARRY_FLAG 0x01
|
||||
#define ZERO_FLAG 0x40
|
||||
|
||||
#define ADDRESS_SEGMENT(address) ((addr_t)(address) >> 4)
|
||||
#define ADDRESS_OFFSET(address) ((addr_t)(address) & 0xf)
|
||||
#define LINEAR_ADDRESS(segment, offset) (((addr_t)(segment) << 4) + (addr_t)(offset))
|
||||
#define SEGMENTED_TO_LINEAR(segmented) \
|
||||
LINEAR_ADDRESS((addr_t)(segmented) >> 16, (addr_t)(segmented) & 0xffff)
|
||||
|
||||
static const addr_t kDataSegmentScratch = 0x10020; // about 768 bytes
|
||||
static const addr_t kDataSegmentBase = 0x10000;
|
||||
|
||||
Reference in New Issue
Block a user