Собрать 16-битный исполняемый файл на Windows 10 64 bits

Тема в разделе "WASM.BEGINNERS", создана пользователем alexandersivak, 22 окт 2020.

Метки:
  1. Andrey_59

    Andrey_59 Member

    Публикаций:
    0
    Регистрация:
    20 фев 2021
    Сообщения:
    81
    Вот так сразу. Я одну книгу прочёл, точнее начал читать Аблязов, если не ошибаюсь на счёт автора, то один переход в защищённый режим меня в ужас привёл))) Может я и не прав, но читал, что Абель хорошо пишет-объясняет для начинающих особенно! Короче говоря, насколько я понял, других вариантов всё равно нет, кроме как программирование в win 32/64. А на виртуальной машине, как и писал изначально, много сделать невозможно, обидно....
    Про masm я согласен, именно его синтаксис мне более привычен.
    --- Сообщение объединено, 1 фев 2022 ---
    чем DosBox отличается от emu8086, как по мне, хрен редьки не слаще.
     
  2. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Для чего заниматься виртуальным сексом? Для полноты ощущений?:crazy:
    так себе автор :yes3: У вас есть доступ к ресурсам форума, смотрите, выбирайте, скачивайте...
    такими темпами будете выбирать, как раз успеете к появлению win 128 :lol:
     
    Andrey_59 нравится это.
  3. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    462
    Если ранее про "виртуальную машину" речь шла именно про emu8086, то в DosBox в отличие от точно будет работать FPU и доступ к памяти будет как надо.
    DosBox ныне - стандарт де факто для запуска старых досовских игр как в GOG так и в Steam и конечно же без таких вещей как полная эмуляция всего что надо видеоиграм от FPU до самых тонких регистров VGA адаптера таким не стал бы.
    Но чего реально не будет - это прямого доступа к диску. Тут уже нужна полноценная виртуальная машина с образом харда. А DosBox работает в обычной файловой системе что опять таки обеспечивает простоту накидывания под его виртуальную среду материалов и т.п.

    Имхо в рамках обучения потрогать какими были системы до защищённого режима и REX-префикса очень полезно для саморазвития.
    Впрочем по моим темам тут наверное видно, что я лезу и намного дальше в 60-е.
     
    Andrey_59 нравится это.
  4. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Сейчас завести виртуальную машину никакой проблемы нет, много эмуляторов на любой вкус, тут вам и диск, и прерывания, и FPU с VGA и даже виртуализацию заэмулировать можно.
    Ставите с образа дискеты DOS и учите на здоровье Абеля, а еще лучше Нортона/Соухэ, последняя интереснее и приятнее для восприятия на мой вкус.

    Что касается изучения ассемблера сразу с приложений Windows, то как мне кажется могут за кадром остаться многие тонкости взаимодействия приложений с ОС, и ОС с железом. Но это не точно, сравнить не могу т.к. моей первой книгой по асму был именно Нортон.
     
    Andrey_59 и Indy_ нравится это.
  5. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    Если хочется изучать ассемблер в практическом понимании, то под KolibriOS c Fasm неплохой вариант. :)
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Асм не яп, это архитектура, топология фактически. А она крайне сложна и изменяется. За этим не успеешь, если не успел туда войти.
     
  7. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    Можно и так на него смотреть, но это не делает его невозможным языком программирования в каком то варианте.

    P.S. Сам по себе ассемблер достаточно "простая" вещь для понимания, но использование каких то его особенностей может быть достаточно нетривиально.
     
  8. DOSAsm386

    DOSAsm386 Member

    Публикаций:
    0
    Регистрация:
    12 янв 2017
    Сообщения:
    64
    Адрес:
    Россия
    У вас директива для EXE файлов.
    Используйте DOSBOX для запуска екзешника, если есть опыт пользования им.
    Вариант - установить XP 32 бит под VirtualBox и работать исключительно в виртуалке, там и доступ к диску тогда будет и поддержка DOS приложений и masm32 установится,
    если есть опыт работы с VirtualBox
     
  9. Andrey_59

    Andrey_59 Member

    Публикаций:
    0
    Регистрация:
    20 фев 2021
    Сообщения:
    81
    Да вы шутник, батенька) Буду надеяться, что всё же, до этого не дойдёт. Автор то какой лучше? В том смысле, чтобы более ясное изложение материала было, как у Абеля или что-то подобное. Не всё подряд же читать.

    Значит ли это, что можно уже и не начинать изучать асм, даже и пытаться не стоит?
    Да, есть такая тема, пробовал уже пару месяцев назад, но почему то, когда прога должна была работала с FPU, то она не собиралась, указывая, насколько я помню, в ошибках на отсутствие FPU или что-то в этом роде. Именно тогда я и задумался, что на виртуальной машине много не изучишь....
     
  10. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Автор у каждого «свой». Просто начните читать всё подряд, искать «своего» автора и, одновременно, писать программы. И вскоре поймете, что у каждого читателя своё понятие об «ясности изложения». Попробуйте начать с Систем представления чисел и Сказок дядюшки Римуса о x64, не забудьте об Уроках Iczelion'а, найдите в ресурсах книги Рэндалла Хайда «Искусство Программирования на 64-разрядном ассемблере», Рудольфа Марека «Ассемблер на примерах», Зубкова «Assembler для DOS, Windows и UNIX» и т.д. И вообще ― копайтесь в ресурсах, читайте всё подряд и ищите «своего» автора :) А потом не забудьте поделится с другими результатами своего поиска :good3:
     
    Andrey_59 и DOSAsm386 нравится это.
  11. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Andrey_59,

    > даже и пытаться не стоит?

    Думаю да, есть тн порог вхождения. Но это не точно, может у тебя способность к обучению столь высока, что маны листать можешь.. люди бывают разные.
     
    Mikl___ нравится это.
  12. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    '
    Эмулятор под Linux
    тема проекта на форуме KolibriOS для испытания каких то программ (многих) сделанных для неё.
    и своих наработок (без необходимости использования дополнительных средств виртуализации)

    KolibriOS - это такая система вмещающаяся в базовом функционале на дискетку и с ядром и каким то софтом сделанном на ассемблере.

    Примерно такой же проект эмулятора есть и для Windows в соседней теме, но запуск программ без перекомпиляции уже не получится с Windows 10.

    P.S. В программах KolibriOS, кроме другого софта есть и DosBox. :)
    На Wiki проекта и форуме есть и информация как использовать и кросс инструменты. компиляции.

    Волшебный чемодан
    Интересная статья со ссыылками в обсуждении близкой темы TC.
     
    Последнее редактирование: 2 фев 2022
    Mikl___ нравится это.
  13. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Я вот не помню автора, который позволяет изучать ассемблер с азов и сразу в x64 Windows. Зубков и Икзелион заточены под читателя который уже может в ассемблер, они скорее дают особенности именно работы в среде юзермода Windows. В досовском DEBUG'е, который используют Абель и Нортон, что было хорошо, это что можно вводить опкоды и тут же смотреть результат их выполнения.
     
    Mikl___ нравится это.
  14. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    ormoulu,
    для таких случаев есть x64dbg либо в текст программы вставляется связка из wsprintf/sprintf+MessageBox с пошаговым выводом результата выполнения программы/вычислений на экран. У Зубкова расписываются команды ассемблера, у Iczelion'а, Petzold'a, Герберта Шилдта программирование в Win32 (которое не сильно отличается от win64 :) ).
     
  15. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Это олли бывший?
    Windbg в принципе тоже позволяет менять опкоды в памяти программы практически идентично DEBUG.
     
  16. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    ormoulu,
    нет, это другое... :)
     
  17. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Это другой дебагер, который создавался по образу и подобию олли; но х64дбг опенсорц и активно развивается.
    странно, что ты его не знаешь.. или виндбг правда такой удобный (если привыкнуть), что ничего другого не нужно уже?
     
  18. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    M0rg0t,

    Кроме вд другие отладчики не могут определить текущий мод. Это было проблемой при отладке вмп, что бы поломать отладчик он сменяет мод выходит из под wow. Впрочем я тоже так делал, но ничем это не отладить, только вд. А если там обратные вызовы гуя эту последовательность ничем не раскрутить даже в принципе, хоть апп юзер но нужен ядерный отладчик. Визорами это тоже не пройти.
     
  19. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Да, там отличный скриптовый язык, +умеет в ядро, +исторический наследник DEBUG и родной для винды (а значит полностью интегрированный и под него все заточено), +между кончиной олли и появлением x64dbg прошло какое-то время, +COM интерфейсы на которых можно прикручивать собственные решения, + простой монохромный гуй, все как я люблю.
     
  20. Andrey_59

    Andrey_59 Member

    Публикаций:
    0
    Регистрация:
    20 фев 2021
    Сообщения:
    81
    Если бы это было так, то подобных вопросов не задавал бы, а если и задавал, то вопросы были бы другого характера! В общем я получил ответ на свой вопрос, всем, кто пытался помочь, спасибо!