Board.KolibriOS.org
https://board.kolibrios.org/

Высокоуровневый ассемблер
https://board.kolibrios.org/viewtopic.php?f=2&t=3130
Page 2 of 5

Author:  paulcodeman [ Tue Sep 22, 2015 6:04 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Обновлен редактор кода.
Добавлены новые фичи.
Code:
#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 // Выходим из программы


Attachments:
Безымянный.PNG
Безымянный.PNG [ 16.07 KiB | Viewed 3351 times ]

Author:  Artyom [ Tue Sep 22, 2015 8:07 pm ]
Post subject:  Re: Высокоуровневый ассемблер

На языке процессора архитектуры x86 это чудо компилируется в 110 МЕГАБАЙТ вместе с VM, которая это выполнит?

Author:  Artyom [ Tue Sep 22, 2015 8:15 pm ]
Post subject:  Re: Высокоуровневый ассемблер

А транслятор, для вашей поделки, на чём написан?

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

Author:  Pathoswithin [ Tue Sep 22, 2015 10:14 pm ]
Post subject:  Re: Высокоуровневый ассемблер

В принципе, портировать Java легче, чем изобрести велосипед, аналогичный по возможностям. Потому я и спросил на счёт энтузиазма и времени.

Artyom
... но толстый троллинг вряд ли кого-то в чём-то убедит.

Author:  paulcodeman [ Tue Sep 22, 2015 10:38 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Pathoswithin wrote:
В принципе, портировать Java легче, чем изобрести велосипед, аналогичный по возможностям. Потому я и спросил на счёт энтузиазма и времени.

Все возможно, я за 3 дня очень много сделал, Java портировать не вижу смысла, тем более совместимость с kolibri сомневаюсь, что выйти может. Сейчас уже много чего можно делать с консолью. Правда пока что без оптимизации. И не учел утечек памяти. Следующий этап объекты (gui элементы), а в конце займусь оптимизацией, уверен если не брошу дело, то сделаю. И еще в java не динамическая типизация, а я хочу динамическую для простоты!

Author:  punk_joker [ Tue Sep 22, 2015 11:45 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Хорошо что Sourcer, не приходило в голову, что это нельзя портировать, как и то, что надо закончивать портирование

Author:  Serge [ Tue Sep 22, 2015 11:46 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Code:
chr symbol,data,count // Вставить символ в ячейку %2 из данных ячейки %1 по номеру символа %3
По смыслу здесь не count а offset ?

Author:  paulcodeman [ Wed Sep 23, 2015 1:51 am ]
Post subject:  Re: Высокоуровневый ассемблер

Serge wrote:
Code:
chr symbol,data,count // Вставить символ в ячейку %2 из данных ячейки %1 по номеру символа %3
По смыслу здесь не count а offset ?

можно и так сказать
Например если строка test а offset = 2 то возвращает символ s, тип как строка, в следствии при суммировании со строками, символ s присоединится к строке. Аналог в php например
$a = 'test';
echo $a[2];

Author:  ruwebstyle [ Wed Sep 23, 2015 10:40 am ]
Post subject:  Re: Высокоуровневый ассемблер

pavelyakov, продолжай работу. Если бы разработчики FASM когда-то просто сказали бы, что есть же MASM, TASM и т.д., то сегодня не было бы FASMA, при помощи которого написан КолибриОС, при помощи которого ты уже пришел к тому, что пишешь свою "яву".
Выстрелить может не прямо сейчас, но если не остановишься, выстрелит обязательно.

Author:  Serge [ Wed Sep 23, 2015 1:33 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Ага, а потом прикрутить транслятор в llvm ir и будет кроссплатформенный ассемблер.

Author:  Kopa [ Wed Sep 23, 2015 4:41 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Компилирующий ассемблер
Ни много, не мало - чтобы веселее изобретался велосипед :)

Author:  e-andrew [ Wed Sep 23, 2015 5:40 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Единственное, что я хотел бы увидеть в асме - препроцессор для выражений, так как они сложно читаются. Писать на этом я бы не стал по АБСОЛЮТНОЙ непродуманности языка. Самый очевидный недостаток: коллозия номеров регистров.

Author:  Artyom [ Wed Sep 23, 2015 5:42 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Kopa wrote:
Компилирующий ассемблер
Ни много, не мало - чтобы веселее изобретался велосипед :)


"Забавняшка", однако, не знал. Так :roll: развеселила :lol:

Author:  Pathoswithin [ Wed Sep 23, 2015 6:52 pm ]
Post subject:  Re: Высокоуровневый ассемблер

e-andrew wrote:
Самый очевидный недостаток: коллозия номеров регистров.
Может коллизия? Хотя, всё равно не понял.

Тут есть такой момент.
В 64-битном режиме есть 8 дополнительных регистров, но из-за невнятных названий r8-r15 они не лучше, чем стековые переменные esp+4, esp+8...
Регистры 32-битного режима имеют своё назначение и в них сложнее запутаться. А тут их индивидуальность теряется.

Author:  GerdtR [ Wed Sep 23, 2015 7:52 pm ]
Post subject:  Re: Высокоуровневый ассемблер

Так java уже начали портировать. По крайней мере что-то уже было, class'ы запускали в колибри - факт.

Page 2 of 5 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/