Alcor6L/eLua/cpu
外觀
< Alcor6L
這個模組處理對 CPU(以及相關模組)功能的底層訪問,例如讀取和寫入記憶體,或啟用和停用中斷。它還提供了對平臺特定 CPU 相關常量的訪問。
將一個 32 位字寫入記憶體。
cpu.w32( address, data )
- address - 記憶體地址。
- data - 要寫入的 32 位資料。
返回:無。
從記憶體中讀取一個 32 位字。
data = cpu.r32( address )
- address - 記憶體地址。
返回
- data - 從記憶體中讀取的 32 位字。
將一個 16 位字寫入記憶體。
cpu.w16( address, data )
- address - 記憶體地址。
- data - 要寫入的 16 位資料。
返回:無。
從記憶體中讀取一個 16 位字。
data = cpu.r16( address )
- address - 記憶體地址。
返回
- data - 從記憶體中讀取的 16 位字。
將一個位元組寫入記憶體。
cpu.w8( address, data )
- address - 記憶體地址。
- data - 要寫入的位元組。
返回:無。
從記憶體中讀取一個位元組。
data = cpu.r8( address )
- address - 記憶體地址
返回
- data - 從記憶體中讀取的位元組。
如果在沒有引數的情況下呼叫,則停用全域性 CPU 中斷標誌,如果在有引數的情況下呼叫,則停用特定中斷的資源 ID 列表。
cpu.cli( [id], [resnum1], [resnum2], ... [resnumn])
- id - 中斷 ID。如果指定,則必須至少指定一個資源 ID。
- resnum1 - 第一個資源 ID,如果指定了 id 則需要。
- resnum2(可選)- 第二個資源 ID。
- resnumn(可選)- 第 #n# 個資源 ID。
返回:無。
如果在沒有引數的情況下呼叫,則啟用全域性 CPU 中斷標誌,如果在有引數的情況下呼叫,則啟用特定中斷的資源 ID 列表。
cpu.sei( [id], [resnum1], [resnum2], ... [resnumn])
- id - 中斷 ID。如果指定,則必須至少指定一個資源 ID。
- resnum1 - 第一個資源 ID,如果指定了 id 則需要。
- resnum2(可選)- 第二個資源 ID。
- resnumn(可選)- 第 #n# 個資源 ID。
返回:無。
獲取 CPU 核心頻率。
clock = cpu.clock()
引數:無。
返回
- clock - CPU 時鐘(以赫茲為單位)。
將中斷 *id* 的 Lua 中斷處理程式設定為函式 *handler*。*handler* 可以是 #nil# 以停用中斷處理程式。僅在啟用中斷支援時可用,有關詳細資訊,請檢視此處。
prev_handler = cpu.set_int_handler( id, handler )
- id - 中斷 ID。
- handler - Lua 中斷處理程式函式,或 *nil* 以停用 Lua 中斷處理程式功能。
返回
- prev_handler - 中斷 *id* 的先前中斷處理程式,或 *nil* 如果未為中斷 *id* 設定中斷處理程式。
返回中斷 *id* 的 Lua 中斷處理程式
handler = cpu.get_int_handler( id )
- id - 中斷 ID。
返回:handler - 中斷 *id* 的中斷處理程式,或 *nil* 如果未為中斷 *id* 設定中斷處理程式。
獲取中斷 ID/資源 ID 組合的中斷掛起標誌,並可選地清除掛起標誌。僅在啟用中斷支援時可用,有關詳細資訊,請檢視此處。
cpu.get_int_flag( id, resnum, [clear] )
- id - 中斷 ID。
- resnum - 資源 ID。
- clear(可選)- true 清除中斷掛起標誌,或 false 保持中斷掛起標誌不變。如果未指定,則預設為 true。
返回:無。