Правлю память - 04 в последнем байте ?

Тема в разделе "WASM.BEGINNERS", создана пользователем mono recoder, 28 ноя 2005.

  1. mono recoder

    mono recoder New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2005
    Сообщения:
    12
    Наверно что-то известное и простое. Избавьте от галографического поиска по сети))
     
  2. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    ты нас спрашиваешь 04 ли в последней байте?
     
  3. mono recoder

    mono recoder New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2005
    Сообщения:
    12
    Простая программа.



    1. Выделяю память

    2. В первый байт выделенной памяти пишу любое значание.

    3. Делаю writefile

    4. Смотрю получившийся файл, первый байт - 04



    а если

    2. Пишу значения в первые несколько байт



    4. последний записанный мной байт принимает значение 04, первые - то что я и хотел.





    masm32 8.2



    Аттач прилагается. Процедура изменения после:

    .elseif ax==IDM_CONVERT

    (то есть надо нажать CONVERT, предварительно загрузив файл)))))

    [​IMG] 197960874__FILE.ASM
     
  4. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    я чегото непонимаю,но у тебя программа даже непопадает на код записи в файл,

    даже к примеру что попадал бы, ты создаёшь нулевой файл потом зачемто его читаешь, при том что FileSize будет нулевой
     
  5. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    хех ты с сентября всё учишся файлы открывать)
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    mono recoder

    Удивительно, что программа не вылетает, т.к. ты затираешь регистр esi своим адресом pMemory+ecx - вот винда тебе и записывает что-то по этому адресу. Регистр esi нужно сохранять на входе WndProc и восстанавливать на выходе также как и ebx
     
  7. mono recoder

    mono recoder New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2005
    Сообщения:
    12
    >я чегото непонимаю,но у тебя программа даже непопадает на >код записи в файл.



    А как же она тогда его записывает?))))





    >даже к примеру что попадал бы, ты создаёшь нулевой файл >потом зачемто его читаешь, при том что FileSize будет >нулевой



    Почему нулевой, FileSize берется из открываемого файла.





    >хех ты с сентября всё учишся файлы открывать)



    Еще не все обстоятельства в моей жизни созрели.

    Лучше поздно, чем никогда!!!

    Даже книгу купил Ирвина 4-е издание. Очень читабельна, но про Win32 там мало.

    Все равно доберусь палюбому))))





    >Удивительно, что программа не вылетает, т.к. ты затираешь >регистр esi своим адресом pMemory+ecx - вот винда тебе и >записывает что-то по этому адресу. Регистр esi нужно >сохранять на входе WndProc и восстанавливать на выходе >также как и ebx



    Все понял!!!, то есть забыл, что это надо делать)))

    pop esi и push esi решили проблему





    >Сдались тебе эти Global*. Перепиши с HeapAlloc/HeapFree.



    Еще пока не дошел до этого))



    Все пошел писать свою операционную систему.

    Нет, сегодня уже поздно. Завтра, после работы.



    А чтобы вам не было скучно в ожидании моей ос, прикрепляю мои поледние демо сцены(они же первые после палитры)))

    ESC было лень делать, ~раз в 30 запусков w2k подвисает))))
     
  8. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    неужто мне так плохо

    скажите кто-нибудь неужели у вас тоже выполняются такие функции как GetOpenFileName,CreateFile,GetSaveFileName,WriteFile а то мне щас плохо совсем будет

    да и скакой стати тебе сообщения типа IDM_OPEN должны приходить?
     
  9. mono recoder

    mono recoder New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2005
    Сообщения:
    12
  10. mono recoder

    mono recoder New Member

    Публикаций:
    0
    Регистрация:
    27 сен 2005
    Сообщения:
    12




    IDM_OPEN идет при открытии файла(file,open)



    Вообще аттач исходника надо было мне со всеми файлами, исправляю:



    [​IMG] 356754692__convert.rar
     
  11. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    да я догадался что у тя ресурсы должны быть потом,просто через поиск пропустил файл на наличии IDM_OPEN, увидел что он только в одном месте