1. 程式人生 > >在keil c51中的一些關鍵字的用法

在keil c51中的一些關鍵字的用法

_at_代表絕對地址的意思:

struct link list idata _at_ 0x40;     /* 定義位於內部RAM低128位元組區0x40地址處的 結構體 */
char xdata text[256]   _at_ 0xE000;   /* 定義位於外部RAM 0xE000地址處的 陣列 */
int xdata i1           _at_ 0x8000;   /* 定義位於外部RAM 0x8000地址處的 整型變數 */
volatile char xdata IO _at_ 0xFFE8;   /* 定義地址為 0xFFE8的外部IO */
char far ftext[256]    _at_ 0x02E000; /* 定義位於外部RAM 0x2E000地址處的陣列 */


#program pack:代表自定地址對齊

例如
struct a
{
    char b;
    int d;
}
#program pack(1)
sizeof(a) = 3


#program pack(4)
sizeof(a) = 8