1
1
Fork 0
mirror of https://github.com/DualBrain/QB64.git synced 2023-11-19 13:10:13 +00:00
QB64-website/wiki/DEF-SEG.md
2022-12-24 19:12:43 -06:00

1.3 KiB

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

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.

Syntax

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

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