{{QBDLDATE:05-20-2022}} {{QBDLTIME:23:12:44}} [[DEF SEG]] is used to define the area in memory to access QB64's emulated conventional memory. {{PageLegacySupport}} * '''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.''' {{PageSyntax}} : [[DEF SEG]] [=][{segment|VARSEG(variable}] {{PageDescription}} * 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:'' * [[DEF SEG = 0]] * [[VARPTR]], [[VARSEG]] * [[PEEK]], [[POKE]] * [[BSAVE]], [[BLOAD]] {{PageNavigation}}