附录A S记录输出格式
用于输出模块的 S 记录格式,是用于在可打印格式下编码程序或者是数据文件, 这些程序或数据文件是用于在计算机系统之间传输。传输过程可有效通过显示器来监 测,而且 S 记录可很容易地被编辑。
A.1 S 记录内容
直观上,S 记录实质是由定义该记录的类型、长度、内存地址、代码/数据和校验 和等几个域组成。每个字节的二进制数据被编码为具有双元特征的十六进制数,第一个 元代表高 4 位,而第二个元则代表低 4 位。图 A-1 表示一个 S 记录包含的 5 个域,表 A-1 列出每个 S 记录的组成细节。
下载 S 记录时,每条必须以 CR 结束。另外,每条 S 记录都有一个初始域区别于其他数据,就像某些分时系统产生的队列数字。记录长度(字节数)和校验和保证了传输 的正确性。
A.2 S 记录类型
共有八种类型的 S 记录提供编码、传输和译码功能。不同的 Motorola 记录传输控 制程序(例如上载、下载等等),交叉汇编程序、连接器和其他文件创建或者调试程序 只利用 S 记录来保存程序。更多的支持特殊 S 记录的信息,请参考用户程序手册。
每条S 记录格式模型可能包括以下类型的 S 记录:
S0 每个S 记录块的记录头。代码/数据域可能包括叙述性信息以识别下面的 S 记 录块。记录头可以用来指明模型名,版本号,修订号和叙述性信息。地址域通常为 0。
S1 该记录包括代码/数据和它们所在的两个字节的地址。
S2 该记录包括代码/数据和它们所在的三个字节的地址。
S3 该记录包括代码/数据和它们所在的四个字节的地址。
S5 该记录包括 S1、S2 和 S3 在特殊快情况下的记录数。这个数字显示在地址域。 没有代码/数据域。
S7 S3 记录块的终止记录。地址域可能选择性的包括 4 字节的已传递的指令地址, 没有代码/数据域。
S8 S2 记录块的终止记录。地址域可能选择性的包括 3 字节的已传递的指令地址, 没有代码/数据域。
S9 S1 记录块的终止记录。地址域可能选择性的包括 2 字节的已传递的指令地址。 如果地址没有详细说明,则使用第一个目标模块的入口。没有代码/数据域。
每个S 记录块使用唯一的终止记录。S7 和 S8 记录只在控制传给第 3、4 个字节时 使用,另外 S9 用来结束。通常,没有头记录,可能会出现多重的头记录。
A.3 S 记录创建
优化器、调试器或交叉汇编程序和连接器产生 S 记录格式程序。当下载或上载从 主系统到微处理器系统的S 记录格式文件时,这些程序就起作用了。 典型的 S 记录格式模型打印如下:
该模型包含 1 个 S0 记录,4 个 S1 记录和 1 个 S9 记录。以下字符组成 S 记录格式 模型。
S0 记录:
S0 S0 型记录,表示这是记录头
06 十六进制 06(十进制 6), 表示接着六个字符(或 ASCII 字节)
0000 一个 4-字符, 2-字节地址域;本例中为 0
48 ASCII H
44 ASCII D
52 ASCII R
1B 校验和
第一个 S1 记录:
S1 S1 型记录, 表示加载/检验代码/数据记录到 2-字节地址
13 十六进制 13 (十进制 19), 表示接着的 19 个字符,代表 19 个字节的二进制数。
0000 一个 4 字符,2 字节地址域(十六进制地址 0000)表示后面要加的数据。
接下来第一个 S1 记录的 16 个字符是实际程序代码/数据的 ASCII 码字节。在这个汇编语言例子中,程序十六进制编码继续写在 S1 记录的代码/数据域中。
余下的代码延续了 S1 记录的代码/数据域并且存储在存储器中的位置是 0010。
2A 第一个 S1 记录的校验和
第二和第三个 S1 记录包括十六进制 13(十进制 19)个字符并且分别以校验和为13 和 52 结束。第四个 S1 记录包括 07 个字符,校验和为 92。
S9 记录:
S9 S 记录类型 S9,表示一个终止记录
03 十六进制 03, 表示后续的 3 个字符(3 个字节)
0000 地址域,0
FC S9 记录的校验和
每个 S 记录的可打印字符以十六进制(本例中为 ASCII)编码,并且代表了传输的 二进制位。图 A-2 描述了 S1 记录的发送过程。表 A-2 列出了 S 记录的 ASCII 码。
A.1 S 记录内容
直观上,S 记录实质是由定义该记录的类型、长度、内存地址、代码/数据和校验 和等几个域组成。每个字节的二进制数据被编码为具有双元特征的十六进制数,第一个 元代表高 4 位,而第二个元则代表低 4 位。图 A-1 表示一个 S 记录包含的 5 个域,表 A-1 列出每个 S 记录的组成细节。

下载 S 记录时,每条必须以 CR 结束。另外,每条 S 记录都有一个初始域区别于其他数据,就像某些分时系统产生的队列数字。记录长度(字节数)和校验和保证了传输 的正确性。
A.2 S 记录类型
共有八种类型的 S 记录提供编码、传输和译码功能。不同的 Motorola 记录传输控 制程序(例如上载、下载等等),交叉汇编程序、连接器和其他文件创建或者调试程序 只利用 S 记录来保存程序。更多的支持特殊 S 记录的信息,请参考用户程序手册。
每条S 记录格式模型可能包括以下类型的 S 记录:
S0 每个S 记录块的记录头。代码/数据域可能包括叙述性信息以识别下面的 S 记 录块。记录头可以用来指明模型名,版本号,修订号和叙述性信息。地址域通常为 0。
S1 该记录包括代码/数据和它们所在的两个字节的地址。
S2 该记录包括代码/数据和它们所在的三个字节的地址。
S3 该记录包括代码/数据和它们所在的四个字节的地址。
S5 该记录包括 S1、S2 和 S3 在特殊快情况下的记录数。这个数字显示在地址域。 没有代码/数据域。
S7 S3 记录块的终止记录。地址域可能选择性的包括 4 字节的已传递的指令地址, 没有代码/数据域。
S8 S2 记录块的终止记录。地址域可能选择性的包括 3 字节的已传递的指令地址, 没有代码/数据域。
S9 S1 记录块的终止记录。地址域可能选择性的包括 2 字节的已传递的指令地址。 如果地址没有详细说明,则使用第一个目标模块的入口。没有代码/数据域。
每个S 记录块使用唯一的终止记录。S7 和 S8 记录只在控制传给第 3、4 个字节时 使用,另外 S9 用来结束。通常,没有头记录,可能会出现多重的头记录。
A.3 S 记录创建
优化器、调试器或交叉汇编程序和连接器产生 S 记录格式程序。当下载或上载从 主系统到微处理器系统的S 记录格式文件时,这些程序就起作用了。 典型的 S 记录格式模型打印如下:

该模型包含 1 个 S0 记录,4 个 S1 记录和 1 个 S9 记录。以下字符组成 S 记录格式 模型。
S0 记录:
S0 S0 型记录,表示这是记录头
06 十六进制 06(十进制 6), 表示接着六个字符(或 ASCII 字节)
0000 一个 4-字符, 2-字节地址域;本例中为 0
48 ASCII H
44 ASCII D
52 ASCII R
1B 校验和
第一个 S1 记录:
S1 S1 型记录, 表示加载/检验代码/数据记录到 2-字节地址
13 十六进制 13 (十进制 19), 表示接着的 19 个字符,代表 19 个字节的二进制数。
0000 一个 4 字符,2 字节地址域(十六进制地址 0000)表示后面要加的数据。
接下来第一个 S1 记录的 16 个字符是实际程序代码/数据的 ASCII 码字节。在这个汇编语言例子中,程序十六进制编码继续写在 S1 记录的代码/数据域中。

余下的代码延续了 S1 记录的代码/数据域并且存储在存储器中的位置是 0010。
2A 第一个 S1 记录的校验和
第二和第三个 S1 记录包括十六进制 13(十进制 19)个字符并且分别以校验和为13 和 52 结束。第四个 S1 记录包括 07 个字符,校验和为 92。
S9 记录:
S9 S 记录类型 S9,表示一个终止记录
03 十六进制 03, 表示后续的 3 个字符(3 个字节)
0000 地址域,0
FC S9 记录的校验和
每个 S 记录的可打印字符以十六进制(本例中为 ASCII)编码,并且代表了传输的 二进制位。图 A-2 描述了 S1 记录的发送过程。表 A-2 列出了 S 记录的 ASCII 码。




