В SjASM'e скобки {..} являются синонимами (..) и [..]. В других асмах такого не замечал. Всем: как считаете, сделать функцию скобок {..} (будет работать только с ключом -m) такой же как в аласме?Сообщение от Spectre
В SjASM'e скобки {..} являются синонимами (..) и [..]. В других асмах такого не замечал. Всем: как считаете, сделать функцию скобок {..} (будет работать только с ключом -m) такой же как в аласме?Сообщение от Spectre
ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
ATM-Turbo 512 v4.50,
Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Видимо, выбросить все нестандартно-гореизобретательские фишки из съясма стоит. А вот совместимость со спековыми асмами - всегда хорошо. Может быть, даже стоит сделать (в далёком будущем) наборы парсеров для разных спековских асмов. =)Сообщение от aprisobal
Нет смысла.Сообщение от lvd
ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
ATM-Turbo 512 v4.50,
Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO
Тогда и вообще нет смысла подгонять под особенности, например, аласма с его if/ifn, etc.Сообщение от aprisobal
есть дурное предложение: воспользоваться идеями Metal'а разработанного Владимиром Кладовым.Сообщение от aprisobal
т.е. всевозможные скобки {}, [], () могут находиться в строке в области метки. Скобки должны быть парными. Разрешается делать отступ на произвольное число пробелов. При этом скобки являются аналогом LOCAL/ENDLOCAL и возможны переходы на скобки, например:
"DJNZ {" - переход на начало цикла
"JR C, }}" - выход из цикла 2й степени вложенности
Плюсы:
1. лучше видна структура программы за счет парности скобок и отступов для вложенных блоков
2. упрощается повторное использование кусков кода за счет отсутсвия проблем с использованием уже существующих меток
3. нет нужды каждый раз придумывать имена меток для начала/конца циклов (типа: next_*, loop, endLoop)
4. в правильных редакторах возможен folding, т.е. свертывание блока кода в одну строку
Минусы:
1. непривычно
2. надо серьезно переделывать парсер
3. не портируемо
В SjASM уже похожее есть:Сообщение от elf/2
Код:Temporary labels ---------------- To keep the number of used labels reasonable it is possible to use numbers as labels. These labels can only be used as labels to jump to. To jump to these labels, use the number followed by an 'F' for forward branches or a 'B' for backward branches. Temporary labels should not be used within macro's. Example: ADD A,E JR NC,1F INC D 1 LD E,A 2 LD B,4 LD A,(DE) OUT (152),A DJNZ 2BА мы и не подгоняем. Только добавляем полезные директивы типа DISPLAY.Сообщение от lvd
ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
ATM-Turbo 512 v4.50,
Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO
так может довести это похожее до ума? имхо цифры менее удобны в качестве мнемонических обозначений...Сообщение от aprisobal
кроме того остальные плюсы цифровые метки не покрывают
а по-моему достаточно удобно. Когда близко, чего зря имена придумывать. Вот помню в асме PDP, с коим я познакомился еще до спека, были локальные метки вида @nnn (n-цифра), локальность которых ограничивалась метками обычными. Т.е. между двумя обычными метками все метки @nnn были локальными. Хотя слово PROC дает лучше эффект.
devpac на амиге: локальные метки == .metka, ограничены обычными. Ещё удобнее, чем цифры only - так как можно и .1 .2 .3 писать, так и .label .metkaСообщение от Vladimir Kladov
кстати может там как раз точка и была (или еще какой знак, вроде солнца, столько лет прошло, все детали не упомню).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)