資源簡介
HQFC-A 微機接口 V1.1.0.5(微型計算機系統實驗配套軟件)
代碼片段和文件信息
/*?biossums.c??---?written?by?Eike?W.?*/
#include?
#include?
typedef?unsigned?char?byte;
void?check(?int?value?char*?message?);
#define?LEN_BIOS_DATA?0x10000
#define?MAX_OFFSET????(LEN_BIOS_DATA?-?1)
#define?BIOS_OFFSET?0xFFFF
long?chksum_bios_get_offset(?byte*?data?long?offset?);
byte?chksum_bios_calc_value(?byte*?data?long?offset?);
byte?chksum_bios_get_value(??byte*?data?long?offset?);
void?chksum_bios_set_value(??byte*?data?long?offset?byte?value?);
#define?_32__LEN?????????9
#define?_32__CHKSUM?????10
#define?_32__MINHDR?????16
long?chksum__32__get_offset(?byte*?data?long?offset?);
byte?chksum__32__calc_value(?byte*?data?long?offset?);
byte?chksum__32__get_value(??byte*?data?long?offset?);
void?chksum__32__set_value(??byte*?data?long?offset?byte?value?);
#define?_MP__LEN?????????8
#define?_MP__CHKSUM?????10
#define?_MP__MINHDR?????16
long?chksum__mp__get_offset(?byte*?data?long?offset?);
byte?chksum__mp__calc_value(?byte*?data?long?offset?);
byte?chksum__mp__get_value(??byte*?data?long?offset?);
void?chksum__mp__set_value(??byte*?data?long?offset?byte?value?);
#define?PCMP_baseLEN?????4
#define?PCMP_CHKSUM??????7
#define?PCMP_EXT_LEN????40
#define?PCMP_EXT_CHKSUM?42
#define?PCMP_MINHDR?????42
long?chksum_pcmp_get_offset(?byte*?data?long?offset?);
byte?chksum_pcmp_calc_value(?byte*?data?long?offset?);
byte?chksum_pcmp_get_value(??byte*?data?long?offset?);
void?chksum_pcmp_set_value(??byte*?data?long?offset?byte?value?);
byte?bios_data[LEN_BIOS_DATA];
int?main(?int?argc?char*?argv[]?)?{
??FILE*?stream;
??long??offset?tmp_offset;
??byte??cur_val?=?0?new_val?=?0;
??int???hits;
??if(?argc?!=?2?)?{
????printf(?“Error.?Need?a?file-name?as?an?argument.\n“?);
????exit(?EXIT_FAILURE?);
??}
??if((?stream?=?fopen(?argv[1]?“rb“?))?==?NULL?)?{
????printf(?“Error?opening?%s?for?reading.\n“?argv[1]?);
????exit(?EXIT_FAILURE?);
??}
??if(?fread(?bios_data?1?LEN_BIOS_DATA?stream?)?????printf(?“Error?reading?64KBytes?from?%s.\n“?argv[1]?);
????fclose(?stream?);
????exit(?EXIT_FAILURE?);
??}
??fclose(?stream?);
??hits???=?0;
??offset?=?0L;
??while(?(tmp_offset?=?chksum__32__get_offset(?bios_data?offset?))?!=?-1L?)?{
????offset??=?tmp_offset;
????cur_val?=?chksum__32__get_value(??bios_data?offset?);
????new_val?=?chksum__32__calc_value(?bios_data?offset?);
????printf(?“\n\nPCI-Bios?header?at:?0x%4lX\n“?offset??);
????printf(?“Current?checksum:?????0x%02X\n“???cur_val?);
????printf(?“Calculated?checksum:??0x%02X??“???new_val?);
????hits++;
??}
??if(?hits?==?1?&&?cur_val?!=?new_val?)?{
????printf(?“Setting?checksum.“?);
????chksum__32__set_value(?bios_data?offset?new_val?);
??}
??if(?hits?>=?2?)?{
????printf(?“Multiple?PCI?headers!?No?checksum?set.“?);
??}
??if(?hits?)?{
????printf(?“\n“?);
??}
??hits???=?0;
??offset?=?0L;
??while(?(tmp_offset?=?chksum__mp
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-01?22:28??Bin\
?????目錄???????????0??2019-06-01?22:28??Bin\ASM\
?????文件???????20634??2019-06-01?22:28??Bin\ASM\DEBUG.EXE
?????文件????????2855??2019-06-01?22:28??Bin\ASM\DEBUG.PIF
?????文件???????90720??2019-06-01?22:28??Bin\ASM\DEBUG32.EXE
?????文件????????2855??2019-06-01?22:28??Bin\ASM\DEBUG32.PIF
?????文件??????????48??2019-06-01?22:28??Bin\ASM\enter.txt
?????文件??????364544??2019-06-01?22:28??Bin\ASM\li
?????文件???????49152??2019-06-01?22:28??Bin\ASM\MASM.EXE
?????文件????????9287??2019-06-01?22:28??Bin\ASM\ML.ERR
?????文件??????388608??2019-06-01?22:28??Bin\ASM\ML.EXE
?????文件??????????24??2019-06-01?22:28??Bin\ASM\RunBat.bat
?????文件??????136018??2019-06-01?22:28??Bin\ASM\TASM.EXE
?????文件??????184320??2019-06-01?22:28??Bin\ASM\TASM32.EXE
?????文件??????773468??2019-06-01?22:28??Bin\ASM\Td.exe
?????文件????????2855??2019-06-01?22:28??Bin\ASM\Td.PIF
?????目錄???????????0??2019-06-01?22:28??Bin\BC\
?????文件??????672150??2019-06-01?22:28??Bin\BC\BCC.EXE
?????文件???????22212??2019-06-01?22:28??Bin\BC\DPMILOAD.EXE
?????文件???????24932??2019-06-01?22:28??Bin\BC\DPMIMEM.DLL
?????文件??????120853??2019-06-01?22:28??Bin\BC\RTM.EXE
?????文件??????????46??2019-06-01?22:28??Bin\BC\RunBatPath.bat
?????文件??????129266??2019-06-01?22:28??Bin\BC\TASM.EXE
?????文件??????120704??2019-06-01?22:28??Bin\BC\TDUMP.EXE
?????文件??????150569??2019-06-01?22:28??Bin\BC\Tli
?????文件??????120426??2019-06-01?22:28??Bin\BC\Tli
?????目錄???????????0??2019-06-01?22:28??Bin\C++\
?????文件??????682545??2019-06-01?22:28??Bin\C++\C1.DLL
?????文件?????1206323??2019-06-01?22:28??Bin\C++\C1XX.DLL
?????文件??????737329??2019-06-01?22:28??Bin\C++\C2.DLL
?????文件???????51200??2019-06-01?22:27??Bin\C++\CL.EXE
............此處省略2306個文件信息
評論
共有 條評論