The LazyBoy Library Manual - StrWordLookup

Part of the Strings group.

%imacro StrWordLookup 3
Prefers: ES:DI, ES:DI, AX

Lookup string in word indexed table.

No, Prefers: ES:DI, ES:DI, AX is not a typographic error. Instead of requiring %1 to always be a pointer and used for input and output values, they were broken into two separate parameters. This permits %1 to not have an initial value and the table to be a constant (label). Otherwise, you would need to set the pointer separately before calling the macro.

%1 is the returned pointer to the string in the table. If the index was not found, the CF will be set and pointer will be set to the default string.

%2 is the pointer to the byte indexed table. If no segment is provided, DS is assumed. Unless %2 is a LABEL, then CS is assumed.

%3 is the index of the string requested.

Examples:

    StrWordLookup es:di, MY_STRS, ax   ; Lookup string index AX in table CS:MY_STRS

See also: StrWordTable, StrWordRLookup and StrFuncTable.