XPI 语法

XPI 函数使用特殊语法。 每个函数的描述仅定义特定于该调用的选项。

进行 XPI 调用中描述了适用于所有函数调用的选项。 使用以下参数类型:
name1, name2,….
其中每个是指给定大小的字段的名称 (以字节为单位)。 “name1” 表示您指定的名称应该是 1 字节字段的名称。
文学
字面值格式的数字,例如 B '00000000'X'FF 'X'FCF4'"0"或具有类似值的等同符号。
表达式 (expression)
有效汇编语言表达式: 十进制整数或在汇编语言中有效的任何算术表达式 (包括符号值); 例如:
20; L'AREA; L'AREA+10; L'AREA+X'22'; SYMB/3+20 .
(Rn)
寄存器引用。 除了围绕自变量的括号外,此处显示的括号也是必需的。 例如: OPTION ((R5))。
块描述符
表示数据地址和数据长度字段的源。 块描述符可以是单个值或双精度值。 以下是单值形式:
 
OPTION(blkdname)
 
blkdname
块描述符的名称。 一对连续的全字,其中第一个词包含数据的地址,第二个词包含数据的长度 (以字节为单位) 作为全字二进制值。 对于此单值格式,不接受寄存器表示法。
以下是双值形式:
 
OPTION(addr,len)
 
阿德尔
数据地址为 {namea | (Ra) | aliteral}:
纳梅
包含数据地址的位置的名称
(Ra)
包含数据地址的寄存器
阿利泰尔
地址常量文字; 例如: A (data)。
len
数据长度为 {namel | (Rn) | expression}:
纳梅尔
包含二进制全字以提供数据长度 (以字节计) 的位置的名称
(Rn)
一个寄存器,其内容以全字二进制指定数据的字节数
表达式 (expression)
在汇编语言中有效的十进制整数或任何算术表达式 (包括符号值); 例如:
L'AREA ; L'AREA+10 ; L'AREA+X'22' ; SYMB/3+20 .
缓冲区描述符
表示数据地址和最大数据长度字段的源。 还保留缓冲区描述符的部分以充当输出信息的接收字段。 缓冲区描述符可以是单个值或多个值。 以下是单值形式:
 
OPTION(bufdname)
 
Bufdname
缓冲区描述符的名称。 由最多四个连续全字组成的组,表示缓冲区描述符的多个组件。 这些字段解释如下:
  • 第一个字包含数据的地址 (输入)。
  • 保留第二个字以接收数据的当前长度 (以字节为单位) ,作为全字二进制值 (输出)。 如果指定了三个组件,那么第三个组件将映射到此字。 如果在缓冲区描述符中仅指定了两个组件,那么第二个组件将映射到此字。
  • 第三个词包含数据的最大长度 (以字节为单位) ,作为全字二进制值 (输入)。 如果指定了三个组件,那么第二个组件将映射到此字。 如果在缓冲区描述符中仅指定了两个组件,那么不使用此字段。
  • 第四个字保留给 XPI 使用。
对于此单值格式,不接受寄存器表示法。
以下是多值形式:
 
OPTION(addr,maxlen,*)
 
阿德尔
数据地址为 {namea | (Ra) | aliteral}:
纳梅
包含数据地址的位置的名称
(Ra)
包含数据地址的寄存器
阿利泰尔
地址常量文字,例如 A (数据)。
马克斯伦
最大数据长度为 {namel | (Rn) | expression}:
纳梅尔
包含二进制全字的位置的名称,提供最大数据长度 (以字节为单位)
(Rn)
一种寄存器,其内容以全字二进制指定数据的最大字节数
表达式 (expression)
在汇编语言中有效的十进制整数或任何算术表达式 (包括符号值); 例如:
L'AREA ; L'AREA+10 ; L'AREA+X'22' ; SYMB/3+20 .
*
必需参数,用于指示参数列表将用于保留字段。 如果对此参数进行了编码,那么必须从缓冲区描述符中返回的 _N 组件获取必需值。