Page 2 of 5
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 6:04 pm
by paulcodeman
Обновлен редактор кода.
Добавлены новые фичи.
Code: Select all
#define data,'%1'
#define symbol,'%2'
#define count,'%3'
#define print,'console 0,'
#define getch,'console 1'
// Установка значений по умолчанию
mov data,'Hello World!!!'
mov count,0
je end
// Основная программа
main:
chr symbol,data,count // Вставить символ в ячейку %2 из данных ячейки %1 по номеру символа %3
add count,1 // Суммируем ячейку %3 на 1
cmp count,17 // до достижении 17
je end // прыжок на end
print symbol // вывести символ в консоль
getch // при нажатии на любую кнопку продожить выполнение
jmp main // Прыжок на main
end:
exit // Выходим из программы
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 8:07 pm
by Artyom
На языке процессора архитектуры x86 это чудо компилируется в 110 МЕГАБАЙТ вместе с VM, которая это выполнит?
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 8:15 pm
by Artyom
А транслятор, для вашей поделки, на чём написан?
Неужели на этом же
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 10:14 pm
by Pathoswithin
В принципе, портировать Java легче, чем изобрести велосипед, аналогичный по возможностям. Потому я и спросил на счёт энтузиазма и времени.
Artyom
... но толстый троллинг вряд ли кого-то в чём-то убедит.
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 10:38 pm
by paulcodeman
Pathoswithin wrote:В принципе, портировать Java легче, чем изобрести велосипед, аналогичный по возможностям. Потому я и спросил на счёт энтузиазма и времени.
Все возможно, я за 3 дня очень много сделал, Java портировать не вижу смысла, тем более совместимость с kolibri сомневаюсь, что выйти может. Сейчас уже много чего можно делать с консолью. Правда пока что без оптимизации. И не учел утечек памяти. Следующий этап объекты (gui элементы), а в конце займусь оптимизацией, уверен если не брошу дело, то сделаю. И еще в java не динамическая типизация, а я хочу динамическую для простоты!
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 11:45 pm
by punk_joker
Хорошо что Sourcer, не приходило в голову, что это нельзя портировать, как и то, что надо закончивать портирование
Re: Высокоуровневый ассемблер
Posted: Tue Sep 22, 2015 11:46 pm
by Serge
Code: Select all
chr symbol,data,count // Вставить символ в ячейку %2 из данных ячейки %1 по номеру символа %3
По смыслу здесь не count а offset ?
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 1:51 am
by paulcodeman
Serge wrote:Code: Select all
chr symbol,data,count // Вставить символ в ячейку %2 из данных ячейки %1 по номеру символа %3
По смыслу здесь не count а offset ?
можно и так сказать
Например если строка test а offset = 2 то возвращает символ s, тип как строка, в следствии при суммировании со строками, символ s присоединится к строке. Аналог в php например
$a = 'test';
echo $a[2];
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 10:40 am
by ruwebstyle
pavelyakov, продолжай работу. Если бы разработчики FASM когда-то просто сказали бы, что есть же MASM, TASM и т.д., то сегодня не было бы FASMA, при помощи которого написан КолибриОС, при помощи которого ты уже пришел к тому, что пишешь свою "яву".
Выстрелить может не прямо сейчас, но если не остановишься, выстрелит обязательно.
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 1:33 pm
by Serge
Ага, а потом прикрутить транслятор в llvm ir и будет кроссплатформенный ассемблер.
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 4:41 pm
by Kopa
Компилирующий ассемблер
Ни много, не мало - чтобы веселее изобретался велосипед
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 5:40 pm
by e-andrew
Единственное, что я хотел бы увидеть в асме - препроцессор для выражений, так как они сложно читаются. Писать на этом я бы не стал по АБСОЛЮТНОЙ непродуманности языка. Самый очевидный недостаток: коллозия номеров регистров.
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 5:42 pm
by Artyom
"
Забавняшка", однако, не знал. Так
развеселила
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 6:52 pm
by Pathoswithin
e-andrew wrote:Самый очевидный недостаток: коллозия номеров регистров.
Может коллизия? Хотя, всё равно не понял.
Тут есть такой момент.
В 64-битном режиме есть 8 дополнительных регистров, но из-за невнятных названий r8-r15 они не лучше, чем стековые переменные esp+4, esp+8...
Регистры 32-битного режима имеют своё назначение и в них сложнее запутаться. А тут их индивидуальность теряется.
Re: Высокоуровневый ассемблер
Posted: Wed Sep 23, 2015 7:52 pm
by GerdtR
Так java уже начали портировать. По крайней мере что-то уже было, class'ы запускали в колибри - факт.