| 絕對(duì)段位于一個(gè)固定的存儲(chǔ)地址中。使用偽指令CSEG,DSEG,XSEGISEG和BSEG可以創(chuàng)建絕對(duì)段。使用這些偽指令,我們可以把代碼和數(shù)據(jù)定位在存儲(chǔ)空間中的一個(gè)固定地址。當(dāng)我們需要訪問(wèn)一個(gè)固定的存儲(chǔ)器地址,或者當(dāng)我們想把程序代碼或常數(shù)放在一個(gè)固定的內(nèi)存地址時(shí),我們必須使用絕對(duì)段。參見(jiàn)偽指令CSEG,DSEG,ISEG,XSEG,ISEG獲取更多有關(guān)定義絕對(duì)段的信息。 復(fù)位后,8051微處理器開(kāi)始從CODE地址0執(zhí)行程序。Intel/Atmel WM 25的起始執(zhí)行地址為FF0000。有些類型的程序代碼必須被置于該地址。我們可以使用絕對(duì)段強(qiáng)制程序代碼進(jìn)入該地址。下面的例子被用在Cx51啟動(dòng)程序中,從復(fù)位地址轉(zhuǎn)移到初始化代碼的開(kāi)始。 | · | | | | · | | | | · | | | | | CSEG | AT 0 | | RESET_VEC: | LJMP | STARTUP | | · | | | | · | | | | · | | | 我們用CSEG AT 0偽指令放置在地址0000h的程序代碼,實(shí)現(xiàn)一個(gè)到STARTUP標(biāo)號(hào)的跳轉(zhuǎn)。 AX51和A251支持絕對(duì)段控制,以與A51兼容。AX51和A251把偽指令CSEG,DSEG,XSEG,ISEG和BSEG翻譯為一個(gè)普通段偽指令。 |