DEF SEG

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search

DEF SEG is used to define the area in memory to access QB64's emulated conventional memory.


Syntax

DEF SEG [=][{segment|VARSEG(variable}]

Legacy support

  • QB64 implements memory access using _MEM and related functions. For that reason, DEF SEG isn't recommended practice anymore and is supported to maintain compatibility with legacy code.


Description

  • Used to set the pointer to a memory area of a variable/array or register.
  • PEEK and POKE require a segment memory address (often just 0) without using VARSEG.
  • Important segments using PEEK and POKE include &HB800 (text segment) and &HA000 (graphics segment).
  • BSAVE and BLOAD require a VARSEG reference to the grahic array(0 index) used.
  • Always use DEF SEG when the procedure is completed, in order to reset the segment to QBasic's default value.
  • DEF SEG, VARSEG, VARPTR, PEEK and POKE access QB64's emulated 16 bit conventional memory block. It is highly recommended to use QB64's _MEM memory system to avoid running out of memory.


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage