OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [branches/] [newlib/] [newlib/] [libgloss/] [mcore/] [putnum.c] - Blame information for rev 1777

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 56 joel
/* putnum.c -- put a hex number on the output device.
2
 *
3
 * Copyright (c) 1995, 1999 Cygnus Support
4
 *
5
 * The authors hereby grant permission to use, copy, modify, distribute,
6
 * and license this software and its documentation for any purpose, provided
7
 * that existing copyright notices are retained in all copies and that this
8
 * notice is included verbatim in any distributions. No written agreement,
9
 * license, or royalty fee is required for any of the authorized uses.
10
 * Modifications to this software may be copyrighted by their authors
11
 * and need not follow the licensing terms described here, provided that
12
 * the new terms are clearly indicated on the first page of each file where
13
 * they apply.
14
 */
15
#include "glue.h"
16
 
17
/*
18
 * putnum -- print a 32 bit number in hex
19
 */
20
void
21
_DEFUN (_putnum, (num),
22
        unsigned int num)
23
{
24
  char  buf[9];
25
  int   cnt;
26
  char  *ptr;
27
  int   digit;
28
 
29
  ptr = buf;
30
  for (cnt = 7 ; cnt >= 0 ; cnt--) {
31
    digit = (num >> (cnt * 4)) & 0xf;
32
 
33
    if (digit <= 9)
34
      *ptr++ = (char) ('0' + digit);
35
    else
36
      *ptr++ = (char) ('a' - 10 + digit);
37
  }
38
 
39
  *ptr = (char) 0;
40
  print (buf);
41
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.