[Info-vax] VAX BASIC global variables.
Dave Froble
davef at tsoft-inc.com
Fri Oct 15 21:08:46 EDT 2021
On 10/15/2021 8:18 PM, Arne Vajhøj wrote:
> On 10/15/2021 4:37 PM, Dave Froble wrote:
>> On 10/15/2021 3:13 PM, Arne Vajhøj wrote:
>>> On 10/15/2021 3:03 PM, Dave Froble wrote:
>>>> On 10/15/2021 12:56 PM, Arne Vajhøj wrote:
>>>>> This does not look good:
>>>>>
>>>>> program hack
>>>>> common (mydata) long a(2)
>>>>> call s
>>>>> print a(0),a(1)
>>>>> end program
>>>>>
>>>>> sub s
>>>>> common (mydata) word a(4)
>>>>> a(0) = 1
>>>>> a(1) = 1
>>>>> a(2) = 2
>>>>> a(3) = 2
>>>>> end sub
>>>>
>>>> In Arne's example, the linker will allocate space for the 4 element array,
>>>> but the main program will not be able to address a(3).
>>>
>>> It runs fine.
>>>
>>> And outputs exactly what I expected.
>>>
>>> $ bas hack
>>> $ lin hack
>>> $ run hack
>>> 65537 131074
>>>
>>> (which is 00010001 and 00020002 in hex)
>>>
>>> But definitely not nice.
>>
>> I see my reading skills are deteriorating, like the rest of me. I missed the
>> LONG vs WORD. I thought you were defining different size common blocks.
>
> N. I was doing different types.
>
>> And a(4) is a 5 element array, not 4 as I stated elsewhere.
>
> Ah. So it should have been a(1) and a(3). Not totally like Fortran.
>
> Arne
>
>
One can set upper and lower bounds on an array. I never have.
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list