| [Overview][Constants][Types][Procedures and functions][Variables][Index] | 
Fill segment with byte value
Source position: go32.pp line 125
procedure seg_fillchar(  | 
seg: Word;  | 
ofs: LongInt;  | 
count: LongInt;  | 
c: Char  | 
);  | 
Sets a memory area to a specific value.
Parameters:
Return values: None.
Notes: No range check is done in any way.
None.
  | 
Move data between 2 locations  | 
|
  | 
Fill segment with word value  | 
|
  | 
Fill a region of DOS memory with a specific byte-sized value  | 
|
  | 
Fill a region of DOS memory with a specific word-sized value  | 
|
  | 
Copy data from DOS memory to the heap.  | 
|
  | 
Copy data from the heap to DOS real mode memory  | 
|
  | 
Move data between 2 DOS real mode memory locations  | 
{This example demonstrates the use of the segment_to_descriptor() function. It switches to VGA mode 13h (320x200x256 color), creates a selector to the memory (based at $A000:0000), clears this memory with color 15 (white) and waits until the enter key is pressed } uses go32; var vgasel : Word; r : trealregs; begin { set VGA mode 13h } r.eax := $13; realintr($10, r); { allocate descriptor to VGA memory quickly; it could be done with allocate_ldt_descriptors() too, but we would have to initialize it by ourselves... unlike segment_to_descriptor() which automatically sets the limit and the base address correctly } vgasel := segment_to_descriptor($A000); { simply fill the screen memory with color 15 } seg_fillchar(vgasel, 0, 64000, #15); { wait for a return press } readln; { back to text mode } r.eax := $3; realintr($10, r); { don't deallocate vgasel, that can't be done } end.