В статье "HLA: The High Level Assembly Programming Language (http://www.linuxjournal.com/article/8408)" представлено введение в возможности компилятора HLA (http://webster.cs.ucr.edu/AsmTools/HLA/) (High Level Assembly), позволяющего использовать конструкции высокоуровневых языков в программах на языке Assembler.
Возможности HLA чем-то похожи на макросредства MASM/TASM и позволяют использовать условные операторы, циклы, создавать функции и использовать стандартную библиотеку. HLA доступен под Windows и Linux.
Напримр, конструкция, в HLA нотации:if( eax <= ebx ) then
mov( 0, eax );
endif;будет преобразована в
cmp( eax, ebx ); jnbe NotBE; mov( 0, eax ); NotBE:
URL: http://www.linuxjournal.com/article/8408
Новость: http://www.opennet.me/opennews/art.shtml?num=5707
Забавно.
Но что-то я не понимаю зачем это надо.
От знания архитектуры всё равно не освобождает, а оптимальнось кода снижается(потому что появляется немного халявы, а халява она расслабляет)
Мне кажется, автор этой штуки зря убил время..
В упор не вижу надобности в таком языке.
Разве что читабельность немного улучшается.
Ну, а для читабельности есть форматирование и комментарии.
Непонятно зачем оно.
Это давно было, называлось C--
ИМХО ребята просто очень увлеклись масом и макросами в том числе...
да и тогда уж не mov( 0, eax );
а лучше xor eax, eax
А мне кажется, что это в высшей степени нужная вещь! Это ведm не компилятор, на выходе ты получаешь ассемблеровый код (при помощи опции -s) и ставь там своих комментариев сколько хочешь! Только читаться HLA будет проще (при навыке), да и писаться тоже, особенно когда речь заходит об if-ах, switch-ах и циклах.
Вот пример забавной консольной игрушки, написанной на HLA:http://freshmeat.net/projects/hlaadventure/?branch_id=50924&...
Она ещё и переносимая ;-)
мне в дебагере приятнее видеть именно то, что я
написал, а не то что мне нагенерила какая-то
софтина.
Assembler нужен только тогда, когда необходим
секс с железом. В других случаях С/C++ куда лучьше
для разработчика. Если это так, то макросы (и другие навароты) только будут мешать оптимизировать и отлаживать код.
И почему этого HLA не было году в 96..? Пришлось тогда свой препроцессор для ассемблера писать. Помню он даже отладочную информацию для Turbo Debugger'а генерировал.
Эх молодость, молодость... :)
На сайте shoorick.ho.ua описан программатор микросхем пзу 573рф2 и,выложен исходник на ассемблере FASM.У меня получилось переписать этот проект на Borland TASM.Работает стандартный диалог открытия файлов.Проблема как раз в том,что распознаются только raw файлы.Даже не bin и уж тем более не intel hex.Между тем существует loadhex рутина на языке C,которая успешно это делает.Проект целиком на ассемблере.Нужно переписать её на этот язык программирования посредством hla.А я дам ссылку на исходники,куда требуется добавить код.Схемотехника программатора проверена.Всё работает.