169 похожих чатов

Мне вот интересно стало, какими основными ограничениями, сталкиваетесь при написании

программ на ассемблере. И с чем они в основном связаны?
Просто я задался этим вопросом попытавшись поработать с видеокартой из под ассемблера на операционной системе с чем есть некоторые проблемы

16 ответов

15 просмотров

Очевидно, недостаточно проектов на ассемблере. Иногда нужно подсмотреть что-то схожее, но такого банально нет. Приходится изучать код на С, и переписывать на ассемблер (очень больно, если код разбит на 10+ файлов, ещё и с глупыми заглушками)

Меня больше всего огорчает сама сложность вообще начать писать под виндой, внезапно оказывается, что для доса документация куда более подробная, чем для винды - внезапно, даже в vs code есть расширение именно для компиляции под дос, а не винду.

Евгений-. Автор вопроса
The Bird of Hermes
Меня больше всего огорчает сама сложность вообще н...

Да тебе опыта просто не хватает. Лично я сколько под Windows не писал — ну проще простого. Из WinAPI перепиши аргументы в ассемблерный вид (push в стек, или mov в регистры) и call функцию. Абсолютно аналогичное, что и с С

КТ315
Да тебе опыта просто не хватает. Лично я сколько п...

Ну блин основная сложность именно начать, нет готовых решений для этого. А то, что есть - сырое. Нет такого, чтобы я мог взять, скачать какую-нибудь иде или тот же масм даже, сразу написать код, скомпилировать и чтобы он что-то сделал, мне надо голову ломать над подключением библиотек, экспортом функций из си

The Bird of Hermes
Ну блин основная сложность именно начать, нет гото...

Там проще простого, я могу хоть закрытыми глазами тебе код написать (серьёзно). И экспорт функций никакой не надо из С, только импорт как раз из нужных тебе библиотек.

КТ315
Там проще простого, я могу хоть закрытыми глазами ...

Ну вот в этом беда, скачиваешь библиотеки, вроде всё инклуды прописал, а тебе компилятор начинает материться на inc-файлы для этих либ

The Bird of Hermes
Ну вот в этом беда, скачиваешь библиотеки, вроде в...

Так а зачем ты что-то скачиваешь? В Windows всё давно лежит. Просто пишешь import kernel32, "ExitProcess", ... т.д.

Не надо, в системных переменных Windows указан глобальный путь ко всем библиотекам системным. Только пишешь "kernel32.dll", и всё.

КТ315
Не надо, в системных переменных Windows указан гло...

Ммм ну вот недостаток документации, везде где я читал рекомендовался includelib библиотек с таким же названием

Евгений-. Автор вопроса
The Bird of Hermes
Ммм ну вот недостаток документации, везде где я чи...

Я в первом же уроке по fasm на Ютубе с этим ознакомился

The Bird of Hermes
Ммм ну вот недостаток документации, везде где я чи...

Чёт не пойму о чём ты... В архиве с FASM лежат официальные примеры, никакой речи о lib.

The Bird of Hermes
Какой такой фасм, я tasm/masm изучаю)

Пфффффффффф, ну тогда понятно)))

КТ315
Так а зачем ты что-то скачиваешь? В Windows всё да...

Хм, в студии это тупо через extrn работает, даже импортить не надо, а AsmVisual ругается на неразрешенный внешний символ

The Bird of Hermes
Хм, в студии это тупо через extrn работает, даже и...

Потому что за тебя это делает линковщик, который ты потом отдельно запускаешь. И на выходе с MASM ты получаешь обьектный файл. Это неудобно и некрасиво. У FASM ты сразу же получаешь маленький, девственный .exe файл (или исполняемый файл другого формата).

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта