| ?EB?mybits | SEGMENT | EBIT | ; 定義一個(gè)EBIT類型的段 |
| RSEG | ?EB?mybits | ||
| FLAG: | DBIT | 1 | ; 在BIT空間保留一位 |
| CMOD | DATA | 0D9H | ; PCA計(jì)數(shù)器模式 |
| CPS0 | BIT | CMOD.1 | ; CPS0位 |
| ?PR?myprog | SEGMENT | CODE | ; 為程序代碼定義一個(gè)段 |
| RSEG | ?PR?myprog | ||
| JB | FLAG, is_on | ; 直接對(duì)DATA尋址 | |
| SETB | FLAG | ||
| …… | |||
| is_on: | CLR | FLAG | |
| CLR | CPS0 | ; CMOD.1 = 0 |
在該空間中的變量通過(guò)寄存器R0和R1存取。
適用于所有8051版本的例子
| ?ID?myvars | SEGMENT | IDATA | ; 定義一個(gè)IDATA類型的段 |
| RSEG | ?EB?mybits | ; 羅畝按:此處疑為 “RSEG ?ID?myvars” | |
| BUFFER: | DS | 100 | ; 保留100字節(jié) |
| ?PR?myprog | SEGMENT | CODE | ; 為程序代碼定義一個(gè)段 |
| RSEG | ?PR?myprog | ||
| MOV | R0, #BUFFER | ; 把地址裝載到R0中 | |
| MOV | A, @R0 | ; 讀存儲(chǔ)器地址緩沖器所指地址的內(nèi)容 | |
| INC | R0 | ; R0中的存儲(chǔ)器地址加1 | |
| MOV | @R0, A | ; 寫(xiě)存儲(chǔ)器地址BUFFER+1 |
在菲利浦80C51MX中,EDATA存儲(chǔ)器可以通過(guò)EPTR或通用指針PR0和PR1訪問(wèn)。通用指針可以訪問(wèn)16MB地址空間中的任意地址。
適用于菲利浦80C51MX的例子





