ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Рефал » Рефал и ассемблер


Рефал и ассемблер

Сообщений 1 страница 12 из 12

1

Лис написал(а):

Не соответствует генеральной линии форума. РЕФАЛ сгодится (при некоторых доработках).
Суть в том, что кириллица должна быть до самого низа.

Особой разницы в самом низу нет. Где на рефале ассемблер? А примеры, доступные для понимания школьника?

Отредактировано MihalNik (2021-04-13 16:33:12)

0

2

MihalNik написал(а):

Где на рефале ассемблер?

Этот вопрос следует читать так: кто и зачем выдавил Турчина из Союза? Наличие  в ответе аббревиатуры "КГБ" является маркером поверхностного взгляда на проблему.

0

3

С.Т. написал(а):

Этот вопрос следует читать так: кто и зачем выдавил Турчина из Союза?

Вопрос был не об этом. Ассемблер легко сделать в виде обычного ЯВУ.
Т.е. запись "move ax,bx", "add ax,bx" в виде "ax= bx", "ax+= bx" очевидна.
У Юрия, например, что-то такое было.

0

4

MihalNik написал(а):

Вопрос был не об этом. Ассемблер легко сделать в виде обычного ЯВУ.
Т.е. запись "move ax,bx", "add ax,bx" в виде "ax= bx", "ax+= bx" очевидна.
У Юрия, например, что-то такое было.

А в чём тогда вопрос? (и кто такой Юрий?)

Приведённая в качестве примера замена мнемонической записи команд решается макросами flat assembler g. Язык Си-- позволяет в рамках синтаксиса Си использовать регистры. Распространения упомянутые варианты не получили, поскольку в процессоре помимо регистров есть ещё и флаги. Керниган и Риччи абстрагировались от флагов, это людям понравилось, поскольку оказалось не привязанным к железу. Насколько язык Си близок к ассемблеру становится понятно после прочтения книги Генри С. Уоррена "'Алгоритмические трюки для программистов". В общем, не ясно, при чём тут настолько высокоуровневый язык, как РЕФАЛ.

0

5

С.Т. написал(а):

и кто такой Юрий

Автор сайта compiler.su, один из старейших участников сообщества. Прошу извинить, подумал что Вы оттуда сюда заглянули.

С.Т. написал(а):

в процессоре помимо регистров есть ещё и флаги

Что ровным счетом ничего не меняет, флаги такие же данные как регистры.

С.Т. написал(а):

А в чём тогда вопрос?

Как обращаться с машиной не выходя за рамки языка.

С.Т. написал(а):

В общем, не ясно, при чём тут настолько высокоуровневый язык, как РЕФАЛ.

Это к Лису, как он себе это представляет.

Отредактировано MihalNik (2021-04-15 10:41:34)

0

6

MihalNik написал(а):

к Лису, как он себе это представляет

компилятор преобразует одни данные в другие. Возможно что данные записываются символами. Возможно что на выходе - двоичными.

Рефал настолько масштабируемая штука, что неважно какие форматы на входе и на выходе.

0

7

Лис написал(а):

Рефал настолько масштабируемая штука, что неважно какие форматы на входе и на выходе.

Это для машины не важно. А для понимания человека - важно.
Как Вы представляете аналоги "move ax,bx", "add ax,bx"? Важно это, а не то, что он может выдавать такие строки или соответствующий машинокод. Любой полноценный ЯП может.

Отредактировано MihalNik (2021-04-15 11:54:57)

0

8

MihalNik написал(а):

Как Вы представляете аналоги "move ax,bx", "add ax,bx"?

Переформулировываю вопрос:
Входной язык: описан в спецификации набора инструкций архитектуры ARM (михалник хотел Intel, но нет)
Выходной язык: цепочка битов
Задача: написать программу на рефале не прибегая к сторонним библиотекам.
Решение задачи (текст программы на РЕФАЛ) будет ответом на вопрос Михалника.
Всё правильно?

Отредактировано Лис (2021-04-15 11:59:13)

0

9

Лис написал(а):

Всё правильно?

Неправильно. Спрашивалось, как понятным образом соотнести пару вышеуказанных иснтрукций с синтаксисом Рефала.
Еще раз: можно написать "ax+= bx" в каком-нибудь Си (и многих других языках), и научить компилятор генерировать инструкцию не заставляя пользователя учить синтаксис ассемблера.

Отредактировано MihalNik (2021-04-15 12:21:50)

0

10

MihalNik написал(а):

научить компилятор генерировать инструкцию не заставляя пользователя учить синтаксис ассемблера

Входной язык: РЕФАЛ
Выходной язык: описан в спецификации набора инструкций архитектуры ARM
Задача: написать программу на рефале не прибегая к сторонним библиотекам.
Решение задачи (текст программы на РЕФАЛ) будет ответом на вопрос Михалника.
Всё правильно?

MihalNik написал(а):

как понятным образом соотнести пару вышеуказанных иснтрукций с синтаксисом Рефала

Есть:
1) синтаксис рефала
2) синтаксис в спецификации набора инструкций архитектуры ARM
3) синтаксис особого языка, придуманного МихалНиком, и комбинирующего 1 и 2
Надо:
а) опубликовать спецификацию композитного языка МихалНика
б) написать компилятор композитного языка МихалНика на языке РЕФАЛ.

т.е.
Входной язык: РЕФАЛ + особые хитрые соглашения МихалНика
Выходной язык: РЕФАЛ
Задача: написать программу на рефале не прибегая к сторонним библиотекам.
Решение задачи (текст программы на РЕФАЛ) будет ответом на вопрос Михалника.
  Этот текст будет реализовывать семантику соглашений МихалНика.
Всё правильно?

Отредактировано Лис (2021-04-15 12:55:30)

0

11

Язык (или это препроцессор?) можно будет назвать МИФРИЛ, потому что
МихалнИк, Фукнциональная логика, Рефал, И Лис.

Отредактировано Лис (2021-04-15 20:18:07)

0

12

MihalNik написал(а):

Что ровным счетом ничего не меняет, флаги такие же данные как регистры.

Если ax += bx эквивалентна add ax,bx
как записать аналог adс ax,bx?
И, главное, зачем? В Эльбрусе наверняка нет регистра bx.

MihalNik написал(а):

Как Вы представляете аналоги "move ax,bx", "add ax,bx"?

РЕФАЛ относят к функциональным языкам, а машинные инструкции императивны, соответственно, их аналог в тексте на языке РЕФАЛ не является необходимым (не только состояние регистра ax, но и вообще сложение). Полагаю, аналоги указанных команд процессора не имеют смысла в РЕФАЛ. Отсюда и возникает недопонимание. Я сделал вывод, что говорится о реализации на РЕФАЛе ассемблера или кодогенератора (что возможно).

MihalNik написал(а):

Автор сайта compiler.su, один из старейших участников сообщества.

А я подумал, что это в фамилии Юров (автор ряда книг о программировании на ассемблере) опечатка из-за автоисправлялки текста.

Отредактировано С.Т. (2021-04-16 12:27:18)

0


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Рефал » Рефал и ассемблер