{{htmlmetatags>metatag-robots=() metatag-title=(FORBID | ugBASIC User Manual) metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum) metatag-description=(Manual page for FORBID) metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png) metatag-og:title=(FORBID | ugBASIC User Manual) metatag-og:description=(Manual page for FORBID) }} ====== ugBASIC User Manual ====== ===== FORBID ===== ===== SYNTAX ===== FORBID ==== PURPOSE ==== In some situations, it is necessary to ensure that a sequence of operations is executed atomically, without interruption. The ''FORBID'' instruction plays a crucial role in this way, offering the programmer a way to take full control of the system's execution, at least temporarily. In simple terms, ''FORBID'' blocks any attempt by ugBASIC to pass execution from one task to another. This means that the task that called ''FORBID'' will continue to execute its code without interruption until a corresponding call to ''ALLOW'' is made. The ''FORBID'' ensures that a sequence of critical operations is executed indivisibly, without interference from other tasks. This gives the programmer granular control over the system's execution. ==== EXAMPLE ==== PARALLEL PROCEDURE test FORBID ' busy waiting, multitasking is suspended! FOR i=0 TO 1000: WAIT 1 MS : NEXT i ALLOW END PROC ==== ABBREVIATION ==== Fd ==== AVAILABLE ON ==== * * Atari (400/800) * Atari XL/XE * Commodore 128 (MOS 8502) * Commodore 128 (Zilog Z80) * Commodore 64 * Commodore 64+REU * TRS-80 Color Computer * TRS-80 Color Computer 3 * ColecoVision * Amstrad CPC 664 * Dragon 32 * Dragon 64 * Thomson MO5 * Thomson MO5 * Olivetti Prodest PC128 * Commodore PLUS/4 * SEGA SC-3000 * SEGA SG-1000 * * VG-5000 * Commodore VIC-20 * ZX Spectrum 48 ==== ANY PROBLEM? ==== If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=ISSUE ON FORBID|open an issue]] for this keyword on GitHub. Thank you!===== POWERED BY ===== [[:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]