СуперЭВМ_лаб_работа_02 (Тоноян С.А. - Методическое указание по выполнению лабораторной работы)
Описание файла
Файл "СуперЭВМ_лаб_работа_02" внутри архива находится в папке "Тоноян С.А. - Методическое указание по выполнению лабораторной работы". Документ из архива "Тоноян С.А. - Методическое указание по выполнению лабораторной работы", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "супер эвм" в общих файлах.
Онлайн просмотр документа "СуперЭВМ_лаб_работа_02"
Текст из документа "СуперЭВМ_лаб_работа_02"
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Московский государственный технический университет им. Н.Э. Баумана
Факультет «Информатика и системы управления»
Кафедра «Автоматизированные системы обработки информации и управления»
Тоноян С.А.
Курс «Супер ЭВМ zSeries»
Лабораторная работа № 2
« Создание кода программы на языке HLASM и JCL-скрипта
в среде z/OS »
Методическое указание
по выполнению лабораторной работы
Москва - 2012 год
Содержание
1. Редактирование данных в режиме ISPF Editor (кодирование на HLASM) 4
2. Создание JCL-скрипта и его выполнение 5
3. Выход из операционной системы z/OS (z/OS Logoff) 9
4. Контрольные вопросы 12
4. Литература 12
Цель лабораторной работы:
изучение интерфейса ISPF- редактора набора данных для создания кода пограммы;
написание и отладка кода программы на языке HLASM в операционной системе z/OS:
компиляция кода программы и исправление ошибок;
запуск исполняемого модуля.
-
Редактирование данных в режиме ISPF Editor
(кодирование на языке HLASM)
Вызвать режим редактирования можно из основного экрана ISPF, введя «2».
Давайте создадим программу на языке HLASM, используя редактор ISPF. В окне подпрограммы редактирования ISPF вы должны ввести имя файла-раздела (Member), который будет хранить исходный код программы. Исходный код программы будет храниться в библиотечном наборе данных xxx.IU5zzz.С. Раздел, в котором хранится код, должен иметь имя - назовем его ASM. Полное имя набора данных - xxx. U5zzz.С(ASM). Введите эти значения в соответствующих полях, как показано на рисунке 1 и нажмите Enter.
Menu RefList RefMode Utilities Workstation Help ------------------------------------------------------------------------------ Edit Entry Panel ISPF Library: Project . . . GS0050 Group . . . . IU5TON . . . . . . . . . Type . . . . C Member . . . ASM (Blank or pattern for member selection list) Other Partitioned, Sequential or VSAM Data Set, or z/OS UNIX file: Name . . . . . + Volume Serial (If not cataloged) Workstation File: File Name . . Options Initial Macro . . . . Confirm Cancel/Move/Replace Profile Name . . . . . Mixed Mode Format Name . . . . . Edit on Workstation Data Set Password . . Preserve VB record length Record Length . . . . Edit ASCII data Command ===> F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap F10=Actions F12=Cancel |
Рис. 1 Окно входа в режим редактирования Edit Entry Panel
После того, как будет выделена память для нового набора данных, экран редактирования будет иметь вид, показанный на рисунке 2.
File Edit Edit_Settings Menu Utilities Compilers Test Help ------------------------------------------------------------------------------- EDIT GS0050.TEST.C(ASM) - 01.02 Columns 00001 00072 ****** ***************************** Top of Data ****************************** ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. Command ===> Scroll ===> PAGE F1=Help F2=Split F3=Exit F5=Rfind F6=Rchange F7=Up F8=Down F9=Swap F10=Left F11=Right F12=Cancel |
Рис. 2 Пустое окно редактирования ISPF
Используйте цифробуквенные клавиши, чтобы ввести текст, и не пользуйтесь никакими управляющими клавишами, кроме клавиши Del. Курсор можно двигать клавишами со стрелками.
File Edit Edit_Settings Menu Utilities Compilers Test Help ------------------------------------------------------------------------------- EDIT GS0050.TEST.C(ASM) - 01.02 Columns 00001 00072 ****** ***************************** Top of Data ****************************** ==MSG> -Warning- The UNDO command is not available until you change ==MSG> your edit profile using the command RECOVERY ON. 000100 HELLO CSECT 000200 USING *,15 000300 WTO 'HELLO WORLD!' 000410 BR 14 000500 END ****** **************************** Bottom of Data **************************** Command ===> Scroll ===> PAGE F1=Help F2=Split F3=Exit F5=Rfind F6=Rchange F7=Up F8=Down F9=Swap F10=Left F11=Right F12=Cancel |
Рис. 3 Окно подпрограммы редактирования ISPF с набранной программой на языке HLASM
Разберём подробнее код программы.
CSECT задаёт управляющую секцию – часть программы, определённую программистом как перемещаемый модуль.
USING используется для указания базового регистра, содержащего адрес операнда для последующих операций. В отличие от ассемблера Intel, в S/360, S/370, S/390 в качестве базового может быть использован любой регистр общего назначения. Первым операндом этой директивы содержится адрес, но чаще всего там указывается *, это означает, что в регистре содержится адрес первой команды, следующей за директивой USING.
Макрос WTO служит для вывода сообщения оператору.
BR 14 служит для выхода из программы. Команда BR осуществляет переход по адресу, находящемуся в регистре. А в 14 регистре хранится адрес возврата.
Чтобы вставить строку, поставьте курсор в левое поле (область номеров строк), в месте, в которое вы хотите вставить пустую строку, и введите команду Ixx (Insert), где xx – количество строк, которые нужно вставить. Если понадобится удалить строку, введите в левом поле D (Delete) и нажмите Enter. Нажав клавишу F3, вы выйдете из редактора с сохранением файла. Наберите программу, как показано на рис. 19. Разместите символы точно, как показано. Наша программа предназначена для вывода текстовой строки на экран. Затем нажмите F3 для возврата в главное окно. Программа будет автоматически сохранена.
Внимание: Все ключевые слова в коде программы должны быть написаны строчными буквами. Может так случиться, что редактор ISPF автоматически конвертирует эти буквы в заглавные. Если это произойдет, введите в командной строке экрана, показанного на рис. 18, команду TSO «CAPS OFF », затем нажмите Enter. В правом верхнем углу на экране в окне входа в подпрограмму редактирования ISPF после написания исходных кодов появится надпись о том, что наш файл был сохранен.
-
Создание JCL-скрипта и его выполнение
Пользователь z/OS может запросить у системы выполнение какой-либо работы (конечно, связанной с запуском определенных приложений) с помощью специальным образом записанного и переданного системе текста. Этот текст - задание. Задания составляются на языке управления заданиями JCL (Job Control Language) и направляются в систему пользователями через входные устройства и сетевые коммуникации, а также через ранее запущенные приложения. В задании указано, какие программы, в какой последовательности и с какими данными должны быть исполнены, а также в какой форме и куда должны быть направлены результаты выполнения программ.
Обычно текст задания создается в некотором наборе данных с помощью текстового редактора, откуда специальными средствами пользовательского интерфейса его можно направить на обработку в подсистему JES2. Система z/OS требует, чтобы для представления заданий использовались только последовательные и библиотечные наборы данных с параметрами FB и длиной записи 80. Создадим задание, отправляющее нашу программу на компиляцию, как файл-раздел (member) в наборе данных формата PDS (Partitioned Data Set) xxx. IU5zzz.СNTL(ASM). Для этого введите «CNTL » в поле «Type » и «ASM » в поле «Member ». Нажмите Enter. Вы попадете в окно редактора ISPF. Введите текст скрипта:
//GS0050C JOB (),CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//CCL EXEC PROC=ASMACL
//C.SYSIN DD DSNAME=GS0050.IU5TON.C(ASM),DISP=OLD
//L.SYSLMOD DD DSNAME=GS0050.IU5TON.LOAD(ASM),DISP=OLD
Замените UserID, который приведен в тексте скрипта на свой. Символ «С» в первой строке скрипта, идущий после UserID без пробела, должен следовать и за вашим UserID, он необходим для идентификации типа работы в планировщике z/OS.
Важно соблюдать расстояния между словами так, как это показано в примере на рисунке 20, т.к. у редактора есть свои «зоны» распознавания исходного текста.
Немного слов о структуре скрипта. Задание состоит из последовательности управляющих предложений JCL. Каждое предложение имеет следующую структуру:
// ИМЯ ОПЕРАТОР ОПЕРАНДЫ КОММЕНТАРИЙ
В первых двух позициях всегда указываются две косые черты, которые являются главным отличительным признаком предложений JCL. Поле «имя» начинается с третьей позиции и служит для идентификации представленного в предложении оператора. В нашем примере такие идентификаторы – GS0050С, CCL. Фактически это метки, на которые можно ссылаться из различных предложений задания или других заданий. Имя может содержать не более восьми символов, включающих латинские буквы, цифры и специальные знаки ($ # @) и должно начинаться с буквы или специального знака.
Оператор JOB задает начало задания и режим выполнения задания. Параметр CLASS (класс) относит задание к определенному классу выполнения заданий и задается символами AZ, 0-9. Параметр MSGCLASS (класс сообщений) определяет выходной класс для системных сообщений, формируемых в процессе выполнения задания. Класс задается символами A-Z, 0-9. Параметр MSGCLASS дает возможность выводить все системные сообщения и выходные наборы данных, формируемые в шагах задания, в один и тот же класс или в разные классы. Такое разделение иногда может оказаться полезным. Параметр MSGLEVEL (уровень полноты сообщений) определяет, какую информацию необходимо выдать в отчет о выполнении задания. MSGLEVEL=(1,1) означает максимально подробный вывод отчета. Параметр TIME (время) устанавливает максимальную продолжительность выполнения задания в минутах.
Оператор EXEC указывает выполняемую программу или процедуру и ее параметры. В нашем примере вызывается процедура компиляции программы на языке HLASM – ASMACL. В ее параметрах – входной набор данных, содержащий текст программы на HLASM и выходной набор данных, в котором будет содержаться полученная программа.
Оператор описания данных DD (data definition) - это оператор определения данных и устройств, используемых в задании и его отдельных шагах. Операторы DD, относящиеся к определенному шагу задания, следуют за оператором EXEC этого шага задания. Важнейшим атрибутом оператора DD является имя, связывающее описываемый набор данных с кодом вызываемой программы. Для программы-компилятора языка ассемблера установлены следующие dd-имена:
SYSIN - для описания исходного модуля;
SYSPRINT - для вывода сообщений компилятора;
SYSLIN - для описания объектного модуля;
SYSUT1 - промежуточный набор данных.
Параметр DISP (диспозиция) определяет исходное состояние набора данных, а также действия, которые необходимо произвести с набором данных после завершения шага задания или всего задания: сохранить, уничтожить, каталогизировать и др. Формат записи параметра DISP включает три позиционных подпараметра:
DISP=([статус][,дисп_НЗ][,дисп_АЗ])
где статус - исходное (текущее) состояние набора данных, дисп_НЗ - действие при нормальном завершении шага задания, дисп_АЗ - действие, которое надлежит выполнить при аварийном завершении шага задания.
Подпараметр статус может принимать следующие значения:
NEW - в указанном шаге задания создается новый набор данных;
OLD - набор данных существует (создан ранее);
SHR - набор данных существует и может быть использован одновременно другим заданием, т.е. разделяется различными заданиями в режиме чтения;