From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.50.50.237 with SMTP id f13mr4489536igo.5.1403455861466; Sun, 22 Jun 2014 09:51:01 -0700 (PDT) X-Received: by 10.140.36.232 with SMTP id p95mr58455qgp.6.1403455861400; Sun, 22 Jun 2014 09:51:01 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!feeder.erje.net!eu.feeder.erje.net!enother.net!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!hn18no5599584igb.0!news-out.google.com!a8ni10889qaq.1!nntp.google.com!i13no9296337qae.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 22 Jun 2014 09:51:01 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=108.69.213.73; posting-account=Rkpt4AoAAAB8fHBAe9UIH5TYP1BQ2uA2 NNTP-Posting-Host: 108.69.213.73 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <7eaee5fc-2045-4bb3-8b16-d757b54760da@googlegroups.com> Subject: Cleanest Ada way to do this? From: Mike Silva Injection-Date: Sun, 22 Jun 2014 16:51:01 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 1551 X-Received-Body-CRC: 1411283224 Xref: news.eternal-september.org comp.lang.ada:20516 Date: 2014-06-22T09:51:01-07:00 List-Id: I'd like some help on the cleanest, or most elegant, way to do this in Ada.= I'm writing to an LCD character display, in 4-bit mode, which requires wr= iting an 8 bit character or command value as two 4 bit pieces. The port (a= memory address) being written to is 32 bits wide. What I would like to be= able to do is some form of this (not valid Ada, I know): Port32(4..7) :=3D Some_Char(4..7); ..twiddle some other control bits.. Port32(4..7) :=3D Some_Char(0..3); ..twiddle some other control bits.. Any thoughts?