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

📄 ut2_hexdmp.c

📁 小型操作系统,以VC为开发环境,需要boachs调试
💻 C
字号:
/***************************************************************************
**     File name   : ut2_hexdmp.c
**     Author      : x.cheng
**     Create date :
**
**	   Comment:
**        vHexDump() defined in this file...
**
**     Revisions:
**     $Log: ut2_hexdmp.c,v $
**     Revision 1.1.1.1  2005/07/27 06:53:15  x.cheng
**     add into repositories
**
**
***************************************************************************/
#include "const.h"
#include "type.h"
#include "stdarg.h"

#include "..\..\Inc\debug.h"
#include "..\inc\def_util.h"

/************************************************************
*************************************************************
**      Function Name:			HexDump
**      Author:                 x.cheng
**
**      Comment:
**			vHexDump on screen
**
**      List of parameters:
**			
**
**      Return value:   
**          no
**
**      Revisions:
**
*************************************************************
*************************************************************/
void HexDump(unsigned char *pszBuffer, unsigned short uiLen)
{
	int iCntScreen;
	int i, j;
	int iLine;

	kprintf("\ndump memory from: %p, size %d\n", pszBuffer, uiLen);
	for (iCntScreen=0; iCntScreen<=(uiLen/(23*16)); iCntScreen++){
		iLine = 0;
		/*一屏幕一屏幕显示---23行一屏幕*/
		kprintf(" offset   0  1  2  3  4  5  6  7    8  9  A  B  C  D  E  F *0123456789ABCDEF*\n");
		for (i=(iCntScreen*23*16); i<(((iCntScreen+1)*23*16)>uiLen?uiLen:((iCntScreen+1)*23*16)); i+=16) {
			kprintf("%p ", pszBuffer+i-pszBuffer);
			kprintf("%02X %02X %02X %02X %02X %02X %02X %02X - %02X %02X %02X %02X %02X %02X %02X %02X ", 
				pszBuffer[i], pszBuffer[i+1], pszBuffer[i+2], pszBuffer[i+3], pszBuffer[i+4], pszBuffer[i+5],
				pszBuffer[i+6], pszBuffer[i+7], pszBuffer[i+8], pszBuffer[i+9], pszBuffer[i+10], pszBuffer[i+11],
				pszBuffer[i+12], pszBuffer[i+13], pszBuffer[i+14], pszBuffer[i+15]);
			kprintf(" ");
			for (j=0; j<16; j++) {
				if ( pszBuffer[i+j] < ' ' || (pszBuffer[i+j] > 'z') )
					kprintf("%c", '.');
				else kprintf("%c", pszBuffer[i+j]);
			}
			kprintf("\n");
			iLine++;
				
		}
//		for (j=iLine; j<23; j++)
//			kprintf("\n");
		WaitKeyPressed("Press any key to continue...\n");
		//暂停.....

	}
}

⌨️ 快捷键说明

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