Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Force 4.0 Reference - inttosegoff() poke an int value into a segment/offset address http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 inttosegoff()       Poke an int value into a segment/offset address
------------------------------------------------------------------------------
 Declaration
   memory.hdr

 Syntax
   proc inttosegoff extern
   param value int  iValue, ;
         value uint uSegment, ;
         value uint uOffset

 Arguments
   iValue is the value to place in memory.
   uSegment is the target segment address.
   uOffset is the target offset address.

 Return
   None.

 Description
   This procedure copies an int value into the specified memory location.

   The procedure is included for compatibility with earlier Force versions.
   Use the ptr() data type in conjunction with the & and * operators for
   directly writing to explicit memory addresses.

 Example
   #define EXAMPLE_MEMORY
   #include example.hdr

   proc Test_inttosegoff
   vardef
      ptr( int ) pMem         // pointer
      uint        nSeg, nOff  // segment and offset
   enddef
   pMem := malloc( 1000 )     // allocate working space
   splitptr( nSeg, nOff, pMem ) // obtain segment and offset values
   ? *pMem                    // prints accidental value
   inttosegoff( 22000, nSeg, nOff ) // write an int to memory via function call
   ? *pMem                    // prints 22000
   *pMem := 9876              // write an int to memory via pointer
   ? *pMem                    // prints 9876
   free( pMem )               // free allocation
   endproc

   proc main
   Test_inttosegoff()
   endproc

See Also: inttoptr()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson