When compiler process your source code it searches the
emu8086.inc file for declarations of the macros and replaces the macro
names with real code. Generally macros are relatively small parts of code,
frequent use of a macro may make your executable too big (procedures
are better for size optimization).
emu8086.inc also defines the following procedures:
· PRINT_STRING - procedure to print a null terminated string at
current cursor position, receives address of string in DS:SI register.
To use it declare: DEFINE_PRINT_STRING before END directive.
· PTHIS - procedure to print a null terminated string at current cursor
position (just as PRINT_STRING), but receives address of string
from Stack. The ZERO TERMINATED string should be defined just
after the CALL instruction. For example:
CALL PTHIS
db 'Hello World!', 0
To use it declare: DEFINE_PTHIS before END directive.