From 333b605b2afd472b823aeda0adf0e8b1ea9843c0 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Mon, 27 May 2019 02:41:51 +0100 Subject: initial commit from asl-1.41r8.tar.gz --- hex.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 hex.c (limited to 'hex.c') diff --git a/hex.c b/hex.c new file mode 100644 index 0000000..7355bf5 --- /dev/null +++ b/hex.c @@ -0,0 +1,72 @@ +/* hex.c */ +/*****************************************************************************/ +/* AS-Portierung */ +/* */ +/* Dezimal-->Hexadezimal-Wandlung, Grossbuchstaben */ +/* */ +/* Historie: 2. 6.1996 */ +/* */ +/*****************************************************************************/ + +#include "stdinc.h" +#include + +#include "hex.h" + +#define BUFFERCNT 8 + + char *HexNibble(Byte inp) +BEGIN + static char Buffers[BUFFERCNT][3],*ret; + static int z=0; + + sprintf(Buffers[z],"%01x",inp&0xf); + for (ret=Buffers[z]; *ret!='\0'; ret++) *ret=toupper(*ret); + ret=Buffers[z]; + z=(z+1)%BUFFERCNT; + return ret; +END + + char *HexByte(Byte inp) +BEGIN + static char Buffers[BUFFERCNT][4],*ret; + static int z=0; + + sprintf(Buffers[z],"%02x",inp&0xff); + for (ret=Buffers[z]; *ret!='\0'; ret++) *ret=toupper(*ret); + ret=Buffers[z]; + z=(z+1)%BUFFERCNT; + return ret; +END + + char *HexWord(Word inp) +BEGIN + static char Buffers[BUFFERCNT][6],*ret; + static int z=0; + + sprintf(Buffers[z],"%04x",inp&0xffff); + for (ret=Buffers[z]; *ret!='\0'; ret++) *ret=toupper(*ret); + ret=Buffers[z]; + z=(z+1)%BUFFERCNT; + return ret; +END + + char *HexLong(LongWord inp) +BEGIN + static char Buffers[BUFFERCNT][10],*ret; + static int z=0; + +#ifdef __STDC__ + sprintf(Buffers[z],"%08x",inp&0xffffffffu); +#else + sprintf(Buffers[z],"%08x",inp&0xffffffff); +#endif + for (ret=Buffers[z]; *ret!='\0'; ret++) *ret=toupper(*ret); + ret=Buffers[z]; + z=(z+1)%BUFFERCNT; + return ret; +END + + void hex_init(void) +BEGIN +END -- cgit v1.2.3