С наступающим Новым Годом!
|
|
Gregory | Дата: Чт, 28.12.2017, 14:02 | Сообщение # 1 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| $ banner happy new year
H H AA PPPPP PPPPP Y Y H H A A P P P P Y Y HHHHHH A A P P P P Y H H AAAAAA PPPPP PPPPP Y H H A A P P Y H H A A P P Y
N N EEEEEE W W NN N E W W N N N EEEEE W W N N N E W WW W N NN E WW WW N N EEEEEE W W
Y Y EEEEEE AA RRRRR Y Y E A A R R Y EEEEE A A R R Y E AAAAAA RRRRR Y E A A R R Y EEEEEE A A R R
Оригинальный код отсюда, его портация в z/OS, учитывая мое довольно слабое знание C, заняла час. Показательный пример ASCII зависимости...
Сообщение отредактировал Gregory - Чт, 28.12.2017, 14:05 |
|
| |
Bibizyan | Дата: Чт, 28.12.2017, 23:23 | Сообщение # 2 |
Подполковник
Группа: Проверенные
Сообщений: 131
Статус: Offline
| С наступающим!
А зачем С? Я как раз тут в рамках "улучшайзинга" старого ассемблерного кода подправлял очень простенькую ассемблерную программу, которая такие надписи выдаёт - на английском и на иврите.
|
|
| |
AKonev | Дата: Пт, 29.12.2017, 09:06 | Сообщение # 3 |
Лейтенант
Группа: Проверенные
Сообщений: 66
Статус: Offline
| Цитата Bibizyan ( ) А зачем С Даёшь большие буквы на Perl, Python, PHP И TCL и все на нашем дорогом и любимым МФ С Наступающим !!!!
|
|
| |
Gregory | Дата: Пт, 29.12.2017, 16:21 | Сообщение # 4 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| Цитата Bibizyan ( ) А зачем С? команда banner является штатной в BSD Unix и разных Linux, почему бы не сделать ее доступной и в z/OS UNIX? А вообще я предложил нашему студенту написать дипломную работу на тему портации в z/OS UNIX, вот откуда, так сказать, ноги растут...
Цитата Bibizyan ( ) Я как раз тут в рамках "улучшайзинга" старого ассемблерного кода подправлял очень простенькую ассемблерную программу, которая такие надписи выдаёт - на английском и на иврите. интересно, особенно возможность печати на иврите. Я припоминаю, что когда-то была автономная программа, которая печатала баннеры, и мой коллега модифицировал ее, чтобы печатать и кириллицу. Попробую разыскать...
В z/OS есть стандартная block-letter routine, APSUBLK в составе PSF, по-моему, такая программа была и в pre-z/OS системах, поставлялась как пример user exit в SYS1.SAMPLIB
Сообщение отредактировал Gregory - Пт, 29.12.2017, 16:22 |
|
| |
Gregory | Дата: Пт, 29.12.2017, 16:41 | Сообщение # 5 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| И еще раз всех с наступающим!
Пы.Сы. Компьютер у Деда Мороза неправильный, но будем считать что это у него z/OS под Hercules на PC
|
|
| |
Gregory | Дата: Пт, 21.12.2018, 22:22 | Сообщение # 6 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| * * *** ***** ******* ********* ************* A ******* *********** VERY *************** ******************* HAPPY *********** *************** CHRISTMAS ******************* *********************** AND MY *************** ******************* BEST WISHES *********************** *************************** FOR THE NEXT ****** ****** YEAR ******
Код /*********************/ /* LET THIS EXEC */ /* */ /* RUN */ /* */ /* AND */ /* */ /* ENJOY */ /* */ /* YOURSELF! */ /*********************/ 'VMFCLEAR' SAY ' * ' SAY ' * ' SAY ' *** ' SAY ' ***** ' SAY ' ******* ' SAY ' ********* ' SAY ' ************* A' SAY ' ******* ' SAY ' *********** VERY' SAY ' *************** ' SAY ' ******************* HAPPY' SAY ' *********** ' SAY ' *************** CHRISTMAS' SAY ' ******************* ' SAY ' *********************** AND MY' SAY ' *************** ' SAY ' ******************* BEST WISHES' SAY ' *********************** ' SAY ' *************************** FOR THE NEXT' SAY ' ****** ' SAY ' ****** YEAR' SAY ' ****** ' /* browsing this file is no fun at all just type CHRISTMAS from cms */ dropbuf makebuf "q t (stack" pull d1 d2 d3 d4 d5 dat pull zeile jeah = substr(dat,7,2) tack = substr(dat,4,2) mohn = substr(dat,1,2) if jeah <= 88 then do if mohn <2 ] mohn = 12 then do DROPBUF MAKEBUF "IDENTIFY ( FIFO" PULL WER VON WO IST REST DROPBUF MAKEBUF "EXECIO * DISKR " WER " NAMES A (FIFO" DO WHILE QUEUED() > 0 PULL NICK NAME ORT NAM = INDEX(NAME,'.')+1 IF NAM > 0 THEN DO NAME = SUBSTR(NAME,NAM) END NAM = INDEX(ORT,'.')+1 IF NAM > 0 THEN DO ORT = SUBSTR(ORT,NAM) END IF LENGTH(NAME)>0 THEN DO IF LENGTH(ORT) = 0 THEN DO ORT = WO END if name ^= "RELAY" then do "SF CHRISTMAS EXEC A " NAME " AT " ORT " (ack" end END END DROPBUF MAKEBUF ANZ = 1 "EXECIO * DISKR " WER " NETLOG A (FIFO" DO WHILE QUEUED() > 0 PULL KIND FN FT FM ACT FROM ID AT NODE REST IF ACT = 'SENT' THEN DO IF ANZ = 1 THEN DO OK.ANZ = ID END IF ANZ > 1 THEN DO OK.ANZ = ID NIXIS = 0 DO I = 1 TO ANZ-1 IF OK.I = ID THEN DO NIXIS = 1 END END END ANZ = ANZ + 1 IF NIXIS = 0 THEN DO "SF CHRISTMAS EXEC A " ID " AT " NODE " (ack" END END END DROPBUF END end end
|
|
| |
Gregory | Дата: Пт, 21.12.2018, 22:32 | Сообщение # 7 |
Генерал-майор
Группа: Доверенные
Сообщений: 482
Статус: Offline
| CHISTMAS EXEC
|
|
| |