gudleifr писал(а):
vpn289 писал(а):
Иными словами слово opcode является создающим для слов-мнемоник. Слово-мнемоника же, в свою очередь компилирует на вершину словаря заданные опкоды.
Т.е. opcode делает тоже самое, что и двоеточие (с запятыми внутри), только через задницу.
Чевой-то? Вообще, так рассуждать - "есть двоеточие, а все остальное через задницу" странно.
Раскрою еще тему. opcode в моей системе существует ДО двоеточия ( его аналога). Задолго до.
И поясните кодом, пожалуйста, что Вы имели ввиду. Не улавливаю.
vpn289 писал(а):
Моя идея в том, что нет нужды пыхтеть и пытаться сделать красивый ассемблер.
О чем и речь. Вам понадобились слова, оставляющие на вершине словаря некоторые "кубики". Т.к. для каждого нового кубика Вы лезете в таблицы, чтобы скомпилировать его вручную, а для каждого нового набора кубиков проверяете список уже введенных, то этот метод не является ассемблером и не является особо удобным. И уж, конечно, любая задача, требующая кодов, потребует и конструкций из наборов кубиков, т.е. вместо вместо ассемблера Вы быстро получите набор макросов, удобный(!) для этой программы, но никак не претендующий на "ассемблерность", тем более, на применимость в других программах.
Т.е., как раз, то, что я имел в виду - вставить в программу коды без ассемблера проще, чем с ним. Попробуйте прикинуть статистику, как я выше.[/quote]
Опять мы не понимаем друг друга.
1) При написании любого иного ассемблера вам все равно придется лезть в таблицы.
2) Какие "кубики"? Мне приятнее не выписывать 0x 48 B, 0x FF B, 0x C0 B, а написать inc_rax.
Числа я пишу один раз, при определении мнемоники, а мнемонику могу использовать потом сотню раз.
И другому человеку гораздо понятнее что обозначет inc_rax супротив 0x 48 B, 0x FF B, 0x C0 B,.
Собственно в этом и основная функция любого ассемблера. Пользоваться не машкодом, а мнемониками.
3) Опять 25. Маленький существенный нюанс Форта. Программа на нем по сути и являет набор макросов, удобный для нее самой. Каждая задача требует разработки своего собственного языка. ( В смысле набора слов). В процессе разработки можно создать инструмент, который внезапно окажется универсальным.