Нужна помощь с debug-ом

Тема в разделе "WASM.BEGINNERS", создана пользователем Senk, 21 окт 2008.

  1. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    Здравствуйте.
    Я (мегачайник) решил поразбираться с машинным кодом и начал читать статью "Введение в машинный код" (Serrgio). Там предлагается написать такую программу:
    B8-23-01-05-25-00-8B-D8-03-D8-8B-CB-31-C0-CD-20.
    Эту программу я написал в блокноте (и пробовал в редакторе, идущим с TotalComander) и она не работает (выдаёт ошибку)! Чёрточки "-" я конечно убрал и просто поменял расширение на com (exe тоже пробовал). Запускал из командной строки. Пробовал и на XP32 и на Vista64. Если прописать этот файл в debug (без всяких путей), то в командной строке запускается debug (появляется "-"), но до него появляется надпись о том что файл не найден. Если прописать пути (debug C:\myprg_1.com), то такого сообщения не появляется, но при нажатии на "u [Enter]" ничего похожего на то что написанно в статье тоже не появляется, как будто debug вообще не знал про программу.

    Есть ещё один вопрос. Я попробовал написать простейшую прогу на C++ (просто cout<<"Hello\n";) и открыл её в блокноте. Если я не делаю с ней ничего и просто меняю расширение (exe->txt->exe), то она работает нормально. Стоит только что ни будь поменять и вернуть обратно, как блокнот запрашивает сохранение при выходе. Если сохранить изменения (которых нет!) и поменять расширение (txt->exe) то работать перестаёт и выдаёт ошибку. Почему? И там кстати, если просматривать FAR-ом машинный код, то в конце нет команды остановки CD20 (поиск её не находит), что тоже не понятно.
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    До мегачайника тебе ой как далеко...
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
  4. La_plaza

    La_plaza New Member

    Публикаций:
    0
    Регистрация:
    20 авг 2008
    Сообщения:
    95
    4 года не отходя от монитора и бесперерывное чтение технической документации делают чудеса
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Aspire
    Давно хотел спросить, что значит % ?
     
  6. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    попробуйте все эти манипуляции делать через, напр, хиев или другой хекс редактор (поиск по форуму, на сайте в инструментах)
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ой горе луковое.. возьми хекс редактор, а не текстовый.
    блокнот каверкает нетекстовые символы. еще раз говорю, возьми хекс редактор..
    да и выше уже посоветовали (не заметил когда писал:dntknw:)
     
  8. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Senk а почему не yngwie19?
    1) Найди учебники по программированию на ассемблере
    2) Определись с каким ассемблером будешь работать (tasm, fasm, masm)
    3) На сайте wasm.ru в разделе ИНСТРУМЕНТЫ > Компиляторы ищешь нужное
    4) Воспользуйся советом La_plaza в #4

    [offtop] Clerk %) это [​IMG][/offtop]
     
  9. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    Большое спасибо.
    Написал программу в HexWorkshop и она нормально заработала, и даже debug её принял. Вот только в той проге на C++ по прежнему нет команды CD20. И зачем-то там целая куча нулей. Если убрать часть этих нулей, то при запуске выходит ошибка. Естли же изменить какой ни будь символ (Hello H->B), то всё работает и символ меняется (Bello). Это здорово.
     
  10. Memphis

    Memphis New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    104
    Senk
    Там предлагается написать такую программу:
    B8-23-01-05-25-00-8B-D8-03-D8-8B-CB-31-C0-CD-20.
    Эту программу я написал в блокноте
    - никто программы в таком виде не пишет. Наоборот, в таком виде они существуют (бинарники, значит). А в каком виде пишут ? - предвижу вопрос. А посему, наберите эту строку байтов, к примеру, в Hiew и включите дизассемблер - увидите эту программу.
     
  11. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Мне кажется что это стёб) Такого не бывает))
     
  12. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    А существует ли debug для 64-х разрядной системы? Просто я попробовал его перенести с компьютера на котором стоит Win32(XP) на комп. с Win64(Vista), и он (Win64) заругался на то что нужна 32-x разрядная система (или другая версия debug).
     
  13. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    SenkНу понятно, что ты хочешь выставить меня дураком. Я не обижаюсь, т.к Я просто хочу разобраться с тем материалом, который мне не понятен, вообщем Я все так и сделал и у меня получилось вот что http://rapidshare.com/files/1576283...088___1080___1089___1091___1085___1086__.html
     
  14. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    yngwie19
    Не хочу я ни кого дураками выставлять! И вообще я не понял к чему это относится. А, понял. Вы открыли аналогичную тему... Извиняюсь, не заметил (вернее только что заметил...).
     
  15. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Senk
    расскажи последовательность действий, чтобы получилось как в статье.
     
  16. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Senk
    у тебя получилась такая же таблица как у меня или как в статье
     
  17. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    Берёшь HexWorkshop. File->New... в новом файле щёлкаешь правой кнопкой мыши на рабочее поле. Insert (n байт n=
    (кол-во разрядов кода)/2 или больше так чтобы код влез). Пишешь свой код. Сохраняешь (лучше в корень C:\, чтобы
    быстрее доставать). Меняешь расширение с никакого на com. Потом можно зайти в пуск->выполнить->[cmd], [Enter]->[debug c:\name.com] [Enter]->u. И должно получиться. По крайней мере у меня сработало. Можно cmd и не открывать, а сразу пуск->выполнить->->[debug c:\name.com] [Enter]-> [Enter].
     
  18. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Senk
    Спасибо тебе большое у меня наконец получилось
     
  19. Senk

    Senk New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    10
    Не за что...
     
  20. yngwie19

    yngwie19 New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2008
    Сообщения:
    17
    Senk
    скажи а операционка понимает этот код в 16-ой системе, или она переводит в bin?