HEXPRINT.txt
Warning: if you clip this code into your program, look out for possible html code slipping in.
REM HEXPRINT.TXT REM REM This file contains routines useful for printing integers in hexadecimal REM format. REM REM Author: Steven R. Wheeler REM REM Copyright 1998-1999 Vesta Technology, Inc. REM All rights reserved. REM REM Revision history: REM Feb 4, 1999 REM Modified to use BYTE values where appropriate. REM Aug 6, 1999 REM Corrected bug with printing of -1 (FFFF). Removed local variable REM from HexDigit() to improve stack usage. REM The subroutines in this file are declared VITAL so that they can be used REM within event handlers. VITAL SUBROUTINE HexDigit( val AS BYTE) val = (val AND 15) IF val > 9 val = val + 7 ENDIF PRINT CHR(val + '0') END REM The two-stage division and AND are done so that negative values get REM printed correctly. VITAL SUBROUTINE PrintHex( val AS INTEGER) LOCAL value AS INTEGER IF val < 0 value = ((val AND 0x7FFF) / 2) OR 0x4000 ELSE value = val / 2 ENDIF HexDigit( value / 0x0800 ) HexDigit( value / 0x0080 ) HexDigit( value / 0x0008 ) HexDigit( val ) END