[Info-vax] Possible VMS jobs - City of New York Fire Dept
Dave Froble
davef at tsoft-inc.com
Mon Oct 28 15:55:43 EDT 2019
On 10/28/2019 1:16 PM, VAXman- at SendSpamHere.ORG wrote:
> In article <qp72ua$f7$1 at dont-email.me>, Dave Froble <davef at tsoft-inc.com> writes:
>> On 10/28/2019 12:27 PM, VAXman- at SendSpamHere.ORG wrote:
>>> In article <qp5jln$4j2$1 at dont-email.me>, Dave Froble <davef at tsoft-inc.com> writes:
>>>> On 10/27/2019 11:13 AM, VAXman- at SendSpamHere.ORG wrote:
>>>>> In article <qp2ng8$ro7$1 at dont-email.me>, Dave Froble <davef at tsoft-inc.com> writes:
>>>>>> On 10/26/2019 6:26 PM, Michael Moroney wrote:
>>>>>>
>>>>>>> Port VMS code from VAX to Itanium, just recompile and relink, right? HAHAHA,
>>>>>>
>>>>>> Well, for some it was just that simple, or at least not too bad.
>>>>>>
>>>>>> The biggest problem we ran into is that on VAX we were incrementing the
>>>>>> AP as we read the arguments. Macro-32 compiler didn't like that. The
>>>>>> fix was rather simple.
>>>>>
>>>>> Home the arguments.
>>>>>
>>>>
>>>> Sorry, don't understand that ..
>>>
>>> Perhaps, an example...
>>>
>>> .TITLE INCREMENT_AP_TEST
>>>
>>> .PSECT DATA,WRT,NOEXE,5
>>> ONE: .ASCID "ONE"
>>> .ALIGN QUAD
>>> TWO: .ASCID "TWO"
>>> .ALIGN QUAD
>>> THREE: .ASCID "THREE"
>>> .ALIGN QUAD
>>> FOUR: .ASCID "FOUR"
>>> .ALIGN QUAD
>>> FIVE: .ASCID "FIVE"
>>> .ALIGN QUAD
>>> SIX: .ASCID "SIX"
>>> .ALIGN QUAD
>>> SEVEN: .ASCID "SEVEN"
>>> .ALIGN QUAD
>>> EIGHT: .ASCID "EIGHT"
>>> .ALIGN QUAD
>>> NINE: .ASCID "NINE"
>>> .ALIGN QUAD
>>> TEN: .ASCID "TEN"
>>>
>>> .PSECT CODE,NOWRT,EXE,5
>>> .ENTRY GO,0
>>>
>>> PUSHAL ONE
>>> PUSHAL TWO
>>> PUSHAL THREE
>>> PUSHAL FOUR
>>> PUSHAL FIVE
>>> PUSHAL SIX
>>> PUSHAL SEVEN
>>> PUSHAL EIGHT
>>> PUSHAL NINE
>>> PUSHAL TEN
>>> CALLS #10,OUTPUT
>>> RET
>>> .END GO
>>>
>>> .TITLE INCREMENT_AP_EXAMPLE
>>>
>>> .PSECT CODE,NOWRT,EXE,5
>>> .CALL_ENTRY HOME_ARGS=TRUE,LABEL=OUTPUT,MAX_ARGS=15
>>>
>>> MOVAL (AP),R12
>>> JSB 100$
>>> RET
>>>
>>> 100$: .JSB_ENTRY
>>> PUSHL R2
>>> MOVL (AP)+,R2
>>> 200$: PUSHL (AP)+
>>> CALLS #1,G^LIB$PUT_OUTPUT
>>> SOBGTR R2,200$
>>> POPL R2
>>> RSB
>>> .END
>>>
>>
>> Ok, I see.
>>
>> Please take no offense Brian, but it's "fancy" stuff like that I try to
>> avoid.
>>
>> We had:
>>
>> TSTL (AP)+ ; Skip argument count
>> MOVL @(AP)+,R2 ; Channel number
>> MOVL (AP)+,R3 ; Address of desc. of file spec.
>> MOVL @(AP)+,R4 ; MBC
>> MOVL @(AP)+,R5 ; Open mode
>>
>> And modified to:
>>
>> MOVL @4(AP),R2 ; Channel number
>> MOVL 8(AP),R3 ; Address of desc. of file spec.
>> MOVL @12(AP),R4 ; MBC
>> MOVL @16(AP),R5 ; Open mode
>>
>> My Macro-32 has always been as simple and straight forward as I could
>> keep it. Might keep John happy.
>>
>
> What I did can be neatly hidden in a macro and conditionally invoked. ;)
>
The key word there is "hidden".
I'll admit, I had to work through your example, and I did so because I
knew what you were doing. If not, and I saw that code, I think I'd be
lost. To then have it hidden, I'd really be lost.
No, I'm not the best of Macro-32 programmers.
--
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