討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 政府補助!資策會APP就業班 最新Microsoft免費研討會行事曆
[ 回上頁 ] [ 討論區發言規則 ]
請問如何讀取EC RAM?
更改我的閱讀文章字型大小
作者 : tttalk19(tttalk19)
[ 貼文 14 | 人氣 1905 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/8/30 下午 04:02:48
應該是使用60H/64H下ec command來讀,
但是詳細做法卻不知道該怎麼下手,
不知道有沒有人有做過相關程式或是可以提供相關資料供研究,
謝謝!
作者 : ghostj(GHOST-JACKY) 貼文超過200則人氣指數超過10000點
[ 貼文 236 | 人氣 25354 | 評價 330 | 評價/貼文 1.4 | 送出評價 16 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人tttalk19註記此篇回應為很有道理 2005/9/1 下午 07:51:14
這個部份你要跟EC寫CODE的人,詢問當你要讀取時RAM要用哪一個COMMAND

60/64 PORT就是下COMMAND的IO PORT,所以你要去問問看EC的人要下哪個COMMAND可以

讀RAM OF EC的資料
作者 : tttalk19(tttalk19)
[ 貼文 14 | 人氣 1905 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/2 上午 10:09:59
我已經問到讀EC的command了,不過還是蠻迷糊的,
假設我要讀的是EC的1234H這個位置,
我對64H下EC command,
然後我從60H讀,
但是讀出來的東西是哪裡的東西?
好像沒地方讓我指定1234H這個位置說?
作者 : jc_23(掌握文武半邊天)
[ 貼文 119 | 人氣 7450 | 評價 530 | 評價/貼文 4.45 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人tttalk19註記此篇回應為最佳解答 2005/9/2 下午 10:42:22
一般讀 EC 語法如下
1. Sent read EC command to Port64
2. Sent EC RAM address high byte to Port60
3. Sent EC RAM address low byte to Port60
4. Read Port60 Data
就這樣
作者 : tttalk19(tttalk19)
[ 貼文 14 | 人氣 1905 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/3 下午 12:53:01
>一般讀 EC 語法如下
>1. Sent read EC command to Port64
>2. Sent EC RAM address high byte to Port60
>3. Sent EC RAM address low byte to Port60
>4. Read Port60 Data
>就這樣
我照步驟做,
但讀出來的值卻不是正確的,
一直有個疑問,
60H不是獨鍵盤的code嗎?
還有丟高低位元給64H,
低位元不會把高位元給蓋掉?
作者 : ghostj(GHOST-JACKY) 貼文超過200則人氣指數超過10000點
[ 貼文 236 | 人氣 25354 | 評價 330 | 評價/貼文 1.4 | 送出評價 16 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/9/5 下午 08:21:38
當然這只是剛開始,你想要讀的位址你也得問說是否有切換到這個RANGE,

就以我所知EC不是將所有記憶體都給你直接ACCESS,你要配合EC去切換PAGE然後在下OFFSET,才可以讀到你想要的,所以問一下EC的人乾脆寫個COMMAND給你專門讀這個位址吧
作者 : fwing(fwing)
[ 貼文 2 | 人氣 5 | 評價 40 | 評價/貼文 20 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人tttalk19註記此篇回應為最佳解答 2005/9/29 下午 07:12:04

>>一般讀 EC 語法如下
>>1. Sent read EC command to Port64
>>2. Sent EC RAM address high byte to Port60
>>3. Sent EC RAM address low byte to Port60
>>4. Read Port60 Data
>>就這樣
>我照步驟做,
>但讀出來的值卻不是正確的,
>一直有個疑問,
>60H不是獨鍵盤的code嗎?
>還有丟高低位元給64H,
>低位元不會把高位元給蓋掉?

一、
會讀到錯誤訊息的原因應該是你沒有注意到 Keyboard Buffer的問題

試著在
1. Sent read EC command to Port64
wait kb input buffer empty後
丟出
2. Sent EC RAM address high byte to Port60
3. Sent EC RAM address low byte to Port60
wait kb output buffer full 後
4. Read Port60 Data

P.S 在Proctected Mode下即使如此 也是無法讀到正確的值
     因為會被OS給攔截掉,所以必須在real mode環境下才能正確的讀取

二、
低位元不會把高位元給蓋掉?
這是不會的
這是丟EC command 的固定格式(丟port 60h)
 板主 : 徵求中
 > 組合語言 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 組合語言 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
組合語言
1 H 2220 
2 liaoo 990 
3 青衫 970 
4 牧童哥 940 
5 史努比 920 
6 qq 480 
7 GHOST-JACKY 330 
8 ]CALL-151 310 
9 harrison 300 
10 掌握文武半邊天 280 
組合語言
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625