## Sunday, May 29, 2022

### HP 42S/DM42: Base Programs

HP 42S/DM42:   Base Programs

Unsigned NOT

The program UNOT applies a NOT to a binary integer (flips zeros to ones and ones to zeros) using unsigned binary integers.  The number of bits (size) is prompted.

HP 42S/DM42 Program UNOT

00  {40-Byte Prgm}

01  LBL "UNOT"

02  BINM

03  "BIN?"

04  PROMPT

05  STO 01

06  EXITALL

07  "SIZE?"

08  PROMPT

09  STO 02

10  2

11  X<>Y

12  Y↑X

13  RCL- 01

14  STO 02

15  1

16  -

17  BINM

18  END

Examples:

Unsigned NOT of 10100, size 5:  1011  (01011)

Unsigned NOT of 10100, size 8:  11101011

Shift Left

Makes a binary integer shift left: a zero is added to the right side of the integer and "drops" off the left most digit.  The number of bits (size) is prompted.  The binary number is assumed to be non-negative.

HP 42S/DM42 Program SL16

00  {35-Byte Prgm}

01  LBL "SL16"

02  BINM

03  "BIN?"

04  PROMPT

05  EXITALL

06  2

07  ×

08  "SIZE?"

09  PROMPT

10  2

11  X<>Y

12  Y↑X

13  MOD

14  BINM

15  END

Examples:

Shift Left:  10100, size 5:  1000   (01000)

Shift Left:  10100, size 8:  101000  (00101000)

Shift Right (Logical)

Makes a binary integer shift right: a zero is added to the left side of the integer and "drops" off the left most digit.  The binary number is assumed to be non-negative. A logical shift right divides an integer by 2 and taking the integer result.

HP 42S/DM42 Program SR16

00  {24-Byte Prgm}

01  LBL "SR16"

02  BINM

03  "BIN?"

04  PROMPT

05  EXITALL

06  2

07  ÷

08  IP

09  BINM

10  END

Examples:

Shift Right:  10100:  1010

Shift Right:  1010:  101

The next two programs deals with RGB and HEX codes for computer colors.

HP 42S/DM42 Program CLR→:   RBG to Hexadecimal Code

00  {51-Byte Prgm}

01  LBL "CLR→"

02  DECM

03  "RED?"

04  PROMPT

05  65536

06  BASE×

07  "GREEN?"

08  PROMPT

09  256

10  BASE×

11  BASE+

12  "BLUE?"

13  PROMPT

14  BASE+

15  HEXM

16  END

Example:

Red: 221, Green: 80, Blue 109

Result:  HEX Code:  DD506D

HP 42S/DM42 Program  →CLR:   Hexadecimal to RGB Code

00  {63-Byte Prgm}

01  LBL "→CLR"

02  HEXM

03  "HEX CODE?"

04  PROMPT

05  STO 00

06  DECM

07  65536

08  BASE÷

09  STOP   // Red

10  65536

11  BASE×

12  RCL 00

13  X<>Y

14  BASE-

15  STO 00

16  256

17  BASE÷

18  STOP   // Green

19  256

20  BASE×

21  RCL 00

22  X<>Y

23  BASE-

24  END

Example:

HEX Code:  103E22

Result:  Red:  16, Green:  62,  Blue:  34

Eddie

All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

### Texas Instruments: TI-36X Pro and TI-30X Pro Mathprint

Essentially, the Texas Instruments TI-36X Pro and the TI-30X MathPrint are functionally equivalent.  What makes the two calculators differe...