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 - chartosegoff() poke a string into a segment/offset address http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 chartosegoff()      Poke a string into a segment/offset address
------------------------------------------------------------------------------
 Declaration
   memory.hdr

 Syntax
   proc chartosegoff extern
   param const char cValue, ;
         value uint uSegment, ;
         value uint uOffset

 Arguments
   cValue 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 a string 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_chartosegoff
   vardef
      ptr( char ) 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
   chartosegoff( "hello", nSeg, nOff ) // write to memory via function call
   ? *pMem                    // prints "hello"
   *pMem := "world"           // write a char to memory via pointer
   ? *pMem                    // prints "world"
   free( pMem )               // free allocation
   endproc

   proc main
   Test_chartosegoff()
   endproc

See Also: chartoptr()

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