section.c

来自「该程序介绍了在MCU编程时如何分配变量和程序的地址。」· C语言 代码 · 共 59 行

C
59
字号
#pragma section @@DATA   ??DATA	
#pragma section @@CNST   ??CNST AT 9000H
      int    a1;             // ??DATA
sreg  int    b1;             // 仐仐DATS
      int    c1 = 1;         // 仐仐INIT偲仐仐R_INIT
const int    d1 = 2;         // 仐仐CNST

#pragma section @@DATS   ??DATS
      int    a2;             // ??DATA
sreg  int    b2;             // ??DATS
      int    c2 = 3;         // 仐仐INIT偲仐仐R_INIT
const int    d2 = 4;         // 仐仐CNST

// ??DATA偑帺摦揑偵暵偠傜傟丆??DATA2偑桳岠偲側傞丅
#pragma section @@DATA   ??DATA2
#pragma section @@CNST   ??CNST AT 7000H
      int    a3;             // ??DATA2
sreg  int    b3;             // ??DATS
      int    c3 = 5;         // 仐仐INIT偲仐仐R_INIT
const int    d3 = 6;         // 仐仐CNST

// ??DATA2偑暵偠傜傟丆僨傿僼僅乕儖僩仐仐DATA偵栠傞
#pragma section @@DATA   @@DATA

// 仐仐INIT丆仐仐R_INIT偺椉曽偺柤慜傪曄偊側偄偲ROM壔偑攋抅偡傞偑丆
// 偦傟偼儐乕僓愑擟丅
#pragma section @@INIT   ??INIT
#pragma section @@R_INIT ??R_INIT	AT	2000H
      int    a4;             // 仐仐DATA
sreg  int    b4;             // ??DATS
      int    c4 = 7;         // ??INIT偲??R_INIT
const int    d4 = 8;         // 仐仐CNST

// ??INIT, ??R_INIT偑暵偠傜傟丆僨傿僼僅乕儖僩偵栠傞丅
#pragma section @@INIT   @@INIT
#pragma section @@R_INIT @@R_INIT
#pragma section @@BITS   ??BITS
__boolean    e4;             // ??BITS
int a;
#pragma section @@DATA DAT1 AT 0e000H
int b;
sreg int c;
#pragma section @@DATA DAT2 AT 0FB20H
int  d;

#pragma section @@CNST   ??CNST
char *const  p   = "Hello";  // p傕"Hello"傕??CNST


void main ()
{
	b++;
   while (1)
   {b++;
   d++;
   	c4++;
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?