Вопрос программистам
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Вопрос программистам
Хочу написать компилятор для своего языка программирования на FASM. Допустим, я сейчас пишу под Windows, а если потребуется перенести его на Linux, значит всё придётся переписывать(под терминал, оболочку и т.д.)? Как те же gcc всякие стали кроссплатформенными, также всё переписывали под каждую ОСь?
Возникла идея: под каждую операционную систему свой модуль лепить, для ввода/вывода, потом при компиляции выбирать один из модулей, в зависимости от того, на какую систему мы компилируем код
Возникла идея: под каждую операционную систему свой модуль лепить, для ввода/вывода, потом при компиляции выбирать один из модулей, в зависимости от того, на какую систему мы компилируем код
"Умный может зарабатывать триста рублей, а проживать три тысячи"
- Реклама
-
petrenko
- Друг Кота
- Сообщения: 5326
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Вопрос программистам
///
- AWK - / ??
///
!
- AWK - / ??
///
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
не то. Мне нужно на ассемблере, чтоб и на Windows, и на Linux, и на DOS/KolibriOS
"Умный может зарабатывать триста рублей, а проживать три тысячи"
- >TEHb<
- Друг Кота
- Сообщения: 5744
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: Вопрос программистам
Программы на новом языке тоже должны работать на этих системах?
"Привет!" - соврал он.
- JMC.Hard
- Мучитель микросхем
- Сообщения: 445
- Зарегистрирован: Ср сен 16, 2020 20:38:41
- Откуда: Краснодарский край, г.Абинск
Re: Вопрос программистам
[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637805#p4637805"]не то. Мне нужно на ассемблере, чтоб и на Windows, и на Linux, и на DOS/KolibriOS[/uquote]
Ннну, вобщем-то ассемблеру мало важно Windows, Linux или DOS ...
Ему интереснее x86, RISK или ARM ...
Ннну, вобщем-то ассемблеру мало важно Windows, Linux или DOS ...
Ему интереснее x86, RISK или ARM ...
Лучше сделать и жалеть, чем жалеть, что не сделал ...
- Реклама
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Тень, должны. Переформулирую немного: мой компилятор(скорее интерпретатор) должен запускаться в терминалах этих операционных систем, и как я понял, необходимо будет переписать всю ту часть, которая будет отвечать за запуск этого компилятора. Тоже самое и с генерацией исполняемого файла. Просто я подумал, может есть какая-то кроссплатформенная штука, которая позволит всё это дело делать во всех ОС.
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть
"Умный может зарабатывать триста рублей, а проживать три тысячи"
-
SII
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пт янв 30, 2009 14:50:35
- Откуда: Солнечногорск
Re: Вопрос программистам
[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637819#p4637819"]Тень, должны. Переформулирую немного: мой компилятор(скорее интерпретатор) должен запускаться в терминалах этих операционных систем, и как я понял, необходимо будет переписать всю ту часть, которая будет отвечать за запуск этого компилятора. Тоже самое и с генерацией исполняемого файла. Просто я подумал, может есть какая-то кроссплатформенная штука, которая позволит всё это дело делать во всех ОС.
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть[/uquote]
Всё верно понятно. Почти весь транслятор от конкретной платформы не зависит (а если зависимости есть -- скажем, разрядность машинного слова, -- их, в общем-то, несложно реализовать переносимым образом прямо "на месте"), но ввод-вывод может зависеть очень сильно. Если пишется на языке высокого уровня, скажем, на це/це++, (почти) все зависящие от платформы вещи спрятаны внутрь библиотеки, но на ассемблере придётся делать отдельные модули под каждую платформу. В первом приближении -- реализовать аналоги сишных функций fopen, fread и т.д.
Сейчас вопрос: кроссплатформенные компиляторы(например для Си++) только потому-что их переписывали под разные системы?
JMS.Hard, у меня всё таки компилятор для уже существующих ОС, а не для самопала какого-то, поэтому разница есть[/uquote]
Всё верно понятно. Почти весь транслятор от конкретной платформы не зависит (а если зависимости есть -- скажем, разрядность машинного слова, -- их, в общем-то, несложно реализовать переносимым образом прямо "на месте"), но ввод-вывод может зависеть очень сильно. Если пишется на языке высокого уровня, скажем, на це/це++, (почти) все зависящие от платформы вещи спрятаны внутрь библиотеки, но на ассемблере придётся делать отдельные модули под каждую платформу. В первом приближении -- реализовать аналоги сишных функций fopen, fread и т.д.
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
теперь точно понял, спасибо.
Буду пробовать, сначала на Windows, потом на Linux. Если интересно, я собираюсь написать компилятор, ну, для начала хотя бы интерпретатор Forth, только со своими фишками. Хочу использовать его для программирования микроконтроллеров, различного рода программ и игр для компуктера, вот. Если вы не против, я буду здесь задавать свои будущие вопросы, ну а пока меня интересует ещё одна вещь: недавно пробовал написать загрузчик, и нигде не нашёл, как сменить шрифт, чтобы писать кириллицей. Как я понял, для начала нужно включить графический режим, а дальше уже не понимаю.. Объясните пожалуйста
Буду пробовать, сначала на Windows, потом на Linux. Если интересно, я собираюсь написать компилятор, ну, для начала хотя бы интерпретатор Forth, только со своими фишками. Хочу использовать его для программирования микроконтроллеров, различного рода программ и игр для компуктера, вот. Если вы не против, я буду здесь задавать свои будущие вопросы, ну а пока меня интересует ещё одна вещь: недавно пробовал написать загрузчик, и нигде не нашёл, как сменить шрифт, чтобы писать кириллицей. Как я понял, для начала нужно включить графический режим, а дальше уже не понимаю.. Объясните пожалуйста
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
загрузчик чего?TovarishAleksey писал(а):недавно пробовал написать загрузчик
на чём?TovarishAleksey писал(а):как сменить шрифт
ассемблер на кирилице - так себе затея, учитывая последующий порт в Форт и эксплуатацию на всём чём можно, наверняка включая даже без киррилицовые окружения.TovarishAleksey писал(а):чтобы писать кириллицей
раз ты пишешь в Вин - то он уже включён. Но добраться до него ты сможешь только через абстракции ОС.TovarishAleksey писал(а):для начала нужно включить графический режим,
ты и до этого не понимаешь.TovarishAleksey писал(а):а дальше уже не понимаю..
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
1.Фунтик, загрузчик ОС.
2.Как сменить шрифт в этом загрузчике.
3.Форт здесь не причём, просто давно как-то пытался сделать на русском чтоб было, а никакой информации по этому не нашёл.
4.Знаю, напрямую с видеопамятью работать в вин нельзя.
5."До этого" понимаю не всё, но кое-что всё таки понимаю
2.Как сменить шрифт в этом загрузчике.
3.Форт здесь не причём, просто давно как-то пытался сделать на русском чтоб было, а никакой информации по этому не нашёл.
4.Знаю, напрямую с видеопамятью работать в вин нельзя.
5."До этого" понимаю не всё, но кое-что всё таки понимаю
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
ладно, продолжим: на каком устройстве?TovarishAleksey писал(а):1.Фунтик, загрузчик ОС.
Загрузчик - это то, что загружает. При чём тут шрифт?TovarishAleksey писал(а):2.Как сменить шрифт в этом загрузчике.
что бы что было на русском?TovarishAleksey писал(а):3.Форт здесь не причём, просто давно как-то пытался сделать на русском чтоб было, а никакой информации по этому не нашёл.
и?TovarishAleksey писал(а):4.Знаю, напрямую с видеопамятью работать в вин нельзя.
но изъясняешься так косноязычно, что не понимают тебя. Приучись каждую произносимую (печатаемую) фразу строить так, что б человек, прочитавший её понял о чём речь. И половина (у тебя - 75%) вопросов отпадут уже в моменте продумывания своей фразы.TovarishAleksey писал(а):5."До этого" понимаю не всё, но кое-что всё таки понимаю
-
petrenko
- Друг Кота
- Сообщения: 5326
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Вопрос программистам
[uquote="TovarishAleksey",url="/forum/viewtopic.php?p=4637819#p4637819"]... мой компилятор(скорее интерпретатор) должен запускаться в терминалах ...[/uquote]
Tак компилятор или интерпретатор ?
И ежели интерпретатор, то как Вы представляете интерпретатор ассемблерных мнемоник, да ещё в "терминалах" ?
Или у Вас эмулируется некая архитектура, а не реальная "платформа" ?
Или должен запускаться некий Ваш кросс-ассемблер, а то, что он накомпилирует из мнемоник в числовые коды, должно будет запускать-ся на чём-то ещё ?
Ну в общем при "fuzzy"-вопросах невозможно дать ответ, ибо возникает множество уточняющих вопросов к вопрошающему ...
Tак компилятор или интерпретатор ?
И ежели интерпретатор, то как Вы представляете интерпретатор ассемблерных мнемоник, да ещё в "терминалах" ?
Или у Вас эмулируется некая архитектура, а не реальная "платформа" ?
Или должен запускаться некий Ваш кросс-ассемблер, а то, что он накомпилирует из мнемоник в числовые коды, должно будет запускать-ся на чём-то ещё ?
Ну в общем при "fuzzy"-вопросах невозможно дать ответ, ибо возникает множество уточняющих вопросов к вопрошающему ...
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
1.ПК на процессоре AMD.
2.Мой загрузчик также выводит всякий текст, без которого не обойтись.
3.Что бы этот самый текст был на русском.
4.Ну вот и всё, речь всё равно не про вин.
5.Очень извиняюсь за это. Когда дело касается вопросов, я никак не понимаю как правильно сформулировать то или иное предложение, постоянно что-то меняю, и как бы я не старался, получается всё равно коряво. Если не трудно, поправляйте меня
Петренко, компилятор.
Интерпретатор не для ассемблера, а для моего языка программирования.
Платформа реальная, но пока это не имеет значения.
То что он накомпилирует, должно запускаться на нескольких ОС, но как уже стало ясно из ответа SII, надо писать модули, чтоб достичь этой цели
2.Мой загрузчик также выводит всякий текст, без которого не обойтись.
3.Что бы этот самый текст был на русском.
4.Ну вот и всё, речь всё равно не про вин.
5.Очень извиняюсь за это. Когда дело касается вопросов, я никак не понимаю как правильно сформулировать то или иное предложение, постоянно что-то меняю, и как бы я не старался, получается всё равно коряво. Если не трудно, поправляйте меня
Петренко, компилятор.
Интерпретатор не для ассемблера, а для моего языка программирования.
Платформа реальная, но пока это не имеет значения.
То что он накомпилирует, должно запускаться на нескольких ОС, но как уже стало ясно из ответа SII, надо писать модули, чтоб достичь этой цели
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
вроде в первом сообщении написано - свой язык какой-то. Вряд ли это будет повторением ассемблерных мнемоник... Хотя непонятно - компилятор или интерпретатор по сути будет. А это диаметрально меняет направление разработки кросса...petrenko писал(а):Ну в общем при "fuzzy"-вопросах
Добавлено after 6 minutes 4 seconds:
т.е. ПК на х86 илии там 64... Насколько я понимаю при включенной в BIOSe системе CSM (а для AMD актуально) - всё просто. На начальный сектоор харда (или с чего вы там грузитесь) кладёте аббревиатуру загручика и понеслось. В случае с EFI загрузчиком - чуть по другому. Определённая метка раздела и так далее, читатьт спецификации в обоих случаях (сюда столько переписывать толку нет). Для перехода на кириллицу - загружаете в видеоадаптер нужный вам шрифт и используете его. В простых видеорежимах это не сильно сложно. Но по объёму писательства - напряжёт так, что проще будет английский выучить.TovarishAleksey писал(а):1.ПК на процессоре AMD.
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Язык не очень сложный, по этому сильно ничего не изменится, будет это компилятор, ну или же интерпретатор. В любом случае придётся писать лексер
Добавлено after 2 minutes 49 seconds:
Фунтик, чуть понял. Это я давно вычитал, просто не видел нормальной документации по этому, никто будто и не прикручивал кириллицу.
Видел у КолибриОС русский язык в загрузчике, почитаю исходный код, может и обнаружится
Добавлено after 2 minutes 49 seconds:
Фунтик, чуть понял. Это я давно вычитал, просто не видел нормальной документации по этому, никто будто и не прикручивал кириллицу.
Видел у КолибриОС русский язык в загрузчике, почитаю исходный код, может и обнаружится
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
Это разные вещи. Совсем. Абсолютно. Интерпретатор выполняется в конкретной среде и вынужден взаимодействовать с этой средой (ОС, например) по полной программе (ввод/вывод файлов, текста, графики, ввод с клавиатуры, реакция на мышь...). Компилятору нужно только чтение из файла и запись в файл от окружающей среды, ну и там и памяти попросить чутка. Ему даже плевать, как отправленные в stdout сообщения будут/не будут обрабатываться. И, опять таки, компилятору пофиг что обрабатывать - компилить на ПК программу под телефонный Андроид - вполне уместная тема. Интерпретатор программ под Андроид не будет работать вне Андроидного окружения (пусть даже эмуляции).TovarishAleksey писал(а):Язык не очень сложный, по этому сильно ничего не изменится, будет это компилятор, ну или же интерпретатор.
в основном это происходило в доинтернетную эру, поэтому в интернете немного. По х86 в своё время много почерпнул из "Питер Абель. Ассемблер и программирование для IBM PC.". До сих пор в библиотечке стоит. Но времена уходят - написанный по старозаветным загрузчик скоро, с окончательным приходом EFI, уйдёт в былое. А тут и сам кусками изучал, систематизированных знаний нет. Зато в интернете - всё есть.просто не видел нормальной документации по этому, никто будто и не прикручивал кириллицу.
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
понял. Я по-другому представлял себе эти вещи немного
"Умный может зарабатывать триста рублей, а проживать три тысячи"
Re: Вопрос программистам
КАК? И да, я предыдущее сообщение подредактировал...
-
SII
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пт янв 30, 2009 14:50:35
- Откуда: Солнечногорск
Re: Вопрос программистам
[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 сохраняться будет и дальше.
А вот когда я ПК ковырял, её ещё не было, появилась позже. Помню, заставил-таки флопики работать, пользуясь документацией к советским микросхемам -- они ж клоны буржуйских. Но наполовину-таки методом научного тыка приходилось -- а использовать функции BIOS, есно, религия не позволяла
[uquote="Фунтик",url="/forum/viewtopic.php?p=4637853#p4637853"]Но времена уходят - написанный по старозаветным загрузчик скоро, с окончательным приходом EFI, уйдёт в былое. А тут и сам кусками изучал, систематизированных знаний нет. Зато в интернете - всё есть.[/uquote]
Ну, в виртмашинах, вероятно, поддержка классического BIOS сохраняться будет и дальше.
- TovarishAleksey
- Потрогал лапой паяльник
- Сообщения: 313
- Зарегистрирован: Вс сен 22, 2024 12:16:47
- Откуда: Село Лютенька
Re: Вопрос программистам
Фунтик, а вот и не скажу, а то распугаю тут всех..
А за книжку спасибо - посмотрю, почитаю.
А за книжку спасибо - посмотрю, почитаю.
"Умный может зарабатывать триста рублей, а проживать три тысячи"


