debug.c

来自「基于4个mips核的noc设计」· C语言 代码 · 共 105 行

C
105
字号
/* This file is debug.c   Copyright 1987, 1988, 1989, 1990, 1991, 1992, 2000   Free Software Foundation, Inc.   This file is part of GAS, the GNU Assembler.   GAS is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2, or (at your option)   any later version.   GAS is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with GAS; see the file COPYING.  If not, write to   the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  *//* Routines for debug use only.  */#include "as.h"#include "subsegs.h"dmp_frags (){  frchainS *chp;  char *p;  for (chp = frchain_root; chp; chp = chp->frch_next)    {      switch (chp->frch_seg)	{	case SEG_DATA:	  p = "Data";	  break;	case SEG_TEXT:	  p = "Text";	  break;	default:	  p = "???";	  break;	}      printf ("\nSEGMENT %s %d\n", p, chp->frch_subseg);      dmp_frag (chp->frch_root, "\t");    }}dmp_frag (fp, indent)     struct frag *fp;     char *indent;{  for (; fp; fp = fp->fr_next)    {      printf ("%sFRAGMENT @ 0x%x\n", indent, fp);      switch (fp->fr_type)	{	case rs_align:	  printf ("%srs_align(%d)\n", indent, fp->fr_offset);	  break;	case rs_fill:	  printf ("%srs_fill(%d)\n", indent, fp->fr_offset);	  printf ("%s", indent);	  var_chars (fp, fp->fr_var + fp->fr_fix);	  printf ("%s\t repeated %d times,", indent, fp->fr_offset);	  printf (" fixed length if # chars == 0)\n");	  break;	case rs_org:	  printf ("%srs_org(%d+sym @0x%x)\n", indent,		  fp->fr_offset, fp->fr_symbol);	  printf ("%sfill with ", indent);	  var_chars (fp, 1);	  printf ("\n");	  break;	case rs_machine_dependent:	  printf ("%smachine_dep\n", indent);	  break;	default:	  printf ("%sunknown type\n", indent);	  break;	}      printf ("%saddr=%d(0x%x)\n", indent, fp->fr_address, fp->fr_address);      printf ("%sfr_fix=%d\n", indent, fp->fr_fix);      printf ("%sfr_var=%d\n", indent, fp->fr_var);      printf ("%sfr_offset=%d\n", indent, fp->fr_offset);      printf ("%schars @ 0x%x\n", indent, fp->fr_literal);      printf ("\n");    }}var_chars (fp, n)     struct frag *fp;     int n;{  unsigned char *p;  for (p = (unsigned char *) fp->fr_literal; n; n--, p++)    {      printf ("%02x ", *p);    }}/* end of debug.c */

⌨️ 快捷键说明

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