Super I/O访问主要步驟.
W83627
;进入SIO
INVOKE WritePort, 4eh, 1, 87h
INVOKE WritePort, 4eh, 1, 87h
INVOKE WritePort, 4eh, 1, 2ah ;写SIO offset 0x2a = 0xff
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 07h ;写SIO offset 0x07 = 0x07,选择第七个功能
INVOKE WritePort, 4fh, 1, 07h
INVOKE WritePort, 4eh, 1, 30h ;写SIO offset 0x30 = 0x01,使能该功能。
INVOKE WritePort, 4fh, 1, 01h
INVOKE WritePort, 4eh, 1, 0f0h ;写SIO offset 0xf0 = 0xff,控制GPIO引腳輸出或輸入。
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 0f2h ;写SIO offset 0xf2 = 0xff,控制GPIO引腳電平是否翻轉。
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 0f1h ;寫SIO offset 0xf1 = 01h, 此值即GPIO引腳輸出電平、受offset 0xf2影響。
INVOKE WritePort, 4fh, 1, 01h ;
INVOKE WritePort, 4eh, 1, 0f1h ;讀取SIO offset 0xf1, 內容放dwValue的第一個字節。
INVOKE ReadPort, 4fh, 1, addr dwValue
;退出SIO
INVOKE WritePort, 4eh, 1, 0aah
W83627
;进入SIO
INVOKE WritePort, 4eh, 1, 87h
INVOKE WritePort, 4eh, 1, 87h
INVOKE WritePort, 4eh, 1, 2ah ;写SIO offset 0x2a = 0xff
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 07h ;写SIO offset 0x07 = 0x07,选择第七个功能
INVOKE WritePort, 4fh, 1, 07h
INVOKE WritePort, 4eh, 1, 30h ;写SIO offset 0x30 = 0x01,使能该功能。
INVOKE WritePort, 4fh, 1, 01h
INVOKE WritePort, 4eh, 1, 0f0h ;写SIO offset 0xf0 = 0xff,控制GPIO引腳輸出或輸入。
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 0f2h ;写SIO offset 0xf2 = 0xff,控制GPIO引腳電平是否翻轉。
INVOKE WritePort, 4fh, 1, 0ffh
INVOKE WritePort, 4eh, 1, 0f1h ;寫SIO offset 0xf1 = 01h, 此值即GPIO引腳輸出電平、受offset 0xf2影響。
INVOKE WritePort, 4fh, 1, 01h ;
INVOKE WritePort, 4eh, 1, 0f1h ;讀取SIO offset 0xf1, 內容放dwValue的第一個字節。
INVOKE ReadPort, 4fh, 1, addr dwValue
;退出SIO
INVOKE WritePort, 4eh, 1, 0aah