• 大小: 48.08MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-01
  • 语言: 其他
  • 标签: HQFC-A  

资源简介

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 ) < LEN_BIOS_DATA ) {
    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\link.EXE
     文件       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\Tlink.EXE
     文件      120426  2019-06-01 22:28  Bin\BC\Tlink7.EXE
     目录           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个文件信息

评论

共有 条评论

相关资源