Siemens AG  Домашняя страница   Поиск   Контакты | ICN
E-Doku     Информация     Справка     Обратная связь   
---
First Page Previous Page Next Page Last Page

0.81 DISPA - использование задания Displayer в IS

0.81.1 Ограничения

0.81.2 Взаимосвязи

Команда AMO DISPA связана с заданием отображения памяти Displayer, которое является резидентным и постоянно находится в главной памяти системы. Это задание расположено в одной подсистеме с заданием отслеживания (трассировки) сообщений.

0.81.3 Общие положения

Инструментальная программа Memory Displayer позволяет системным специалистам считывать и изменять различные предварительно заданные и/или указанные участки памяти служебного терминала.

Команда AMO DISPA управляет поддержанием связи с этим терминалом, поэтому без нее Displayer не в состоянии выполнять свою задачу. Именно АМО используется для отображения содержимого памяти, считанного утилитой Displayer на служебном терминале, с которого и запускается само задание отображения памяти.

Displayer - это онлайновая инструментальная программа тестирования, которая может применяться для интеграции компонентов и проверки системы как техническими специалистами на местах, так и клиентами. 

Функции команды AMO DISPA приведены ниже.

Вывод на дисплей содержимого памяти в виде шестнадцатеричного дампа при выполнении операций логического уровня (например, отображение всех видов памяти, указанных в АМО по имени, адресу и размерам матрицы).
Создание пользовательских логических идентификаторов памяти для любого заданного адреса в памяти, в том числе и в виде таблицы.
Дополнительное хранение адресов и размеров матриц для других участков памяти, задаваемых пользователем либо в рабочей области АМО (только при работе АМО), либо в области размещения резидентного задания Displayer каждого процессора (обеспечивается защита от стирания при перезапуске), либо в области сохранения на жестком диске (обеспечивается защита от стирания при перезагрузке).
Изменение содержимого памяти при выполнении операций логического уровня (содержимое участка памяти, имя, адрес и размеры матриц которого должны быть указаны в АМО пользователем).
Отображение и изменение содержимого памяти при выполнении операций логического уровня (базовый образ памяти, для которой в АМО заданы имя, смещение адреса и размеры матрицы).

Ограничения Memory Displayer

Displayer не способен выполнять функции отладчика и не предназначен для этого. Эту инструментальную программу следует рассматривать в качестве дополнения к средствам выявления неполадок и диагностики возникающих проблем.

Примечание

Для проверки памяти коммутационного устройства SWU в системе имеется инструментальная программа DISPS, действующая аналогично данной команде AMO (см. описание AMO DISPS ).

0.81.3.1 Обзор функций

Функции команды AMO DISPA приведены ниже.
a.  CHAR  Включение/отключение вывода символов при отображении шестнадцатеричного дампа.
При таком выводе информация на дисплее  может отображаться только в шестнадцатеричном формате, либо с одновременным представлением символов в коде ASCII. Значение по умолчанию: ON (параллельный вывод в шестнадцатеричном формате и коде ASCII). 
 
б.  COPY  Копирование адресов памяти.  
в.  DEF  Создание адресов памяти.  
г.  DEL  Удаление описаний участков памяти.  
д.  DIST  Определение количества пустых строк, вставляемых между строками шестнадцатеричного дампа памяти. Значение по умолчанию: 0.   
е.  DUMP  Листинг содержимого файлов.  
ж.  Назначение файла для редактирования его содержимого.  
з.  END  Прекращение выполнения данной команды AMO.   
и.  EV  Преобразование десятичных чисел в шестнадцатеричные и наоборот, а также вывод данных в двоичном коде.   
к.  FILE  Назначение файла в качество области сохранения на жестком диске.  
л.  LST  Листинг содержимого памяти.  
м.  Переключение на задание Displayer другого процессора.
Чтобы узнать, с каким процессором ведется работа в данный момент, пользователь может ввести сообщение с запросом.
 
н.  PATCH  Изменение содержимого файла.  
о.  SET  Изменение содержимого памяти.
 
 

0.81.4 Функции AMO
EXEC-DISPA
Запуск AMO DISPA.   
INPUT-DISPA
Запрос на ввод данных в диалоговом режиме.  

0.81.4.1 EXEC-DISP

Обзор процедуры
Код команды Параметр  
EXEC-DISPA
PROCID=<параметр>;

Примечания

a) AMO DISPA управляет программой Displayer, установленной на указанном процессоре, а сама выполняется в ADS.
б) Данная команда AMO в течение нескольких минут остается в диалоговом режиме, ожидая ввода. Если ввод не произведен, выполнение команды прекращается автоматически .

Пример

Ввод:
<EXEC-DISP:A1; 


Вывод:

   H500: AMO DISPA STARTED
AMO DISPA VARIANT/VERSION F2/003 OF 1993-02-25
DISPLAYER VARIANT/VERSION G1/006 OF 1994-09-27
DISPLAYER-INPUT IN A1 PLEASE:

Ввод:
*END;                              * = запрос на ввод команды.

0.81.4.2 INPUT-DISPA

Операция INPUT-DISPA используется только для доступа к функции записи-считывания WRITE-READ; выполнить ее с терминала администрирования и технического обслуживания (АМТ) пользователь не может.  На этом терминале отображается только приведенная ниже текстовая строка, предлагающая пользователю произвести ввод (следующая после текста звездочка указывает на готовность системы принять ввод).

 DISPLAYER-INPUT IN <имя_процессора> PLEASE:

*

Данный текст указывает на то, что предыдущая команда АМО успешно выполнена .

Допустимые при этом команды перечислены ниже.
CMD=		
CHAR,CTYPE=<параметр>;

CMD=
COPY,CTYPE=DEF,[NAME=<текст>],[AREA=<параметр>-<параметр>];

CMD=
COPY,CTYPE=DBL,[NAME=<текст>];

CMD=
DEF,CTYPE=ADR,NAME=<текст>,TYPE=ADR,ADR=<hex>-<hex>;

CMD=
DEF,CTYPE=ADR,NAME=<текст>,TYPE=TBL,TBL=<текст>


  ,IDX=<число>,DISPLACE=<число>;

CMD=
DEF,CTYPE=LOGNAME,NAME=<текст>,AREA=<параметр>


  ,LEN=<число>,IDX=<число>&&<число>;

CMD=
DEL,CTYPE=DEF,[NAME=<текст>],AREA=<параметр>;

CMD=
DIST,NO=<число>;

CMD=
DUMP,CTYPE=ADR,NAME=<текст>,UNIT=<параметр>,NO=<число>;

CMD=
DUMP,CTYPE=DA,ADR=<hex>,UNIT=<параметр>,NO=<число>;

CMD=
DUMP,CTYPE=LOGNAME,NAME=<текст>,IDX=<число>;

CMD=
E,FILE=<текст>;

CMD=
END;

CMD=
EV,CTYPE=D,NO=<число>;

CMD=
EV,CTYPE=H,VAL=<hex>;

CMD=
FILE,FILE=<текст>,[NO=<число>];

CMD=
LST,CTYPE=ADR,NAME=<текст>,UNIT=<параметр>,NO=<число>;

CMD=
LST,CTYPE=DA,ADR=<hex>-<hex>,UNIT=<параметр>,NO=<число>;

CMD=
LST,CTYPE=DEF,[NAME=<текст>],AREA=<параметр>;

CMD=
LST,CTYPE=INT,TYPE=<параметр>;

CMD=
LST,CTYPE=INT,TYPE=BCA;

CMD=
LST,CTYPE=INT,TYPE=BCASA,SEL=HD,FILE=<текст>;

CMD=
LST,CTYPE=INT,TYPE=BCASA,SEL=SCREEN,[DISPLACE=<число>],


  ,[LEN=<число>],[CONTINUE=<параметр>];

CMD=
LST,CTYPE=LOGNAME,NAME=<текст>,IDX=<число>;

CMD=
P,PROCID=<параметр>;

CMD=
PATCH,CTYPE=ADR,NAME=<текст>,UNIT=<параметр>


  ,NO=<число>,VAL=<hex>;

CMD=
PATCH,CTYPE=DA,ADR=<hex>,UNIT=<параметр>


  ,NO=<число>,VAL=<hex>;

CMD=
PATCH,CTYPE=LOGNAME,NAME=<текст>,UNIT=<параметр>,


,NO=<число>,VAL=<hex>,IDX=<число>,DISPLACE=<число>;

CMD=
SET,CTYPE=ADR,NAME=<текст>,UNIT=<параметр>


  ,NO=<число>,VAL=<hex>;

CMD=
SET,CTYPE=DA,ADR=<hex>-<hex>,UNIT=<параметр>


  ,NO=<число>,VAL=<hex>;

CMD=
SET,CTYPE=LOGNAME,NAME=<текст>,UNIT=<параметр>,


,NO=<число>,VAL=<hex>,IDX=<число>,DISPLACE=<число>;

Примечания

a) По умолчанию данная команда АМО выводит цифры в шестнадцатеричном коде (в этом случае они помечаются буквой H), если задан вывод в десятичном формате, используется суффикс T.
б) После подачи данной команды АМО на дисплей, если не указано иного, выводится шестнадцатеричный дамп с соответствующими символами в коде ASCII (аргумент CHAR) без вставки пустых строк (аргумент DIST).
в) При выполнении команд LST, SET и DEF адрес памяти имеет один и тот же формат (ADR=<селектор>-<смещение>).

0.81.5 Использование определителей памяти: DEF & COPY & DEL & LST,DEF & FILE

Создав определители памяти, можно присвоить ее участкам смысловые названия, что значительно упрощает их отображение и модификацию. .

Как правило, воспользоваться определителями памяти можно только тогда, когда они хранятся в рабочей области АМО, которая после подачи команды AMO-DISPA всегда очищается. Чтобы сохранить созданные определители, их нужно скопировать в другую область хранения. При создании и сохранении таких определителей хранилище более высокого уровня всегда дополняется хранилищем низшего уровня (другими словами, если задано AREA= HD, создаваемый определитель заносится также в область хранения резидентного задания Displayer и в рабочую область АМО).

Определители памяти всегда создаются для того процессора, Displayer которого в данный момент контролируется с помощью описываемой команды АМО. При этом все остальные одноименные определители памяти, созданные для других процессоров и хранящиеся в рабочей области АМО или на жестком диске, заменяются на новые.

Если в названии определителей памяти имеются пробелы, они обязательно удаляются. Таким образом, названия "DB_D_ CPB_TBL" и "DB_D_CPB_TBL" воспринимаются системой как одно и то же. Правда, если название содержит только пробелы, один из них остается. Звездочка в начале или конце вводимого названия определителя памяти играет роль "символа замещения" и используется в тех случаях, когда не нужно вводить полного уникального имени (например, для команды DEF). С учетом этого, команда "LST,DEF,DB_D_DH*" выведет на дисплей содержимое как памяти DB_D_DH_DEV_TBL, так и памяти DB_D_DH_LINE_TBL.

Адрес памяти для команд LST, SET, и DEF имеет один и тот же формат (ADR=<селектор>-<смещение>).

0.81.5.1 Типы определителей памяти

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

0.81.5.2 Сохранение определителей памяти

a) Рабочая область AMO.
В рабочей области AMO хранятся все данные, необходимые для обработки содержимого памяти как шестнадцатеричных файлов. Сразу после запуска АМО буфер этой рабочей области пуст. Всего в него можно поместить до 400 определителей памяти.
При обработке содержимого памяти как шестнадцатеричных файлов достаточно данных, содержащихся в рабочей области АМО. При необходимости пользователь может копировать их сюда из других областей хранения.
Заполнить буфера рабочей области AMO можно следующими способами:
1. создать определители памяти;
2. копировать определители памяти:
a) из области сохранения резидентного задания Displayer в главной памяти того процессора, с которым ведется работа в данный момент;
б) из области хранения жесткого диска.
б) Область резидентного задания.
Область резидентного задания создается в главной памяти каждого процессора, на котором загружена инструментальная программа Displayer. Она обеспечивает защищенное от перезапуска системы хранение определителей памяти. Всего в эту область можно записать до 50 таких определителей.
Заполнить буфер области резидентного задания можно следующими способами:  
1. создать определители памяти;
2. копировать определители памяти:
a) из рабочей области AMO;
б) из области хранения жесткого диска. 
в) Резервная область жесткого диска.
Пользователь может выделить на жестком диске файл для хранения определителей памяти, которые должны сохраняться и в случае перезапуска системы.
Заполнить эту область хранения на жестком диске можно следующими способами:
1. создать определители памяти;
2. копировать определители памяти:
a) из рабочей области AMO;
б) из области хранения резидентного задания Displayer в главной памяти того процессора, с которым в данный момент ведется работа.

0.81.5.3 DEF: создание определителей памяти

Пользователи могут создавать определители как физической, так и логической памяти. Главное различие между ними состоит в том, что в определителях логической памяти кроме адреса хранения должна указываться также структура матрицы.

Определители физической памяти используются в качестве описательных символов для адресов хранения и предназначены для многократного использования. Им назначается структура фиктивной матрицы Dummy Array (диапазон индексов от 0 до 0, длина элемента 65535 байт), а сами такие определители вводятся в область администрирования AMO.

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

Созданный адрес логической памяти можно сохранить либо в рабочей области АМО (которая доступна только при работе АМО), либо в области хранения резидентного задания, либо в области хранения жесткого диска, тогда как созданные адреса физической памяти хранятся исключительно в рабочей области АМО.

Синтаксис команды

> Описание адреса с указанием селектора и смещения.

DEF,ADR,название,ADR,селектор-смещение;
Селектор и смещение вводятся в шестнадцатеричном коде.

> Описание адреса с указанием места хранения.

DEF,ADR,название,TBL,название таблицы,индекс,смещение;
"Смещение указателя" - это положение указателя считывания относительно начала элемента матрицы.

> Описание структуры матрицы и места хранения.

DEF,LOGNAME,название,область,длина элемента,минимальныйиндекс&&максимальныйиндекс;
В качестве места хранения можно использовать: AMO (область хранения АМО), HD (жесткий диск) и RES (резервная область Displayer).

Примеры

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

Ввод:

   *def,адр,ввод1,адр,3cf0-099c;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Ввод:

   *def,адр,ввод2,табл1,ввод1,0,4;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Команда создания определителя логической памяти на основе символа адреса приведена ниже. В данном примере структура матрицы введена в буфер слежения трассировщика сообщений из второго ввода, а для элементов указан диапазон от 1 до 25. Каждый элемент имеет длину 30 байт(что соответствует длине стандартного ввода для сообщений ОС).

Ввод:

   *def,имя_пользователя,ввод2,amo,30,1&&25;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

0.81.5.4 LST,DEF: листинг определителей памяти

Синтаксис команды

LST,DEF,[название],область;

Название можно вводить частично, задав в начале и/или конце текстовой строки символ звездочки, который система воспринимает как символ замещения. Если название не введено или введено частично, в выводимый на дисплей список включаются все определители памяти.

В качестве областей хранения можно указывать AMO, HD и RES.

Пример

После выполнения действий, описанных в предыдущем примере, пользователь хочет просмотреть все определители памяти, хранящиеся в рабочей области АМО.

Ввод:

   *lst,def,,amo;

Вывод:

  DEFINITIONS IN AMO DISPA

NAME SEL OFF ELEM_L MIN_I MAX_I PID
ENTRY1 3CF0H 099CH FFFFH 0H 0H A1
ENTRY2 3CF0H 09BAH 1EH 1H 19H A1
DISPLAY-INPUT IN A1 PLEASE:

Значения заголовков::

NAME - название описываемой памяти;
SEL - селектор описываемой памяти;
OFF - смещение описываемой памяти;
ELEM_L - длина элемента описываемой памяти;
MIN_I - минимальный индекс описываемой памяти;
MAX_I -максимальный индекс описываемой памяти;
PID - идентификатор процессора описываемой памяти.

0.81.5.5 COPY: копирование определителей памяти

Адреса памяти можно копировать из мест их хранения в рабочую область АМО (когда АМО работает), в область хранения резидентного задания Displayer или в область хранения на жестком диске.

Синтаксис команды

> Общая процедура копирования из одной области хранения в другую.

COPY,DEF,[название],[исходная область-область назначения];
По умолчанию используются параметры копирования из области резервирования резидентного задания в рабочую область АМО (RES-AMO).

> Копирование модуля данных компоновки в рабочую область АМО.

COPY,DBL,[название];
В IHS модуля данных компоновки нет, поэтому данная команда не выполняется, а на дисплей выводится рекомендательное сообщение  "H3: ЗАПРОШЕННАЯ ФУКНЦИЯ НЕДОСТУПНА".

Пример

Пользователь намерен скопировать все определители памяти, которые начинаются с текста "ENT", из области резидентного задания в рабочую область АМО.

Ввод:

   *copy,def,ent*,res-amo;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Ввод:

   *lst,def,,amo;

Вывод:

  DEFINITIONS IN AMO DISPA

NAME SEL OFF ELEM_L MIN_I MAX_I PID
ENTRY1 3CF0H 099CH FFFFH 0H 0H A1
ENTRY2 3CF0H 09BAH 1EH 1H 19H A1
DISPLAY-INPUT IN A1 PLEASE:

0.81.5.6 DEL: удаление определителей памяти

Определители памяти приходится удалять, чтобы освободить пространство хранения в соответствующем месте.

После того, как выполнение команды AMO DISPA прекращено, рабочая область АМО автоматически очищается.

Синтаксис команды

DEL,DEF,[название],область;

0.81.5.7 FILE: выделение файла в качестве области резервирования на жестком диске

Этот файл используется для хранения определителей памяти, скопированных в область резервирования жесткого диска с помощью команды COPY или DEF.

Применение области резервирования на жестком диске не только гарантирует защиту определителей памяти при перезагрузке, но и позволяет копировать их на съемные носители информации (например, картриджи) для использования на других системах. Такая операция выполняется простым копированием файла.

Синтаксис команды

FILE,имя файла,[число];

В системе должен существовать файл с указанным в команде именем.

Если в команде указано, сколько определителей памяти нужно сохранить, АМО исходит из того, что такого файла на диске нет, и пытается создать файл указанного размера. Задавать точное число определителей памяти не обязательно, так как созданный файл затем можно динамически расширять по мере необходимости.

Если число не введено, АМО считает, что такой файл уже существует, находит и открывает его, после чего на дисплей выводится количество содержащихся в нем определителей памяти.

Если файл с указанным именем уже открыт для обработки (с помощью команды DUMP или PATCH), открыть его второй раз невозможно. В таких случаях на дисплей выводится сообщение об ошибке F16. Однако пользователям разрешено применять команду FILE для повторного открытия различных файлов с целью их последовательной обработки в одном и том же диалоговом окне Displayer.

Пример

Ввод:

   *file,:dbd:els/defsav1;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Указанный файл уже существует. Если бы его не было, на экране появилось бы сообщение об ошибке.

0.81.6 Отображение и изменение содержимого памяти: LST & SET

0.81.6.1 LST,ADR/DA/LOGNAME: листинг содержимого памяти при отсутствии высокоуровневого доступа

При использовании определителей логической памяти информация на дисплей всегда выводится в байтах. Во всех других случаях пользователь может выбирать между байтами (BYTE), словами (WORD) и двойными  словами, или словами двойной точности (DWORD).

Синтаксис команды

> Вывод с использованием символа адреса.

LST,ADR,название,форматвывода,число;
Количество отображаемых участков памяти должно указываться десятичным числом.

> Вывод с использованием прямого адреса.

LST,DA,селектор-смещение,форматвывода,число;
Значения селектора и смещения указываются шестнадцатеричными числами и разделяются дефисом.
Количество отображаемых участков памяти должно указываться десятичным числом.

> Вывод с использованием определителя логической памяти.

LST,LOGNAME,название,индексы;
Индексы указываются десятичными числами, при этом можно вводить как последовательность, так и диапазон их значений.

Примеры

В списке связей базы данных ADS для статической таблицы задания Static Task Table введен адрес 0F38:0265. В списке Prolib Listing, длина элемента установлена равной 7.

Ввод:

   *lst,da,f38-265,byte,140;

Вывод:


ADDRESS: 0F38H:0265H
CONTENTS HEX (ASCII)
0( 0) 0D55542000000814 4654200000021B46 .UT ....FT ....F
10( 16) 54200000020B4143 541400020C414652 T ....ACT....AFR
20( 32) 0001021846415300 0102194655500001 ....FAS....FUP..
30( 48) 0201545420010105 1520202000000215 ..TT .... ....
40( 64) 2020200000021520 2020000002152020 .... ....
50( 80) 2000000215202020 0000021520202000 .... .... .
60( 96) 0002152020200000 0215202020000002 ... .... ...
70( 112) 1520202000000215 2020200000021520 . .... ....
80( 128) 2020000002152020 20000002 .... ...
DISPLAYER-INPUT IN A1 PLEASE:

Пользователь хочет создать определитель логической памяти для таблицы статического задания Static Task Table. Такой определитель сохраняется также в области резервирования  резидентного задания Displayer для последующего применения.

Ввод:

   *def,adr,static_task_tbl,adr,0f38-0265;

Вывод:

   DISPLAYER-INPUT IN A1   PLEASE:

Ввод:

   *def,logname,static_task_tbl,res,7,1&&20;

Вывод:

   DISPLAYER-INPUT IN A1   PLEASE:

Теперь нужно вывести на дисплей элементы таблицы статического задания под номерами 1, 2, 3 и 8.

Ввод:

   *lst,logname,static_task-tbl,1&&3&8;

Вывод:

   TABLE: STATIC_TASK_TBL
INDEX: 0001H ADDRESS: 0F38H:0265H
CONTENTS HEX (ASCII)
0( 0) 0D555420000008 .UT ...
TABLE: STATIC_TASK_TBL
INDEX: 0002H ADDRESS: 0F38H:026CH
CONTENTS HEX (ASCII)
0( 0) 14465420000002 .FT ...
TABLE: STATIC_TASK_TBL
INDEX: 0003H ADDRESS: 0F38H:0273H
CONTENTS HEX (ASCII)
0( 0) 1B465420000002 .FT ...
TABLE: STATIC_TASK_TBL
INDEX: 0008H ADDRESS: 0F38H:0296H
CONTENTS HEX (ASCII)
0( 0) 01545420010105 .TT ...
DISPLAYER-INPUT IN A1 PLEASE:

0.81.6.2 LST,INT: отображение содержимого памяти при наличии высокоуровневого доступа

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

Когда поступает запрос на отображение области хранения загрузочной области связи (BCASA) на пульте оператора (SEL= SCREEN), АМО выводит первые  2000 байт, а затем делает паузу, чтобы оператор мог прекратить дальнейший вывод. Это необходимо из-за большого объема загрузочной области, которая занимает примерно 48 Кбайт. Однако на диске сохраняется вся область BCASA. Для каждой команды необходимо указывать новое имя файла, что исключает опасность случайной замены прежних данных в существующем файле (см. сообщение F29).

Синтаксис команды

LST,INT,тип_вывода;

Допустимые значения типа вывода приведены в разделе 0.81.9 "Описание параметров" (параметр TYPE).

Пример

Ввод:

   *lst,int,dchs;

Вывод:

  TABLE: DASS_HW_CHAN_D_STATE_TBL 
CONTENTS HEX (ASCII)
0( 0) 4242424242424242 0102424242424242 BBBBBBBB..BBBBBB
10( 16) 4242424242424242 4242424242424242 BBBBBBBBBBBBBBBB
20( 32) 4242424242424242 4242424242424242 BBBBBBBBBBBBBBBB
30( 48) 4242424242424242 4242424242424242 BBBBBBBBBBBBBBBB
40( 64) 42 B
DISPLAYER-INPUT IN A1 PLEASE:

Теперь пользователь хочет скопировать область хранения BCA в файл на жестком диске..

Ввод:

   *lst,int,bcasa,hd,:pds:cer/bcafile;

Вывод:

   H6:  49152T BYTES COPIED INTO FILE :PDS:CER/BCAFILE
DISPLAYER-INPUT IN A1 PLEASE:

0.81.6.3 SET: изменение содержимого памяти

Чтобы не допустить опечаток, количество вновь вводимых значений должно соответствовать количеству изменяемых участков памяти. Кроме того, длина новых значений должна быть точно такой же, как и для выбранного типа вывода памяти (если выбрана BYTE, например, должно быть введено двузначное шестнадцатеричное число).

Синтаксис команды

Количество участков памяти, которые нужно изменить, указывается десятичным числом.

Для ввода новых значений используются шестнадцатеричные числа, которые разделяются дефисами.

Ввод может производиться в форматах BYTE, WORD или DWORD.

> Внесение изменений с использованием символа адреса.

SET,ADR,название,тип_ввода,число,значения;

> Внесение изменений с прямым указанием адреса.

SET,DA,селектор-смещение,тип_ввода,число,значения;
Значения селектора и смещения указываются в шестнадцатеричном коде и разделяются дефисом.

> Внесение изменений с использованием определителя логической памяти.

SET,LOGNAME,название,тип_ввода,число,значения,индексы,смещения;
Индексы элементов соответствующей матрицы вводятся десятичными числами, при этом можно указывать как последовательность отдельных значений, так и их диапазон.
Смещение изменяемой области памяти указывается десятичным числом. Оно определяет местоположение указателя относительно начала элемента матрицы.

Пример

Данный пример иллюстрирует изменение типа устройства для терминального задания с 02 на 05.

Адрес таблицы статических заданий введен в базе данных ADS как 0F38:0265. В списке Prolib длина элемента указана равной 7, а смещение типа устройства относительно начала элемента равно 6.

В большинстве случаев элемент для терминального задания имеет номер 3.

Ввод:

   *def,adr,tt_elem,adr,0f38-0273;

Вывод:

   DISPLAYER-INPUT IN A1    PLEASE:

Ввод:

   *lst,adr,tt_elem,byte,7;

Вывод:

   TABLE: TT_ELEM
ADDRESS: 0F38H:0273H
CONTENTS HEX (ASCII)
0( 0) 01545420010102 .TT ...
DISPLAYER-INPUT IN A1 PLEASE:

Ввод:

   *set,adr,tt_elem,byte,7,01-54-54-20-01-01-05;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Ввод:

   *lst,adr,tt_elem,byte,7;

Вывод:

   TABLE: TT_ELEM
ADDRESS: 3E20H:00FBH
CONTENTS HEX (ASCII)
0( 0) 01545420010105 .TT ...
DISPLAYER-INPUT IN A1 PLEASE:

0.81.7 Отображение и изменение содержимого файлов: E & DUMP & PATCH

0.81.7.1 E: выбор файла для обработки его содержимого

Перед тем, как приступить к обработке файла с помощью команды DUMP или PATCH, его нужно выбрать с помощью описываемой команды.

Если файл с таким же именем уже назначен в качестве области резервирования жесткого диска, открыть его еще раз невозможно. В таких случаях программа отображения Displayer AMO выводит сообщение об ошибке F16. Тем не менее, пользователю разрешается использовать команду Е для повторного открытия различных файлов с целью их последовательной обработки в ходе одного диалогового сеанса работы с Displayer.

Синтаксис команды

E,имя_файла;

Указанный в команде файл должен уже существовать.

0.81.7.2 DUMP: листинг содержимого файла

Перед тем, как просматривать содержимое файла, его нужно выбрать с помощью команды Е.

Адреса, внесенные в определители памяти, интерпретируются как целые числа длиной 4 байта, которые указывают на сдвиг подлежащих выводу данных относительно начала файла. Это же относится и к адресам вывода при использовании команды LST.

При использовании определителей логической памяти информация всегда отображается в байтах, во всех же других случаях пользователь может выбирать между байтами (BYTE), словами (WORD) и двойными (двойной точности) словами (DWORD).

Синтаксис команды

> Вывод с использованием символа адреса.

DUMP,ADR,название,вывод,число;
Количество выводимых участков памяти должно указываться десятичным числом.

> Вывод с использованием прямого адреса (смещения/сдвига указателя).

DUMP,DA,смещение,вывод,число;
Смещение указателя вводится шестнадцатеричным числом, а количество отображаемых участков памяти - десятичным.

> Вывод с использованием определителя логической памяти.

DUMP,LOGNAME,название,индексы;
Для ввода индексов используются десятичные числа. При этом допускается ввод как последовательности отдельных значений, так и допустимого диапазон индексов.

Пример

В данном примере предполагается, что определители памяти хранятся на жестком диске в файле defsav1, а пользователь хочет вывести на дисплей листинг первых двух определителей.

Ввод:

   *e,:dbdb:els/defsav1;

Вывод:

   DISPLAYER-INPUT IN A1   PLEASE:

Ввод:

   *def,adr,entry_tbl,adr,0-0;

Вывод:

   DISPLAYER-INPUT IN A1   PLEASE:

Ввод:

   *def,logname,entry_tbl,amo,37,1&&2;

Вывод:

   DISPLAYER-INPUT IN A1   PLEASE:

Ввод:

   *dump,logname,entry_tbl,1&&2;

Вывод:

   TABLE: ENTRY_TBL
INDEX: 0000H ADDRESS: 0000H:0000H
CONTENTS HEX (ASCII)
0( 0) 44425F445F43505F 4445565F53544154 DB_D_CP_DEV_STAT
10( 16) 4520202020202020 2020DADEA0340100 E ...4..
20( 32) 0000FF0700 .....
INDEX: 0001H ADDRESS: 0000H:0025H
CONTENTS HEX (ASCII)
0( 0) 44425F445F43505F 4445565F53544154 DB_S_CP_DEV_STAT
10( 16) 5553202020202020 20207051C0340200 US pQ.4..
20( 32) 0000FF0700 .....
DISPLAYER INPUT IN A1 PLEASE:

0.81.7.3 PATCH: изменение содержимого файла

Данная функция не предназначена для замены функции AMO PATCH. При внесении изменений в область памяти на жестком диске программа отображения Displayer не использует адрес памяти, так как для обработки содержимого местоположение памяти на жестком диске значения не имеет.

Перед тем, как вносить изменения в содержимое файла, этот файл нужно выбрать с помощью команды Е.

Чтобы не допустить опечаток, количество вновь вводимых значений должно соответствовать количеству изменяемых участков памяти. Кроме того, длина новых значений должна быть точно такой же, как и для выбранного типа вывода памяти (если выбран формат BYTE, например, должно быть введено двузначное шестнадцатеричное число).

Синтаксис команды

Количество изменяемых участков памяти указывается десятичным числом, а новые значения вводятся в шестнадцатеричном коде и разделяются дефисом.

> Внесение изменений с помощью символа адреса.

PATCH,ADR,название,ввод,число,значения;

> Внесение изменений с указанием прямого адреса.

PATCH,DA,смещение,ввод,число,значения;
Смещение вводится в виде шестнадцатеричного числа.

> Внесение изменений с помощью определителя логической памяти.

PATCH,LOGNAME,название,ввод,число,значения,индексы,смещение;
Индексы элементов матрицы указываются десятичными числами. При этом допускается ввод как последовательности одиночных значений, так и диапазона индексов.
Смещение изменяемой области памяти указывается десятичным числом и определяет сдвиг указателя относительно начала элемента матрицы.

Пример

На основании дампа памяти из приведенного выше примера пользователь решает откорректировать адрес второго участка памяти, заменив 34C0:5170 на 34A0:CEDA.

Ввод:

   *patch,logname,entry_tbl,dword,1,34a0ceda,1,1a;

Вывод:

   DISPLAYER-INPUT IN A1 PLEASE:

Ввод:

   *dump,logname,entry_tbl,1&&2;

Вывод:

   TABLE: ENTRY_TBL
INDEX: 0000H ADDRESS: 0000H:0000H
CONTENTS HEX (ASCII)
0( 0) 44425F445F43505F 4445565F53544154 DB_D_CP_DEV_STAT
10( 16) 4520202020202020 2020DADEA0340100 E ...4..
20( 32) 0000FF0700 .....
INDEX: 0001H ADDRESS: 0000H:0025H
CONTENTS HEX (ASCII)
0( 0) 44425F445F43505F 4445565F53544154 DB_S_CP_DEV_STAT
10( 16) 5553202020202020 2020DACEA0340200 US pQ.4..
20( 32) 0000FF0700 .....
DISPLAYER INPUT IN A1 PLEASE:

Исправление успешно внесено.

0.81.8 Дерево параметров

0.81.9 Описание параметров
ADR  Используется в командах DEF, DUMP, LST, PATCH, SET;   
  указывает адрес (селектор и смещение) или требуемое расстояние от начала файла.   
  Тип ввода для DEF, LST, SET:
2 связанных одиночных значения, обязательные;
для DUMP, PATCH:
одиночное значение, обязательное.
 
  Возможные значения для DEF, LST, SET:
шестнадцатеричные, 0000 - FFFF (например, 3BF0-387);
для DUMP, PATCH:
шестнадцатеричные 00000000 - FFFFFFFF 
 
             
AREA  Используется в командах COPY, DEF, DEL, LST;
указывает область, в отношении которой действует команда.
 
  Тип ввода для DEF, DEL, LST:
одиночное значение, обязательное;
для COPY:
2 связанных одиночных значения, необязательные
(значение по умолчанию: RES-AMO). 
 
  Возможные значения ALL
AMO
HD
RES 
все области (только DEL).
рабочая область AMO.
область хранения на жестком диске.
область резидентной задачи.
   
             
CMD  Параметр с аргументами;
определяет команду Displayer.
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения CHAR
COPY
DEF
DEL
DIST
DUMP
E
END
EV
FILE
LST
P
PATCH
SET 
вывод символов.
копирование.
описание.
удаление.
расстояние между строками.
сброс содержимого файла.
выбор файла для редактирования.
завершение.
оценка.
файл для сохранения определителей.
листинг содержимого памяти.
процессор.
коррекция содержимого файла.
запись содержимого  памяти.
   
      (Пояснения приводятся в обзоре функций).     
             
CONTINUE  Используется в команде LST;
указывает, нужно ли продолжать вывод после байта 2000.
 
  Тип ввода одиночное значение, необязательное.    
  Возможные значения Y
ДА - вывод продолжать.
НЕТ - вывод прекратить.
   
  Значение по умолчанию      
CTYPE  Используется в командах CHAR, COPY, DEF, DEL, DUMP, EV, LST, PATCH, SET;
уточняет интерпретацию команды.
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения для CHAR:       
      OFF
ON 
символы ASCII отключены;
символы ASCII включены;
   
      для COPY:       
      DBL


DEF 
копирование структуры базы данных;
для трассировщика в IS не разрешено - ввод в этом случае отвергается, а на дисплей выводится рекомендательное сообщение Н3;
копирование определителей памяти из указанного места хранения;
 
      для DEF:       
      ADR  определение выполняется с символьным адресом;  
      LOGNAME  определение выполняется с определителем логической памяти;  
      для DEL:       
      DEF  удаляются определители памяти из указанного места хранения;  
      для DUMP:       
      ADR  производится дамп памяти с символьным адресом
(сочетанием селектора и смещения, указывающим на положение относительно начала файла);
 
      DA  производится дамп памяти с прямым адресом (указывается положение в файле);   
      LOGNAME  производится дамп памяти по определителю логической памяти
(сочетание селектора и смещения указывает на местоположение файла);
 
      для EV:       
      вводимые десятичные числа преобразуются в шестнадцатеричные;  
      вводимые шестнадцатеричные числа преобразуются в десятичные;  
      для LST:       
      ADR  листинг выполняется по символьному адресу;  
      DA  листинг выполняется по прямому адресу (сочетанию селектора и смещения);   
      DEF  листинг табличных структур определителей памяти;  
      INT  листинг высокого уровня для интеграции;    
      LOGNAME  листинг выполняется по определителю логической памяти;  
      SW  листинг высокого уровня для обработки коммутации;    
      для PATCH:       
      ADR  вывод выполняется по символьному адресу
(сочетанию селектора и смещения, указывающему на положение относительно начала файла); 
 
      DA  вывод выполняется по прямому адресу (положению в файле);   
      LOGNAME  вывод выполняется по определителю логической памяти (сочетание селектора и смещения указывает на положение в файле);   
      для SET:       
      ADR
DA
LOGNAME 
вывод выполняется по символьному адресу;
вывод выполняется по прямому адресу;
производится изменение по определителю логической памяти. 
 
             
DISPLACE  Используется в командах DEF, PATCH, SET;
определяет положение области в элементе матрицы, которую нужно изменить или использовать в качестве относительного адреса (=DISPLACEment). 
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения 0 - 65535       
             
FILE  Используется в командах E, FILE; указывает имя файла, который нужно редактировать, или области хранения на жестком диске.  
  Тип ввода одиночное значение, обязательное.    
  Возможные значения корректное имя файла
(например, ":PDS:TEST" или ":DBD:TEST"). 
   
             
IDX  Используется в командах DEF, DUMP, LST, PATCH, SET;
определяет, что указывается в команде: индекс, по которому нужно изменить или отобразить данные, или диапазон индексов заданной матрицы. 
 
  Тип ввода для DEF с CTYPE=ADR:
одиночное значение, обязательное;
для DEF с CTYPE=LOGNAME:
диапазон значений, обязательно;
для DUMP, PATCH, SET:
одиночное значение, последовательность одиночных значений и/или их диапазон (диапазоны), обязательно;
для LST с CTYPE=LOGNAME:
одиночное значение, последовательность одиночных значений и/или их диапазон (диапазоны), обязательно. 
 
  Возможные значения 0 - 65535 для всех.    
             
LEN  Используется в командах DEF, LST;
указывает длину элемента матрицы в определителе логической памяти.
 
  Тип ввода одиночное значение, обязательное для DEF и
необязательное для LST. 
   
  Возможные значения для DEF: 1 - 6000;
для LST: 0 - 65535. 
     
             
NAME  Используется в командах COPY, DEF, DEL, DUMP, LST, PATCH, SET;
указывает название различных используемых элементов. 
 
  Тип ввода одиночное значение, необязательное для COPY и LST,DEF
обязательное.
 
  Возможные значения текстовая строка
(например, "DASS_AM_STATIC_TASK_TBL"). 
 
             
NO  Используется в командах DIST, DUMP, EV, FILE, LST, PATCH, SET;
определяет либо количество пустых строк, которые вставляются при выводе шестнадцатеричного дампа памяти, либо количество десятичных цифр, преобразуемых при выводе в двоичный или шестнадцатеричный код, либо количество сохраняемых определителей памяти, либо количество участков памяти, в отношении которых выполняется операция замены или листинга.
 
  Тип ввода одиночное значение, необязательное для FILE; обязательное в других случаях.    
  Возможные значения для DIST:
0 - 4;
для EV:
0 - 2147483647. 
   
    для FILE:
0 - 65535;
для DUMP, LST:
1 - 1500;
для PATCH, SET:
1 - 10. 
   
             
PROCID  Используется в команде P;   
 
  указывает процессор, где находится требуемое задание Displayer.  
  Тип ввода одиночное значение, обязательное.    
  Возможные значения A1  Сервер администрирования и данных.    
             
SEL  Используется в команде LST;
определяет используемые критерии выбора (=SELection). 
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения HD
SCREEN 
вывод файла на жесткий диск;
вывод на экран дисплея.
   
             
TBL  Используется в команде DEF;
указывает имя таблицы с требуемым адресом. 
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения текстовая строка
(например, "DASS_AM_STATIC_TASK_TBL"). 
   
             
TYPE  Используется в командах DEF, LST;
задает тип определителя адреса или вывода памяти. 
 
  Тип ввода одиночное значение, обязательное.  
  Возможные значения для DEF:       
      ADR
TBL 
адрес должен быть сохранен в указанном месте;
адрес должен быть сохранен в таблице, ссылка на которую дается в указанном месте; 
   
      для LST:     
      BCA
BCASA
BDI
CHDI
CHSI
DBDS
DCHS
DSB
FUPST 
основные данные загрузочной области связи;
область хранения BCA;
DAAS_HW_BOARD_INF_TBL;
DAAS_HW_CH_DEVICE_INF_TBL;
DAAS_HW_CH_SERVICE_INF_TBL;
DAAS_HW_BOARD_D_STATE_TBL;
DASS_HW_CHAN_D_STATE_TBL;
DAAS_DMS_SWITCH_BOARD;
DASV_FBT_FAMUP_STATUS; 
 
      RDV
SBDS
SCHS
STSK 
DASS_TY_C_ROUTE_DIV_TBL;
DAAS_HW_BOARD_S_STATE_TBL;
DASS_HW_CHAN_S_STATE_TBL;
DASS_AM_STATIC_TASK_TBL. 
 
             
UNIT  Используется в командах DUMP, LST, PATCH, SET;
указывает используемые единицы описания памяти.
 
  Тип ввода одиночное значение, обязательное.    
  Возможные значения BYTE
DWORD
WORD 
байты;
двойные слова;
слова.
   
             
VAL  Используется в командах EV, PATCH, SET;
определяет необходимость отображения шестнадцатеричных значений в десятичном, двоичном или шестнадцатеричном формате (=VALue), либо формат значения, сохраняемого в указанном месте (=VALue). 
 
  Тип ввода для EV:
одиночное значение, обязательное;
   
      для PATCH, SET:
одиночное значение, последовательность связанных одиночных значений, обязательно.
   
  Возможные значения для EV:
шестнадцатеричные числа в диапазоне 0 - 7FFFFFFF;
   
      для PATCH, SET:
шестнадцатеричные числа в диапазоне 00 - FF,
шестнадцатеричные числа в диапазоне 0000 - FFFF,
шестнадцатеричные числа в диапазоне 00000000 - FFFFFFFF. 
 
             

0.81.10 Сообщения об ошибках и рекомендательные сообщения

0.81.10.1 Сообщения об ошибках
F01:
НЕВОЗМОЖНО УСТАНОВИТЬ СВЯЗЬ С DISPLAYER В <xxxxx>.
F02:
СБОЙ ПРИ ЗАПИСИ (НАЧАЛЬНЫЙ АДРЕС = <xxxx>H:<xxxx>H).
F03:
ОПРЕДЕЛИТЕЛЬ ТАБЛИЦЫ С ТАКИМ НАЗВАНИЕМ ОТСУТСТВУЕТ. 
F04:
ПЕРЕПОЛНЕНИЕ ТАБЛИЦЫ ОПРЕДЕЛИТЕЛЕЙ В AMO.
F05:
ПЕРЕПОЛНЕНИЕ ТАБЛИЦЫ РЕЗИДЕНТНЫХ ОПРЕДЕЛИТЕЛЕЙ. 
F06:
НЕДОПУСТИМЫЙ ИНДЕКС.
F07:
СБОЙ ПРИ ДОСТУПЕ К БАЗЕ ДАННЫХ.
F08:
ОПРЕДЕЛИТЕЛЬ НЕ ПРИНЯТ.
F09:
ТАБЛИЦА АДРЕСОВ НЕ НАЙДЕНА.
F10:
НЕДОПУСТИМЫЙ СДВИГ.
F11:
НЕСООТВЕТСТВИЕ ВВОДОВ ДЛЯ "UNIT", "NO", "VAL".
Количество значений для "VAL" должно быть указано в параметре
"NO" - это помогает обнаруживать ошибки при вводе.
Задаваемые для "VAL" значения не должны превышать максимальной длины, заданной параметром "UNIT". 
F12:
ОТСУТСТВУЕТ ТАБЛИЦА БАЗЫ ДАННЫХ. 
F13:
НОМЕР LTG БОЛЬШЕ, ЧЕМ <xx>H.
F14:
НОМЕР LTU БОЛЬШЕ, ЧЕМ <xx>H.
F15:
НЕСООТВЕТСТВИЕ ВВОДА ДЛЯ "TYPE" И "SEL".
Значение TYPE=CPB, например, не соответствует  SEL=DTI. 
F16:
ФАЙЛ "<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>" УЖЕ НАЗНАЧЕН.
Чтобы назначить другой файл, нужно прекратить работу АМО и перезапустить систему. . 
F17:
СБОЙ ПРИ СОЗДАНИИ ФАЙЛА СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM. 
F18:
СБОЙ ПРИ ОТКРЫТИИ ФАЙЛА СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM.
F19:
СБОЙ ПРИ ПОИСКЕ В ФАЙЛЕ СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM. 
F20:
СБОЙ ПРИ СЧИТЫВАНИИ ФАЙЛА СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM. 
F21:
СБОЙ ПРИ ЗАПИСИ В ФАЙЛ СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM.
F22:
СБОЙ ПРИ ЗАКРЫТИИ ФАЙЛА СО СТАТУСОМ <xxxx>H.
Статус вывода такой же, что и у вызова FAM. 
F23:
НЕ НАЗНАЧЕНО НИ ОДНОГО ФАЙЛА.
В результате область хранения на жестком диске использовать невозможно. 
F24:
ОТСУТСТВУЕТ НЕОБХОДИМОЕ ЗНАЧЕНИЕ ПАРАМЕТРА. 
F29:
ФАЙЛ "<xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>" УЖЕ СУЩЕСТВУЕТ.
На жестком диске уже имеется файл с таким же именем, и он НЕ будет заменен на новый. Необходимо ввести другое имя.   
F30:
СБОЙ ПРИ ВЫДЕЛЕНИИ ВРЕМЕННОГО СЕГМЕНТА; НЕДОСТАТОЧНО ПАМЯТИ.
Невозможно создать временный сегмент для промежуточного хранения данных BCASA, так как в системе недостаточно свободных ресурсов хранения.   

0.81.10.2 Рекомендательные сообщения
H01:
ДОСТУП ВОЗМОЖЕН ТОЛЬКО К <xxxx>H БАЙТАМ.
Такое сообщение поясняет причины сбоя при считывании или записи.
H02:
ДАННЫЕ НЕ НАЙДЕНЫ.
Такое сообщение поясняет причины сбоя при попытке вывести данные.
H03:
ЗАПРАШИВАЕМАЯ ФУНКЦИЯ НЕДОСТУПНА.
Такое сообщение означает, что на данном процессоре функция ввода или команда недоступна, либо не применима.

Top of Page
Last Page
First Page Previous Page Next Page

---
---
Используются технологии uCoz