80186 的字長為16,而nvram
的位寬為8,在這種情況下,我們需要為nvram 提供讀寫位元組、字的介面,如下:
1 typedef unsigned charbyte;
2 typedef unsigned int
word;3/*
函式功能:讀nvram 中位元組45
* 返回:讀取到的位元組值6*/
7extern
byte readbytenvram(word woffset)812
/*函式功能:讀nvram 中字
1314
* 返回:讀取到的字
15*/
16extern
word readwordnvram(word woffset)
1728
/*函式功能:向nvram 中寫乙個位元組
2930
* bydata,欲寫入的位元組
31*/
32extern
void
writebytenvram(word woffset, byte bydata)
3336
/*函式功能:向nvram 中寫乙個字
*/37 *引數:woffset,寫入位置相對nvram 基位址的偏移
38 *wdata,欲寫入的字
39 */
40extern
void
writewordnvram(word woffset, word wdata)
41
子貢問曰:why 偏移要乘以2?
子曰:請看圖1,16 位80186 與8 位nvram 之間互連只能以位址線a1 對其a0,cpu
本身的a0 與nvram 不連線。因此,nvram 的位址只能是偶數字址,故每次以0x10 為
單位前進!
linux時間與Windows時間不一致的解決
一 首先要弄清幾個概念 1.系統時間 與 硬體時間 12 01 19 07 date 2009年 12月 07日 星期一 14 22 20cst 12 0119 07 date u 2009年 12月 07日 星期一 06 22 22utc 2.硬體時間 sbin hwclock 直接呼叫 sbin...
docker容器時間與宿主機不一致
使用docker拉去mysql映象並啟動容器,發現容器時間與宿主機不一致。而宿主機是網路時間。第乙個想法是進入容器修改容器時間。但是發現從官方拉取下來的映象啟動的容器很多命令是沒有的。其中就包括修改時間的clock命令。無奈之下,只好問度娘。度娘的解決方案有兩種,一 修改dockerfile。但這種...
docker 系統時區與jvm時區不一致
linux centos 7.5 docker 18.06 最近做了乙個功能,要求資料庫中的時間和系統時間存在很小誤差才能使用,部署上伺服器時出現了很大時差,計算下來剛好8個小時,然後去看log發現log4j打出來的時間不是東八區。修改系統時區,執行 cp usr share zoneinfo as...