当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

segment data 汇编语句

语法

segment data {at address}

描述

segment data语句用于创建一个数据段。存储器保留指令都必须写在数据段内。建议使用dseg代替。

如果地址 address 存在:

  • 段的起始地址将会被安排到指定的地址 address

  • 合法的地址范围为0x80~0xFF

  • 段内保留的字节和比特将会严格按照地址先后顺序紧凑分配;

  • 支持字节数组;

  • 支持用于占位的比特数组。

如果地址 address 不存在:

  • 段内保留的字节(数组)和比特将会由编译器逐个在存储器内按照地址从低到高查找空闲进行分配;

  • 支持字节数组;

  • 不支持比特数组。

建议 没有特殊情况时,不要使用带地址的数据段。

范例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        //RAM地址范围:0x80 ~ 0xFF

        segment data at 0x80    //起始地址为0x80的代码段
        byte    B               //at 0x80
        byte    C[3]            //at 0x81, 0x82, 0x83
        bit     D               //at 0x84.0
        bit     E               //at 0x84.1
        byte    F               //at 0x85
        bit     G               //at 0x86.0
        bit     H               //at 0x86.1

        segment data at 0x89    //起始地址为0x89的代码段
        bit     I               //at 0x89.0
        bit     J               //at 0x89.1
        bit     [2]             //at 0x89.2, 0x89.3
        bit     K               //at 0x89.4
        bit     L               //at 0x89.5
        bit     M               //at 0x89.6
        bit     N               //at 0x89.7
        bit     O               //at 0x8A.0
        bit     P               //at 0x8A.1
        byte    Q               //at 0x8B

        segment data            //不带地址的数据段
        bit     R               //at 0x87.0
        byte    S[3]            //at 0x8C, 0x8D, 0x8E
        bit     T               //at 0x87.1
        byte    U               //at 0x88
        byte    V               //at 0x8F