HP Forums
(41C) Decimal Bitwise Operations - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: HP-41C Software Library (/forum-11.html)
+--- Thread: (41C) Decimal Bitwise Operations (/thread-15235.html)



(41C) Decimal Bitwise Operations - Eddie W. Shore - 06-21-2020 01:47 PM

The document covers the following operations:

NOT: for integers
AND: for positive integers
OR: for positive integers
XOR: for positive integers
Simple conversions between Binary and Decimal bases (integers up to 1023)

No extra or additional modules required. Should work for the Swiss Micros DM41 and any emulators.

Download the PDF here: https://drive.google.com/file/d/1g7fhB4ehH0CNMizKOGpZ7bJTcLfBIVUA/view?usp=sharing


RE: (41C) Decimal Bitwise Operations - Thomas Klemm - 07-04-2022 06:04 AM

Binary to Decimal Conversions

These programs are based on: (11C) Base Conversion
Only from-base and to-base are replaced by constant values.
An explanation can be found here and there.

Binary to Decimal:
Code:
  01 LBL "B-D"
  02 STO 00
  03 8
  04 X<>Y
  05 LBL 00
  06 2
  07 X<>Y
  08 10
  09 /
  10 INT
  11 X=0?
  12 GTO 01
  13 RDN
  14 *
  15 RDN
  16 *
  17 ST- 00
  18 RDN
  19 GTO 00
  20 LBL 01
  21 RCL 00
  22 END

Decimal to Binary:
Code:
  01 LBL "D-B"
  02 STO 00
  03 8
  04 X<>Y
  05 LBL 00
  06 10
  07 X<>Y
  08 2
  09 /
  10 INT
  11 X=0?
  12 GTO 01
  13 RDN
  14 *
  15 RDN
  16 *
  17 ST+ 00
  18 RDN
  19 GTO 00
  20 LBL 01
  21 RCL 00
  22 END

Examples

11011
XEQ B-D

27


110
XEQ D-B

1101110


This variant based on a program for the HP-25 saves one byte:
Code:
  01 LBL "B-D"
  02 STO 00
  03 8
  04 X<>Y
  05 LBL 00
  06 10
  07 /
  08 INT
  09 X=0?
  10 GTO 01
  11 X<>Y
  12 ENTER^
  13 ENTER^
  14 +
  15 RDN
  16 *
  17 ST- 00
  18 RDN
  19 GTO 00
  20 LBL 01
  21 RCL 00
  22 END