Вопрос программистам

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

Хочу написать компилятор для своего языка программирования на FASM. Допустим, я сейчас пишу под Windows, а если потребуется перенести его на Linux, значит всё придётся переписывать(под терминал, оболочку и т.д.)? Как те же gcc всякие стали кроссплатформенными, также всё переписывали под каждую ОСь?
Возникла идея: под каждую операционную систему свой модуль лепить, для ввода/вывода, потом при компиляции выбирать один из модулей, в зависимости от того, на какую систему мы компилируем код
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Реклама
Друг Кота
Сообщения: 5399
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий

Сообщение petrenko »

///

- AWK - / ?? :roll: :dont_know:

///

:idea: !
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

не то. Мне нужно на ассемблере, чтоб и на Windows, и на Linux, и на DOS/KolibriOS
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Друг Кота
Аватара пользователя
Сообщения: 5828
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Программы на новом языке тоже должны работать на этих системах?
Усложнять просто. Упрощать сложно.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 500
Зарегистрирован: Ср сен 16, 2020 20:38:41
Откуда: Краснодарский край, г.Абинск

Сообщение JMC.Hard »

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637805#p4637805"]не то. Мне нужно на ассемблере, чтоб и на Windows, и на Linux, и на DOS/KolibriOS[/uquote]
Ннну, вобщем-то ассемблеру мало важно Windows, Linux или DOS ...
Ему интереснее x86, RISK или ARM ... :wink:
Лучше сделать и жалеть, чем жалеть, что не сделал ...
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

Тень, должны. Переформулирую немного: мой компилятор(скорее интерпретатор) должен запускаться в терминалах этих операционных систем, и как я понял, необходимо будет переписать всю ту часть, которая будет отвечать за запуск этого компилятора. Тоже самое и с генерацией исполняемого файла. Просто я подумал, может есть какая-то кроссплатформенная штука, которая позволит всё это дело делать во всех ОС.
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Реклама
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637819#p4637819"]Тень, должны. Переформулирую немного: мой компилятор(скорее интерпретатор) должен запускаться в терминалах этих операционных систем, и как я понял, необходимо будет переписать всю ту часть, которая будет отвечать за запуск этого компилятора. Тоже самое и с генерацией исполняемого файла. Просто я подумал, может есть какая-то кроссплатформенная штука, которая позволит всё это дело делать во всех ОС.
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть[/uquote]

Всё верно понятно. Почти весь транслятор от конкретной платформы не зависит (а если зависимости есть -- скажем, разрядность машинного слова, -- их, в общем-то, несложно реализовать переносимым образом прямо "на месте"), но ввод-вывод может зависеть очень сильно. Если пишется на языке высокого уровня, скажем, на це/це++, (почти) все зависящие от платформы вещи спрятаны внутрь библиотеки, но на ассемблере придётся делать отдельные модули под каждую платформу. В первом приближении -- реализовать аналоги сишных функций fopen, fread и т.д.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

теперь точно понял, спасибо. :)
Буду пробовать, сначала на Windows, потом на Linux. Если интересно, я собираюсь написать компилятор, ну, для начала хотя бы интерпретатор Forth, только со своими фишками. Хочу использовать его для программирования микроконтроллеров, различного рода программ и игр для компуктера, вот. Если вы не против, я буду здесь задавать свои будущие вопросы, ну а пока меня интересует ещё одна вещь: недавно пробовал написать загрузчик, и нигде не нашёл, как сменить шрифт, чтобы писать кириллицей. Как я понял, для начала нужно включить графический режим, а дальше уже не понимаю.. Объясните пожалуйста
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Собутыльник Кота
Аватара пользователя
Сообщения: 2889
Зарегистрирован: Пт фев 12, 2010 13:47:17

Сообщение Фунтик »

TovarishAleksey писал(а):недавно пробовал написать загрузчик
загрузчик чего?
TovarishAleksey писал(а):как сменить шрифт
на чём?
TovarishAleksey писал(а):чтобы писать кириллицей
ассемблер на кирилице - так себе затея, учитывая последующий порт в Форт и эксплуатацию на всём чём можно, наверняка включая даже без киррилицовые окружения.
TovarishAleksey писал(а):для начала нужно включить графический режим,
раз ты пишешь в Вин - то он уже включён. Но добраться до него ты сможешь только через абстракции ОС.
TovarishAleksey писал(а):а дальше уже не понимаю..
ты и до этого не понимаешь.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

1.Фунтик, загрузчик ОС.
2.Как сменить шрифт в этом загрузчике.
3.Форт здесь не причём, просто давно как-то пытался сделать на русском чтоб было, а никакой информации по этому не нашёл.
4.Знаю, напрямую с видеопамятью работать в вин нельзя.
5."До этого" понимаю не всё, но кое-что всё таки понимаю
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Собутыльник Кота
Аватара пользователя
Сообщения: 2889
Зарегистрирован: Пт фев 12, 2010 13:47:17

Сообщение Фунтик »

TovarishAleksey писал(а):1.Фунтик, загрузчик ОС.
ладно, продолжим: на каком устройстве?
TovarishAleksey писал(а):2.Как сменить шрифт в этом загрузчике.
Загрузчик - это то, что загружает. При чём тут шрифт?
TovarishAleksey писал(а):3.Форт здесь не причём, просто давно как-то пытался сделать на русском чтоб было, а никакой информации по этому не нашёл.
что бы что было на русском?
TovarishAleksey писал(а):4.Знаю, напрямую с видеопамятью работать в вин нельзя.
и?
TovarishAleksey писал(а):5."До этого" понимаю не всё, но кое-что всё таки понимаю
но изъясняешься так косноязычно, что не понимают тебя. Приучись каждую произносимую (печатаемую) фразу строить так, что б человек, прочитавший её понял о чём речь. И половина (у тебя - 75%) вопросов отпадут уже в моменте продумывания своей фразы.
Друг Кота
Сообщения: 5399
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий

Сообщение petrenko »

[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637819#p4637819"]... мой компилятор(скорее интерпретатор) должен запускаться в терминалах ...[/uquote]

Tак компилятор или интерпретатор ? :roll:

И ежели интерпретатор, то как Вы представляете интерпретатор ассемблерных мнемоник, да ещё в "терминалах" ? :roll:

Или у Вас эмулируется некая архитектура, а не реальная "платформа" ?

Или должен запускаться некий Ваш кросс-ассемблер, а то, что он накомпилирует из мнемоник в числовые коды, должно будет запускать-ся на чём-то ещё ?

Ну в общем при "fuzzy"-вопросах невозможно дать ответ, ибо возникает множество уточняющих вопросов к вопрошающему ...
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

1.ПК на процессоре AMD.
2.Мой загрузчик также выводит всякий текст, без которого не обойтись. :)
3.Что бы этот самый текст был на русском.
4.Ну вот и всё, речь всё равно не про вин.
5.Очень извиняюсь за это. Когда дело касается вопросов, я никак не понимаю как правильно сформулировать то или иное предложение, постоянно что-то меняю, и как бы я не старался, получается всё равно коряво. Если не трудно, поправляйте меня :))

Петренко, компилятор.
Интерпретатор не для ассемблера, а для моего языка программирования.
Платформа реальная, но пока это не имеет значения.
То что он накомпилирует, должно запускаться на нескольких ОС, но как уже стало ясно из ответа SII, надо писать модули, чтоб достичь этой цели
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Собутыльник Кота
Аватара пользователя
Сообщения: 2889
Зарегистрирован: Пт фев 12, 2010 13:47:17

Сообщение Фунтик »

petrenko писал(а):Ну в общем при "fuzzy"-вопросах
вроде в первом сообщении написано - свой язык какой-то. Вряд ли это будет повторением ассемблерных мнемоник... Хотя непонятно - компилятор или интерпретатор по сути будет. А это диаметрально меняет направление разработки кросса...

Добавлено after 6 minutes 4 seconds:
TovarishAleksey писал(а):1.ПК на процессоре AMD.
т.е. ПК на х86 илии там 64... Насколько я понимаю при включенной в BIOSe системе CSM (а для AMD актуально) - всё просто. На начальный сектоор харда (или с чего вы там грузитесь) кладёте аббревиатуру загручика и понеслось. В случае с EFI загрузчиком - чуть по другому. Определённая метка раздела и так далее, читатьт спецификации в обоих случаях (сюда столько переписывать толку нет). Для перехода на кириллицу - загружаете в видеоадаптер нужный вам шрифт и используете его. В простых видеорежимах это не сильно сложно. Но по объёму писательства - напряжёт так, что проще будет английский выучить.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

Язык не очень сложный, по этому сильно ничего не изменится, будет это компилятор, ну или же интерпретатор. В любом случае придётся писать лексер

Добавлено after 2 minutes 49 seconds:
Фунтик, чуть понял. Это я давно вычитал, просто не видел нормальной документации по этому, никто будто и не прикручивал кириллицу. :?
Видел у КолибриОС русский язык в загрузчике, почитаю исходный код, может и обнаружится
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Собутыльник Кота
Аватара пользователя
Сообщения: 2889
Зарегистрирован: Пт фев 12, 2010 13:47:17

Сообщение Фунтик »

TovarishAleksey писал(а):Язык не очень сложный, по этому сильно ничего не изменится, будет это компилятор, ну или же интерпретатор.
Это разные вещи. Совсем. Абсолютно. Интерпретатор выполняется в конкретной среде и вынужден взаимодействовать с этой средой (ОС, например) по полной программе (ввод/вывод файлов, текста, графики, ввод с клавиатуры, реакция на мышь...). Компилятору нужно только чтение из файла и запись в файл от окружающей среды, ну и там и памяти попросить чутка. Ему даже плевать, как отправленные в stdout сообщения будут/не будут обрабатываться. И, опять таки, компилятору пофиг что обрабатывать - компилить на ПК программу под телефонный Андроид - вполне уместная тема. Интерпретатор программ под Андроид не будет работать вне Андроидного окружения (пусть даже эмуляции).
просто не видел нормальной документации по этому, никто будто и не прикручивал кириллицу. :?
в основном это происходило в доинтернетную эру, поэтому в интернете немного. По х86 в своё время много почерпнул из "Питер Абель. Ассемблер и программирование для IBM PC.". До сих пор в библиотечке стоит. Но времена уходят - написанный по старозаветным загрузчик скоро, с окончательным приходом EFI, уйдёт в былое. А тут и сам кусками изучал, систематизированных знаний нет. Зато в интернете - всё есть.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

понял. Я по-другому представлял себе эти вещи немного
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Собутыльник Кота
Аватара пользователя
Сообщения: 2889
Зарегистрирован: Пт фев 12, 2010 13:47:17

Сообщение Фунтик »

КАК? И да, я предыдущее сообщение подредактировал...
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

[uquote="Фунтик",url="/forum/viewtopic.php?p=4637853#p4637853"]По х86 в своё время много почерпнул из "Питер Абель. Ассемблер и программирование для IBM PC."[/uquote]

А вот когда я ПК ковырял, её ещё не было, появилась позже. Помню, заставил-таки флопики работать, пользуясь документацией к советским микросхемам -- они ж клоны буржуйских. Но наполовину-таки методом научного тыка приходилось -- а использовать функции BIOS, есно, религия не позволяла :) А вот MCGA тогда так и не осилил (правда, не очень-то и пытался).

[uquote="Фунтик",url="/forum/viewtopic.php?p=4637853#p4637853"]Но времена уходят - написанный по старозаветным загрузчик скоро, с окончательным приходом EFI, уйдёт в былое. А тут и сам кусками изучал, систематизированных знаний нет. Зато в интернете - всё есть.[/uquote]

Ну, в виртмашинах, вероятно, поддержка классического BIOS сохраняться будет и дальше.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 313
Зарегистрирован: Вс сен 22, 2024 12:16:47
Откуда: Село Лютенька

Сообщение TovarishAleksey »

Фунтик, а вот и не скажу, а то распугаю тут всех.. :roll:
А за книжку спасибо - посмотрю, почитаю.
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Ответить

Вернуться в «МЯЯЯУ!»