Есть код: Код (Text): mov ch,byte ptr[str2] str2 это указатель на массив символов: Код (Text): Buffer db BUFFSIZE dup(0) str2 точно адресс первого символа, но при выполнении команды, OllyDbg сообщает следующее Код (Text): ECX 77820000 PTR to ASCII "WTSUnRegisterSessionNotification" И в ch оказывается 00h, а не 55h, как должно быть. Причем что самое дурацкое, что при следующем смещени Код (Text): inc str2 в ch появляется 01h, потом 02h, потом 03h... При этом еще и при выполнении Код (Text): mov byte ptr[str1],ch по адрессу str1 и последующим все равно нули и нули. Может я как-то не правильно работаю с массивом? Подскажите пожалуйста
Код (Text): Buffer db BUFFSIZE dup(0) str2 WORD Buffer mov SI,str2 mov CH,[SI] в 32битном режиме dword и esi соответственно
Код (Text): mov ch,byte ptr[str2] всего лишь засылает самый младший байт адреса массива в ch квадратные скобки без регистра бессильны организовать косвенную адресацию
И если можно еще вопрос, чтобы не засорять тему. Можно ли как-то определить длинну строки, например такого типа Код (Text): sUSERstr db 'anonymous' или необходимо ставить символ окончания строки и считать вручную?
slavanap правильнее было спросить почему я там = или equ пропустил Зыбыл! Код (Text): stroka db "stroka",0 len equ ($-stroka)-1