The LazyBoy Library Manual - LAZY_INIT

Part of the Library core group.

%imacro LAZY_INIT 0

Normally, this macro is not required in most programs. It is performed automatically when the %include "lazy.inc" is processed. There can be only one LAZY_INIT per program. Unless postponed, it is done by the library for you.

This will initialize the macro groups were that postponed by the %define NO_INITIALIZE directive. This permits inclusion of the library without placing any code at the very beginning of the program. This can be very handy when creating device drivers or terminate and stay resident programs.

Caution must be taken to not to use any portions of the library that require initialization before the LAZY_INIT macro call. Also if parts of the program are freed and remaining resident portion of the program uses ANY parts of the library, strategic use of the LAZY_CODE macro will be needed to insure those portions remain resident as well.

Note:

org 0x100 %define NO_INITIALIZE %include "lazy.inc" jmp Startup db "some sort of header",0 Startup: LAZY_INIT TextColor clCyan TextBackground clBlack WriteLn "Hello, World!" Terminate LAZY_CODE

See also Conditional defines