программ на ассемблере. И с чем они в основном связаны?
Просто я задался этим вопросом попытавшись поработать с видеокартой из под ассемблера на операционной системе с чем есть некоторые проблемы
Очевидно, недостаточно проектов на ассемблере. Иногда нужно подсмотреть что-то схожее, но такого банально нет. Приходится изучать код на С, и переписывать на ассемблер (очень больно, если код разбит на 10+ файлов, ещё и с глупыми заглушками)
Меня больше всего огорчает сама сложность вообще начать писать под виндой, внезапно оказывается, что для доса документация куда более подробная, чем для винды - внезапно, даже в vs code есть расширение именно для компиляции под дос, а не винду.
Хоть свою ос делай.. а точно колибри
Да тебе опыта просто не хватает. Лично я сколько под Windows не писал — ну проще простого. Из WinAPI перепиши аргументы в ассемблерный вид (push в стек, или mov в регистры) и call функцию. Абсолютно аналогичное, что и с С
Ну блин основная сложность именно начать, нет готовых решений для этого. А то, что есть - сырое. Нет такого, чтобы я мог взять, скачать какую-нибудь иде или тот же масм даже, сразу написать код, скомпилировать и чтобы он что-то сделал, мне надо голову ломать над подключением библиотек, экспортом функций из си
Там проще простого, я могу хоть закрытыми глазами тебе код написать (серьёзно). И экспорт функций никакой не надо из С, только импорт как раз из нужных тебе библиотек.
Ну вот в этом беда, скачиваешь библиотеки, вроде всё инклуды прописал, а тебе компилятор начинает материться на inc-файлы для этих либ
Так а зачем ты что-то скачиваешь? В Windows всё давно лежит. Просто пишешь import kernel32, "ExitProcess", ... т.д.
Не надо, в системных переменных Windows указан глобальный путь ко всем библиотекам системным. Только пишешь "kernel32.dll", и всё.
Ммм ну вот недостаток документации, везде где я читал рекомендовался includelib библиотек с таким же названием
Я в первом же уроке по fasm на Ютубе с этим ознакомился
Чёт не пойму о чём ты... В архиве с FASM лежат официальные примеры, никакой речи о lib.
Какой такой фасм, я tasm/masm изучаю)
Пфффффффффф, ну тогда понятно)))
Хм, в студии это тупо через extrn работает, даже импортить не надо, а AsmVisual ругается на неразрешенный внешний символ
Потому что за тебя это делает линковщик, который ты потом отдельно запускаешь. И на выходе с MASM ты получаешь обьектный файл. Это неудобно и некрасиво. У FASM ты сразу же получаешь маленький, девственный .exe файл (или исполняемый файл другого формата).
Обсуждают сегодня