STM8S103的RAM有1k,0x00-0x3FF(RAM和ROM統一編址),其中0x200-0x3ff共512個字節默認為堆棧,剩余的低端512個字節又分為了Zero Page和剩余的RAM(簡稱RAM),如下圖STVD中,定義變量默認是定義在Zero Page中的
# .bsct段服務於定義在0頁(地址小於0x100)以內需要初始化的全局變量(如@tiny char a = 9;)
# .ubsct段服務於定義在0頁(地址小於0x100)以內不需要初始化的全局變量(如@tiny char b;)
# .bit表示位域段,定義后即可在程序中使用_Bool變量(如_Bool c = 1;),-id表示該段需要初始化。
#.share 這是ST7時代(STM8是基於ST7發展而來的)由於物理堆棧小,速度慢,使用內存來模擬堆棧的變通手段。
# .data段服務於定義在0頁(地址大於0xFF)以外需要初始化的全局變量(如@near char d = 8;)
# .bss段服務於定義在0頁(地址大於0xFF)以內不需要初始化的全局變量(如@ near char e;)