Упакованные данные - Большая Энциклопедия Нефти и Газа, статья, страница 1
Когда-то я думал, что я нерешительный, но теперь я в этом не уверен. Законы Мерфи (еще...)

Упакованные данные

Cтраница 1


1 Решение задачи с трансляцией программы.| Интерпретация задачи. [1]

Упакованные данные - две десятичные цифры помещены в один байт.  [2]

В младших полубайтах полей упакованных данных обоих операндов должны находиться правильные коды знаков.  [3]

Регистр 1 0000 0000 Регистр 2 0000 8FOO Регистр 3 Адрес первой команды 008FOO - OF Отредактированный результат 008F10 - 14 Упакованные данные.  [4]

Следующая четверка параметров по тому же принципу описывает очередной ключ: он начинается с 20-го байта, занимает три байта, состоит из упакованных данных и определяет порядок записей по убыванию.  [5]

Так как поля обрабатываются в ЕС ЭВМ справа налево, то в первой половине старшего байта будет записан знак числа ( знаку соответствует код С, а знаку - - код D), а последние 4 байт дополняются нулем до полного слова. Число десятичных цифр в поле упакованных данных, таким образом, всегда нечетное.  [6]

Используемые здесь шестнадцатеричные константы OFOOH и 007FH называются масками; в полях констант, соответствующих полям, подлежащим извлечению, находятся единицы, а в остальных полях - нули. По команде AND неиспользованные разряды слов Р и Q устанавливаются в 0, так что нужные поля могут быть объеденены с помощью команды OR. В общем случае для выполнения операций над полями упакованных данных необходимо производить сдвиг полей в слове влево или вправо; этот вопрос будет подробно рассмотрен в разд.  [7]

Команда PACK преобразует данные, указанные вторым операндом ( предполагается, что это десятичные числа в зонном формате), в упакованный формат, располагая их по адресу, указанному первым операндом. Преобразованные данные помещаются полубайтами в область памяти, указанную первым операндом; обработка данных идет справа налево. В следующий полубайт загружается десятичная цифра из того же байта поля, указанного вторым операндом, из которого был взят код знака. Однако в поле упакованного формата они будут располагаться последовательно в каждом полубайте. Если команда обработала всю область данных зонного формата, а поле упакованного формата еще не заполнено целиком, то в оставшиеся старшие полубайты заносятся шестнадцатеричные нули. Если поле упакованных данных заполнено до окончания обработки данных поля зонного формата, то оставшиеся данные не используются. В связи с тем что не все данные пересылаются из одного операнда в другой ( из зонных частей байтов пересылается только код знака), очевидно, что длина первого операнда может быть меньше длины второго операнда.  [8]



Страницы:      1