Пpогpаммы печатyющие сами себя

12 views
Skip to first unread message

Vickenty Fesunov

unread,
Nov 20, 2002, 3:41:52 PM11/20/02
to
Hello, Roman!

19 Hоя 02: sendmail[25]: trapped a message from Roman =KRoN= Karshiev to Dima
Orlov:

RKK> Hу и как ты в таких Embedded собрался выполнять программу, печатающую
RKK> саму себя? :D

Снабдить такую Embedded системой вывода (хоть к однострочному LCD дисплею
подключить), и печатать.

Good luck, Roman.

... GoldED+/386 1.1.5-20011130/DR-DOS 7.03/Dosemu 0.98.1280/Linux 2.2.13-ahere

Dima Orlov

unread,
Nov 27, 2002, 1:55:00 PM11/27/02
to
Hello, Vickenty Fesunov !

> RKK> Hу и как ты в таких Embedded собрался выполнять программу,

> печатающую саму себя? :D

> Снабдить такую Embedded системой вывода (хоть к однострочному LCD
> дисплею подключить), и печатать.

Только помнить, что никаких операторов или стандартных библиотек ввода-вывода
(и в том числе печати) при этом нет. Hу и как, слабо такую программу написать?


С уважением, Дима Орлов.

Vickenty Fesunov

unread,
Nov 30, 2002, 2:42:03 PM11/30/02
to
Hi, Dima!

27 Hоя 02: syslogd: Dima Orlov wrote to Vickenty Fesunov:

>> Снабдить такую Embedded системой вывода (хоть к однострочному LCD
>> дисплею подключить), и печатать.

DO> Только помнить, что никаких операторов или стандартных библиотек
DO> ввода-вывода (и в том числе печати) при этом нет. Hу и как, слабо такую
DO> программу написать?

Почему нет? Это что за язык такой?

Bye, bye.

Dima Orlov

unread,
Dec 2, 2002, 2:00:00 PM12/2/02
to
Hello, Vickenty Fesunov !

>>> Снабдить такую Embedded системой вывода (хоть к однострочному LCD
>>> дисплею подключить), и печатать.

> DO> Только помнить, что никаких операторов или стандартных библиотек
> DO> ввода-вывода (и в том числе печати) при этом нет. Hу и как, слабо такую
> DO> программу написать?

> Почему нет?

Потому что никто не будет делать стандартом конкретное подключение конкретного
индикатора к конкретной системе при том что 90% систем вообще никакой индикации
не имеют.

>Это что за язык такой?

Обычно С.


С уважением, Дима Орлов.

Alex Usenkov

unread,
Dec 4, 2002, 4:09:38 PM12/4/02
to
Привет Dima!

Пон Дек 02 2002 22:00, Dima Orlov писал к Vickenty Fesunov:


>> DO> Только помнить, что никаких операторов или стандартных

>> DO> библиотек ввода-вывода (и в том числе печати) при этом нет.
можно написать такую библиотеку, если ее _пока_ нет ;-)

>> Почему нет?

DO> Потому что никто не будет делать стандартом конкретное подключение
DO> конкретного индикатора к конкретной системе
если мы пишем на си и для заданной системы есть его компилятор, более того твой
индикатор будет восприниматься как stdout например, тогда написание этой
программы - дело относительно простое.

DO> при том что 90% систем вообще никакой индикации не имеют.
сказочник
так или иначе обычно некое утройство вывода имеется.

>> Это что за язык такой?

DO> Обычно С.
для си есть стандарты, если писать в соответствии с ними - достаточно только
компилятора, способного правильно преобразовать наш текст в корректно
исполняемый в этой системе модуль.

С уважением Alex
... [Orel CrackBoard][Team W95 - маздай][Любители пошлых песен]

Vickenty Fesunov

unread,
Dec 4, 2002, 2:26:28 PM12/4/02
to
Hi, Dima!

02 Дек 02: kernel panic: detected a message from Dima Orlov to Vickenty
Fesunov:

DO> Потому что никто не будет делать стандартом конкретное подключение
DO> конкретного индикатора к конкретной системе при том что 90% систем вообще
DO> никакой индикации не имеют.

Реализовать стандартную функцию printf для этой железки совесть не позволяет?
;)

Best regards, Vickenty.

Dima Orlov

unread,
Dec 5, 2002, 3:37:00 PM12/5/02
to
Hello, Alex Usenkov !

>>> DO> Только помнить, что никаких операторов или стандартных
>>> DO> библиотек ввода-вывода (и в том числе печати) при этом нет.

> можно написать такую библиотеку, если ее _пока_ нет ;-)

Можно просто прилинковать текст программы к исполняемому файлу и выводить
его...

>>> Почему нет?

Почему нет?

> DO> Потому что никто не будет делать стандартом конкретное подключение
> DO> конкретного индикатора к конкретной системе

> если мы пишем на си и для заданной системы есть его компилятор,

Компилятор есть для процессора, а не для процессора с индикатором.

> более того твой индикатор будет восприниматься как stdout например, тогда

Hе будет.

> написание этой программы - дело относительно простое.

> DO> при том что 90% систем вообще никакой индикации не имеют.

> сказочник

Ага. Скорее 98%. Причем еще 90% из этих двух не имеют индикации, способной
показывать что-то кроме очень узкого набора данных.

> так или иначе обычно некое утройство вывода имеется.

Обычно как раз нет. Иногда есть UART и иногда в некоторых реализациях есть
усеченный printf, который вызывает putch, который выводит в UART. А иногда или
вообще ничего этого нет, или стоят пустые заглушки вместо не имеющих смысла
стандартных функций.

>>> Это что за язык такой?

> DO> Обычно С.

> для си есть стандарты, если писать в соответствии с ними -
> достаточно только компилятора, способного правильно преобразовать
> наш текст в корректно исполняемый в этой системе модуль.

Так вот я и предлагаю решить эту задачу на языке С, но без использования
стандартной библиотеки. С допущением, что вывод на терминал мы сумеем прочитать
и что он реализуется кодом:

void putch(char c)
{
while (UART_STATUS & TXBSY) do;
UARTTX = c;
}

Значения указанных констант обычно задаются при помощи различных нестандартных
расширений.

С уважением, Дима Орлов.

Dima Orlov

unread,
Dec 5, 2002, 3:37:00 PM12/5/02
to
Hello, Vickenty Fesunov !

> DO> Потому что никто не будет делать стандартом конкретное подключение
> DO> конкретного индикатора к конкретной системе при том что 90% систем

> вообще никакой индикации не имеют.

> Реализовать стандартную функцию printf для этой железки совесть не
> позволяет?;)

Много чего. Стандартная во многие из этих железок просто не поместится. И не
нужна она там никому.


С уважением, Дима Орлов.

Alexey Apunevich

unread,
Dec 7, 2002, 6:29:44 PM12/7/02
to
Приветствую Dima!

05 Дек 30 23:37, Dima Orlov wrote to Vickenty Fesunov:

>> Реализовать стандартную функцию printf для этой железки совесть не
>> позволяет?;)

DO> Много чего. Стандартная во многие из этих железок просто не поместится. И
DO> не нужна она там никому.

Реализуй puts(). Она поместится.

Всех благ!!!
Алексей.

Dima Orlov

unread,
Dec 11, 2002, 11:46:00 AM12/11/02
to
Hello, Alexey Apunevich !

>>> Реализовать стандартную функцию printf для этой железки совесть не
>>> позволяет?;)

> DO> Много чего. Стандартная во многие из этих железок просто не поместится.

> И не нужна она там никому.

> Реализуй puts(). Она поместится.


В отдельной библиотеке, или в тексте программы? Если можно в отдельной, почему
нельзя просто текст нужный подлинковать?


С уважением, Дима Орлов.

Vickenty Fesunov

unread,
Dec 12, 2002, 4:05:15 PM12/12/02
to
Hello, Dima!

11 Дек 02: kernel panic: detected a message from Dima Orlov to Alexey
Apunevich:

DO> В отдельной библиотеке, или в тексте программы? Если можно в отдельной,
DO> почему нельзя просто текст нужный подлинковать?

"Hадоело нам чирикать будем квакать." (с) известный мультик.

Во всех этих задачах полагается что язык программирования оснащен такими
примитивными средствами как операторы ввода-вывода. Все эти разговоры о том,
как написать такую программу для железки, на которой печатать не начем,
высосаны из пальца (ввиду бредовости идеи печатать текст программы там, где это
невозможно принципиально).

Reply all
Reply to author
Forward
0 new messages