ID: Q23868
6.00 6.00a 6.00ax 7.00 | 1.00 1.50
MS-DOS | WINDOWS
kbprg
The information in this article applies to:
The code example below contains two functions to access memory in an application developed for the MS-DOS operating system. The peek() function provides access to a memory location and the poke() function allows an application to specify the value for a memory location.
/*
* Compile options needed: None
*/
// The following function places a value into the specified
// memory location segment:offset
void poke(unsigned int segment, unsigned int offset,
unsigned char val)
{
unsigned char far *ptr;
ptr = (unsigned char far *)(((long)segment << 16) | (long)offset);
*ptr = val;
}
// The following function returns the contents of the specified
// memory location segment:offset
unsigned char peek(unsigned int segment, unsigned int offset)
{
unsigned char far *ptr;
ptr = (unsigned char far *)(((long)segment << 16) | (long)offset);
return *ptr;
}
Additional reference words: kbinf 6.00 6.00a 6.00ax 7.00 1.00 1.50 KBCategory: kbprg KBSubcategory: CLngIss Keywords : kb16bitonly
Last Reviewed: July 18, 1997