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
А транслятор, для вашей поделки, на чём написан?

Неужели на этом же :mrgreen:

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
Kopa wrote:Компилирующий ассемблер
Ни много, не мало - чтобы веселее изобретался велосипед :)
"Забавняшка", однако, не знал. Так :roll: развеселила :lol:

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'ы запускали в колибри - факт.