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.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, INVALID_MSGID,XPRIO autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,407c579dbfad5c2c,start X-Google-Attributes: gid103376,public From: "Philippe Bourzeix" Subject: Parallel Port Date: 2000/03/19 Message-ID: <172B4.2690$wl2.12638330@nnrp4.proxad.net>#1/1 X-Deja-AN: 599475675 X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: abuse@proxad.net X-Trace: nnrp4.proxad.net 953462333 213.228.26.99 (Sun, 19 Mar 2000 11:38:53 MET) Organization: Guest of ProXad - France X-MSMail-Priority: Normal NNTP-Posting-Date: Sun, 19 Mar 2000 11:38:53 MET Newsgroups: comp.lang.ada Date: 2000-03-19T00:00:00+00:00 List-Id: I have already asked some questions, but i would like to know why this program works on Alsys and not on objectada : with Text_Io; with System; with Unchecked_Conversion; use Text_Io, System; procedure Lcd is ------------------------------------- -- Definition du type bit et octet -- ------------------------------------- type Bit is new Boolean; for Bit'Size use 1; type Octet is array (1..8) of Bit; pragma Pack (Octet); ----------------------------- -- fonction de convertion -- ----------------------------- subtype Entier_8_bits is Short_Short_Integer; package Es_Entier_8_bits is new Text_Io.Integer_Io(Entier_8_bits); use Es_Entier_8_bits; function Octet_Entier is new Unchecked_Conversion (Octet,Entier_8_bits); function Entier_Octet is new Unchecked_Conversion (Entier_8_bits,Octet); function Integer_Address is new Unchecked_Conversion (Integer,Address); ------------------------------ -- Clause sur les addresses -- ------------------------------ Registre_1, Registre_2, Registre_3 : Octet ; for Registre_1 use at Integer_Address(16#378#); -- Parallel port address for Registre_2 use at Integer_Address(16#379#); for Registre_3 use at Integer_Address(16#37A#); ------------------- -- Fonctions LCD -- ------------------- function Dico (Caractere : in Character) return Octet is begin return Entier_Octet(Character'Pos(Caractere)); end Dico; procedure Ecrire (Caractere : in Character) is begin Registre_1:=Dico(Caractere); Registre_2:=Entier_Octet(2#0000_0000#); Registre_3:=Entier_Octet(2#0000_0000#); end Ecrire; procedure Ligne_Suivante is begin null; end Ligne_Suivante; procedure Verif is begin Put_Line("registre 1 =" & Entier_8_bits'Image(Octet_Entier(Registre_1))); Put_Line("registre 2 =" & Entier_8_bits'Image(Octet_Entier(Registre_2))); Put_Line("registre 3 =" & Entier_8_bits'Image(Octet_Entier(Registre_3))); end Verif; begin Verif; Ecrire('A'); Put_Line("Ordre d'ecriture : A"); Verif; Ecrire('a'); Put_Line("Ordre d'ecriture : a"); Verif; end Lcd;