
Сообщение от
DJs3000
А как можно собрать вот это?)
Можно доработать транслятор.
Я глянул файлы и заметил один конфликт с существующим компилятором. У меня любое некомпилируемое слово - это метка. Число - метка. Двоеточние необязательно и переводы строки игнорируются. Меня просили так сделать, потому что был какой то такой компилятор.
Вот например:
Код:
LABEL1 MOV R0, R1
MOV R2, R4 MOV R3, R6
2 MOV R4, R5
LABEL2 LABEL3 NOP NOP NOP LABEL 4 NOP NOP
А в файлах выше - любое число выводится как байт (аналог .BYTE или DB). Или слово.
Код:
TBIKLC: 0*2+TBPKL0,1*2+TBPKL0,2*2+TBPKL0,3*2+TBPKL0,4*2+TBPKL0
0*2+TBPKL1,1*2+TBPKL1,2*2+TBPKL1,3*2+TBPKL1,4*2+TBPKL1
0*2+TBPKL2,1*2+TBPKL2,2*2+TBPKL2,3*2+TBPKL2,4*2+TBPKL2
0*2+TBPKL3,1*2+TBPKL3,2*2+TBPKL3,3*2+TBPKL3,4*2+TBPKL3
Если совместить вольности всех ассемблеров, то получится какой то Форт. Что бы мы не написали - оно скомпилируется.
Еще и макросы прямо в код!
Код:
MOV #OV460,@#460
MOV #340,@#462
CALL PPSTAR
AR2TY #242
TY #60
TY #14
AR2TY #240
TY #66
AR2TY #241
TY #60
TY #35,#23.,#0,#2
RESTAR: MOV #50.,WERXOR
MOV #5,GORXOR
Это вообще что делает и как компилить?
- - - Добавлено - - -
Как время появится, заменю локальные метки с чисел на числа с долларом. Это решает проблемы с командами перехода. Число в аргументе команды это метка или смещение? И вообще с локальными метками.
Добавлю include. Перекинуть код из другого проекта - это не долго.
Добавлю режимы:
Включить/выключить перевод строки
Включить/выключить : в метках
Включить/выключить обязательное использование .DB