|
Scott,
You can use BITON and BITOF to emulate the logical operators OR AND and XOR
much more efficiently than that. You don't need to do a TESTB or use
indicators. Assume the operands are in single byte fields A and B and you
want the result in field C without altering A or B.
To perform OR:
C MOVE A C 1
C BITONB C
To perform AND:
C MOVE A C 1
C MOVE A X 1
C BITOFB X
C BITOFX C
To perform XOR:
C MOVE A C 1
C MOVE B X 1
C BITOFA X
C BITOFB C
C BITONX C
Still not as efficient as directly implemented operations, but not bad.
Dave Kahn
Johnson & Johnson International (Ethicon) France
Phone : +33 1 55 00 3180
Email : dkahn1@jnjfr.jnj.com (work)
dkahn@cix.co.uk (home)
-----Message d'origine-----
De: Scott Klement [mailto:infosys@klements.com]
Date: 06 August 1999 06:43
À: RPG400-L@midrange.com
Objet: Re: Humorous Enhancements
YES!!! YES!!! We need some real bitwise operations.
(this probably doesn't surprise you coming from me)
I've had to write special routines that go through a string of
bytes, check every single bit with TESTB, compare it against the
same bit pos in a different string, and finally do a manual XOR.
(by checking the result indicators of testb) and then finally
using BITON to set the string of bytes to the result.
Doesnt perform real well when compared to a real XOR operation.
I'm sure the CPU can do XOR at the machine code level... so it seems
silly to have to go that far to make an XOR. :)
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---END
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.