Coil64 (Coil32)
Masterpro Nivo Slider 3.xMasterpro Nivo Slider 3.xMasterpro Nivo Slider 3.xMasterpro Nivo Slider 3.xMasterpro Nivo Slider 3.xMasterpro Nivo Slider 3.x

Об Ассемблере и не только...


Дао дало жизнь машинному языку. Машинный язык дал жизнь ассемблеру. Ассемблер дал жизнь компилятору. Сейчас существует десять тысяч языков. У каждого языка есть свое назначение, иногда скромное. Каждый язык выражает Инь и Янь программного обеспечения. Каждый язык имеет свое место в Дао. Hо не программируйте на Visual Basic'е, если вы можете этого избежать.

assembler sourse code

В этой небольшой статье я хочу поддержать фанатов низкоуровневого программирования. Здесь нет ничего о катушках индуктивности, только об ассемблере и программировании. Напоминаю, что Coil32 v4 написана на этом языке. Исходники этой версии доступны для скачивания, изучения и использования. Необходимый минимум программ для работы с исходниками - это MASM32 v10 и выше и WinAsm Studio.

Для компиляции Dll в Asm'е вам понадобится ASM Editor for Windows, а также этот батник. Сохраните его в папке BIN каталога, где установлен MASM, и в настройках ASM Editor дайте ссылку на него в пункте меню "Build Dll".

Ассемблер создан как замена двоичному коду, который понимает процессор. Давным-давно, в начале времен, когда еще не было никаких языков программирования высокого уровня, программы создавались на ассемблере.

Многие думают, что на ассемблере очень сложно, практически невозможно программировать. Безусловно, это сложно, но очень даже возможно. Это на заре развития IT приходилось составлять программы чуть ли не в двоичном коде (в шестнадцатеричном то точно) и работать в командной строке. Сейчас появились пакеты типа MASM32 имеющие в своем составе все необходимые инструменты для сборки и компиляции исполняемых файлов и DLL библиотек. Вызов системных API функций происходит почти так же как и в языках высокого уровня. А программа WinAsm Studio позволяет свести все файлы в единый проект и представляет собой неплохую IDE для ассемблера с подсветкой синтаксиса, автодополнением кода и прочими вкусностями. Для пошаговой трассировки и отладки программы я использовал OllyDbg 1.10. Для сжатия исполняемых файлов очень удобен UPX (нужно только учитывать, что такие сжатые файлы очень не любят антивирусы). Немаловажно, что все эти программы бесплатны. В итоге сейчас создать простую программу на ассемблере не сложнее, чем в ранних версиях Visual C++, а возможно в чем то и проще.

assembler

Конечно, создавать большие проекты на Ассемблере - это тоже, что обрабатывать фотографию в Paint. Как для этого случая созданы такие программы как Photoshop, так и для создания сложных программных продуктов - Visual C++ и т.п. Однако при создании простой программы, Assembler - лучший язык программирования. Поспорьте со мной...

 
 
Комментарии  
Ассемблер все таки для кода критичного ко времени исполнения, я сам делал ассемблерные вставки на критичных фрагментах кода.Но всю программу на АСМе - сейчас это мазохизм. Во первых АСМ не портируется на другой проц, во вторых это АД. На СИ (просто СИ без плюсов) будет намного проще, а код получается не намного медленнее, оптимизаторы вполне справляются, а если надо что то оптимизировать - ассемблерные вставки (причем можно под #IFDEF под разныые процессоры).

Вспоминаются 80 годы, программы передавались в распечатке HEX дампов, и вколачивались вручную :)

Цитирую Игорь:

Но всю программу на АСМе - сейчас это мазохизм. Во первых АСМ не портируется на другой проц, во вторых это АД.


Полностью согласен. Сейчас в этом нет необходимости. А тогда, 15 лет назад это делалось для минимального веса экзешника, скачать тяжелые по объему программы не у всех радиолюбителей была возможность. Сейчас ассемблер пока еще актуален для микроконтроллеров, но и там уже давно пишут на Си, ассемблер помогает разве только на самых простых с малым объемом флеш памяти.
Добавить комментарий
Комментарии предварительно модерируются. Модерация не проходит в реальном времени и может осуществляться с задержкой.

Намоточный станок

6 499 ₽
Ручные и электрические намоточные станки

Измеритель LC200A

2 649 ₽
Диапазон измерения емкости:
0.01 пФ - 100мФ
Диапазон измерения индуктивности:
0.001 мкГн - 100Гн
Точность измерения:1%.

ВЧ катушки

149 ₽
Катушка с подстроечником 0,6-1,7 мкГн, частота 25-100MHZ

Автоматический измеритель LCR

7 049 ₽
LCR метры с автоматическим определением диапазона, точность 1%.

Скриншоты программы 

screenshot1.png screenshot2.png screenshot3.png screenshot4.png screenshot5.png screenshot6.png
 

Последнии комментарии 

Хотелось бы задать шаг намотки, и изменить соотношение w/s чтобы можно было задать значение до 10.

Автор: Albert

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

Автор: Валерий