Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!DOCKMASTER.NCSC.MIL!TMPLee From: TMPLee@DOCKMASTER.NCSC.MIL Newsgroups: comp.sys.apple Subject: TML Pascal byte operations Message-ID: <900203022825.591625@DOCKMASTER.NCSC.MIL> Date: 3 Feb 90 02:28:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 16 Does anyone know if the updated TML Pascal handles byte and character operations better than version 1.50a? I dissassembled a little of the code 1.50a generates and even though you have something defined as a byte or a character it takes up two bytes and uses sixteen bit operands (despite the fact that the manual says that a variable of type byte is supposed to only take up one byte, admitting that a character takes up two). This includes referencing through a pointer to type byte. If you work very hard and define something as an array of packed bytes (e.g., var a:packed array [1..1] of byte) you do get the data to take up only one byte and stores ARE made in 8-bit mode (you see SEP and REP surrounding them) but data fetches are still 16 bit reads. The latter makes it quite a nuisance to do the equivalent of BASIC Peeks on $CXXX softswitch locations. (It doesn't help that inline doesn't work right either.) TMPLee@dockmaster.ncsc.mil