初始化8051上的数据段



我是Assembly的新手,遇到了一个问题。我已经定义了要保留的数据段,每个数据段的变量为2字节。如何设置这些变量的初始值?我正在使用Keil的8051 uC 模拟器

?DATAS  SEGMENT DATA
    RSEG ?DATAS ; begin data segment
cnt:     DS 2h
value:   DS 2h

这是不正确的:请参阅更新。

?DATAS  SEGMENT DATA
    RSEG ?DATAS ; begin data segment
cnt:     DW your_16bit_value_here
value:   DW your_16bit_value_here

更新:很抱歉,以上定义只适用于代码段。

8051处理器具有用于代码和数据的独立存储器。代码可以闪存,因此在代码段内定义的数据可以具有初始值。

另一方面,在数据段中定义的数据将存储在RAM中,RAM的内容在启动时没有定义。需要具有初始值的变量必须从代码中初始化。

最新更新