Код (Text): .data szAarray BYTE 'Item1', 0 BYTE 'Item2', 0 BYTE 'Item3', 0 BYTE 'Item4', 0 BYTE 'Item5', 0 BYTE 'Item6', 0 BYTE 'Item7', 0 BYTE 'Item8', 0 BYTE 'Item9', 0 .data? szName DWORD 9 dup(?) ... lea esi, szArray xor ebx, ebx .repeat lodsb .if al != 0 dec esi mov szName[ebx * sizeof DWORD], esi inc esi .while TRUE lodsb .break .if al == 0 .endw .endif inc ebx .until ebx == 9 ... mov eax, szName[ebx * sizeof DWORD] invoke crt_printf, eax Для получения адресов отдельных строк массива я использую приведённый код, но как то всё это мне кажется криво. Существует ли, какой-нибудь стандартный способ в MASM-е? И дополнительно, можно ли для функции crt_printf установить цвет выводимого текста?