|
char read_ec_ram(char ec_index)
, K1 H7 Y( z% N* t* @ ]1 b{ // Input ec_index = EC RAM Index
P6 }) U6 G6 q1 G __asm{5 y6 y: O' _& {$ a0 u
.486& x- Q6 n. u7 e% s
mov al, ec_index
$ ?) B' t) T5 N, @& l out 0B3h, al3 G% S& {! s( X* z6 b" Y
mov al, 0E4h
, T/ i! j' t, W* I out 0B2h, al // Call S/W SMI to read EC RAM9 Y# }1 b! P3 j$ L* C
in al, 0B3h // Read data store to I/O port 0B3h
' h5 \& ^1 _* E; e. D1 ?+ C mov ec_index, al // Save read data to ec_index.) I4 `9 ]: {& r: P% m8 B, A+ E
}
! C* e# S q; j6 ^' ` N return ec_index&0xff;% q3 F0 M$ `" A- c0 f" T
}
0 A( h( V6 O# E$ u' O* T南狼老师能否帮忙解释一下上面的代码,我只知道是通过bios读取ec的内容。 |
|