⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.cpp

📁 vc 中一个窗口的建立 和怎么样写消息循环
💻 CPP
字号:
#include "string.h"
#include "stdio.h"

#include <stdlib.h>

#define SIZE 0xffff

//typedef unsigned int UINT16;

struct Item8
{
//  UINT16 Addr;
  unsigned int Addr;
  unsigned int Data;
};

struct Item32
{
  unsigned char Swich;
  struct Item8 Data8[4];
};

void main(void)
{
  FILE 	*InHex;
  FILE 	*OutTxt32;

  struct Item32 Data32[SIZE];
  char TempChar;
//  UNINT16 Addr;
  unsigned int Addr;
  unsigned int Length;
  unsigned int i,j;
  unsigned int sub1,sub2;

  InHex = fopen("asm51.hex","r");
  OutTxt32 = fopen("Out32.txt","w");

  for(i=0;i<SIZE;i++) Data32[i] = {0,{{0,0},{0,0},{0,0},{0,0}}};

  while(! feof(InHex))
  {
    TempChar = fgetc(InHex);
    if(TempChar == ':')
    {
        for(i=0;i<2;i++)
        {
          TempChar = fgetc(InHex);
	        if(i==0) Length = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) << 4;
	        if(i==1) Length = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) + Length;
        }
        for(i=0;i<4;i++)
        {
          TempChar = fgetc(InHex);
	        if(i==0) Addr = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) << 12;
	        if(i==1) Addr = (((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) << 8) + Addr;
	        if(i==2) Addr = (((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) << 4) + Addr;
	        if(i==3) Addr = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) + Addr;
        }

        fgetc(InHex);
        fgetc(InHex);

        for(i=0;i<Length;i++)
        {
          sub1 = Addr && 0xfffffffc;
          sub2 = Addr && 0x00000003;
          Data32[sub1].Swich = 1;
          Data32[sub1].Data8[sub2].Addr = Addr;
          TempChar = fgetc(InHex);
          Data32[sub1].Data8[sub2].Data = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30) << 4;
          Data32[sub1].Data8[sub2].Data = ((int)TempChar > 0x39 ? (int)TempChar - 0x37 : (int)TempChar - 0x30);
        }
      }
    }
}
  for(i=0;i<SIZE;i++) fprintf(OutTxt32,"@%d  %d%d%d%d",Data32[i].Addr,Data32[i].Data8[0].Data,Data32[i].Data8[1].Data,Data32[i].Data8[2].Data,Data32[i].Data8[3].Data);

  fclose(InHex);
  fclose(OutTxt32);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -