gudleifr писал(а):
"Нет, уж лучше - Вы к нам". Что конкретно делает opcode? Может, я чего недопонял?
Код:
db 6,"opcode",0
alignhe
dq nfa_37
dq _opcode_code
_opcode_code:
call _header
mov rax,[here_value]
mov qword [rax],op_compile_code
call _pop
mov cl,al
mov rdx,[here_value]
add rdx,cell_size
mov [rdx],al
inc rdx
and rcx,0ffh
add qword [here_value],cell_size*2
oc1:
call _pop
mov [rdx],al
inc rdx
loop oc1
call _align
ret
align cell_size
op_compile_code:
movzx rcx,byte [rax+cell_size]
inc rax
mov rdx,[here_value]
add [here_value],rcx
occ1:
mov bl,[rax+cell_size]
mov [rdx],bl
inc rax
inc rdx
dec cl
jne occ1
ret
;----------------------------
align cell_size
gudleifr писал(а):
Если это так, то это ошибка. "Задолго до" существуют слово ENTRY (или (CREATE) ) - создание словарной статьи, и "запятая". Все остальные "двоеточия" определяются через них за пару касаний клавиш.
Нет. CREATE это уже сильно позже. Сначала HEADER. Только поля имени и связи.
gudleifr писал(а):
Да, но в "обычном" ассемблере после этого лезть в таблицы не надо. В отличие от Вашего. Сами же написали - приходится проверять, и при необходимости добавлять.
В "обычном" ассемблере это сделали до Вас. И много раз.
Проверять на отсутствие не надо, система ругается если нет такого слова.
vpn289 писал(а):
Числа я пишу один раз, при определении мнемоники, а мнемонику могу использовать потом сотню раз.
gudleifr писал(а):
Сотни? Значит Вы что-то совсем неправильно делаете. При "сотнях" проще отказаться от FORTH и писать на нормальном языке ассемблера..
Вы модальность улавливаете? Слово "могу" обозначает возможность, а не обязательность.
gudleifr писал(а):
Не в смысле "нового набора слов", а в смысле "нового FORTH-ядра".
Зачем новое ядро? В том и прелесть, что можно обходиться минимальным ядром, к которому добавлять нужные слова.
gudleifr писал(а):
Т.е. за предыдущие 50 лет ни одному фортеру это не удалось, и вдруг удастся?
Представьте себе. Даже великие и ужасные Мур и Броуди не увидели некоторых очевидных вещей и сделали кое-что важное вразрез с ими же утвержденными принципами.
gudleifr писал(а):
P.S. И, чтобы не быть голословным, приведите, пожалуйста, статистику, которую я просил, для одной из Ваших программ.
Во-первых, у меня нет инструмента для сбора такой статистики. А во-вторых, просто лень.