Rio444 писал(а): 27.08.2023,12:01
Но иметь представление, как оно работает на низком уровне, имхо должен каждый быдлокодер. Тем более, ничего сложного там нет.
Совершенно верно! Тем более X86, где можно творить все что угодно + к Вашим услугам
FPU, чем мало какой из микроконтроллеров может похвастаться. Вообще сложности
ассемблера очень сильно преувеличены. Ассемблерные программы для Windows
вообще по форме мало отличаются от Си-шных (без визуальных сред естественно),
тк значительная часть кода - вызовы API обычным call.
Меня гораздо больше напрягает, что у разных ассемблеров (даже для одного и того же
CPU) разные директивы, псевдооператоры и особенно макрокоманды. ATT ассемблер
вообще задом наперед записывается:) Еще было бы здорово, если бы был ассемблер
с возможностью локализации меток внутри подпрограммы, даже если она в том же
модуле. Для макросов это предусматривается, для подпрограмм - нет. Понятно, что
в таких ассемблерах как FASM, A86 это и не получится, тк подпрограммы никак не
отделяются. Но в MASM принято оформлять подпрограмму как proc near(far)/endp
и жаль что разработчики не предусмотрели локализацию меток. Мне очень помогает
наличие локальных меток @F/@B/@@:
Для DOS программирования я в основном пользую MASM, тк это де-факто стандарт, почти
во всех знаменитых книгах таких грандов как Нортон, Скенлон, Джордейн используется
MASM, на нем написано много отличных программ с исходниками. Напимер работы
Коллинза о секретах X86, IBM BIOS-ы XT,AT. Award 4.5 тоже написан почти полностью
на MASM.