hexdump.cpp

来自「eC++编译器源码」· C++ 代码 · 共 40 行

CPP
40
字号
#pragma HexDump
#include <SYSTEM.h>
#include <InOut.h>
#include <Character.h>
typedef unsigned int CARDINAL;
  void print(char chr)
  {
    if (Printable(chr)) {
      Write(chr);
    } else {
      Write('.');
    };
  };

  void Dump(WORD &what[])
  {
    unsigned int i, j;
    for (i=0; i<=HIGH(what); i++) {
      if ((i % 8) == 0) {
        if (i != 0) {
          for (j=i-8; j<=i-1; j++) {
            Write(' ');
            print(CHR(CARDINAL(what[j]) / 256));
            print(CHR(CARDINAL(what[j]) % 256));
          };
          WriteLn();
        };
        WriteHex(i*2,4);   /*make it a byte address*/
      };
      WriteHex(CARDINAL(what[i]),5);
    };
    for (j=HIGH(what)-(HIGH(what) % 8); j<=HIGH(what); j++) {
      Write(' ');
      print(CHR(CARDINAL(what[j]) / 256));
      print(CHR(CARDINAL(what[j]) % 256));
    };
    WriteLn()
  };

⌨️ 快捷键说明

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