Сб, 05.10.2024, 10:28
Приветствую Вас Гость | RSS
Главная | С наступающим Новым Годом! - Форум | Регистрация | Вход
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
С наступающим Новым Годом!
GregoryДата: Чт, 28.12.2017, 14:02 | Сообщение # 1
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: 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
Репутация: 0
Статус: Offline
С наступающим!

А зачем С? Я как раз тут в рамках "улучшайзинга" старого ассемблерного кода подправлял очень простенькую ассемблерную программу, которая такие надписи выдаёт - на английском и на иврите.
 
AKonevДата: Пт, 29.12.2017, 09:06 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 66
Репутация: 5
Статус: Offline
Цитата Bibizyan ()
А зачем С
Даёшь большие буквы на Perl, Python, PHP И TCL и все на нашем дорогом и любимым МФ tongue 
С Наступающим !!!!
 
GregoryДата: Пт, 29.12.2017, 16:21 | Сообщение # 4
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Цитата Bibizyan ()
А зачем С?
команда banner является штатной в BSD Unix и разных Linux, почему бы не сделать ее доступной и в z/OS UNIX?
А вообще я предложил нашему студенту написать дипломную работу на тему портации в z/OS UNIX, вот откуда, так сказать, ноги растут...  smile

Цитата 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
Репутация: 22
Статус: Offline
И еще раз всех с наступающим!

Пы.Сы. Компьютер у Деда Мороза неправильный, но будем считать что это у него z/OS под Hercules на PC  biggrin
Прикрепления: 7343762.jpg (194.3 Kb)
 
GregoryДата: Пт, 21.12.2018, 22:22 | Сообщение # 6
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: 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
Репутация: 22
Статус: Offline
CHISTMAS EXEC
 
  • Страница 1 из 1
  • 1
Поиск: