Nevertheless a word of explanation is indicated. It seems the opportunity for confusion arises from the double use of the equal sign.
Without looking it up and entirely from memory, I could explain it as follows: The first equal sign is because BINTVL is a keyword operand of the STIMER macro - as opposed to REAL which is a positional operand. The second equal sign is a bit subtle. This is a use of an assembler facility, a literal, whereby a constant which requires to be defined in a storage area can be specified in the instruction where it is used. The constant in the form of a literal, which would otherwise appear as something like FIVESEC DC A(5*100) can be specified in a macro operand if, when used within the macro and extracted from that operand to create an instruction, it "looks" just the same as if the literal had been used on the instruction. I expect within the macro there is probably a load instruction and the second field of the instruction is the value of the BINTVL operand, for example L 1,=A(5*100) Where are those literals to be found? Well a tidy programmer - or one who needs to pay attention to addressing requirements in a largish program - will introduce a LTORG assembler statement somewhere in the sequence of instructions where constants will not "get in the way", perhaps following an unconditional branch and typically near the end of a smallish source program module. If the programmer "forgets" I vaguely remember that the assembler has to tidy up for him/her by dealing with accumulated literals when the END statement is encountered. The constant could also have been defined as FIVESEC DC F'500' for example, but I think I adopted the A-form rather than the F-form of defining a full-word numerical constant because brackets printed more quickly than quotes on a 1403-N1 printer - what trivia one recalls! Personally, during my long career - my assembler class was in 1967 - with occasional bursts of assembler writing, quite early on I made myself a personal standard never to use literals since they led to untidiness. Also, talking about "smallish" and "largish" above in connection with assembler programs and standards I set myself, I decided that the sign of an assembler module which had become too large was one which could not be written with a single base register. In a sense these two "standards" cancelled each other out since, with the second standard, I could have happily used literals and let them be "rolled out" after the END statement without having to worry about exceeding the capacity of a single base register - most of the time! Come to think of it, there's another subtlety in the use of the asterisk for multiplication. Is it that the value corresponding to the BINTVL operand is in hundredths of a second so that specifying 5*100 emphasises this point, that is, it makes it clear that we want a 5 second delay? This is a calculation which the assembler does so that the value actually stored is 500. Chris Mason Normally, the "Original Message" from Gerhard Postpischil would appear here. Unfortunately, the list server has taken exception to "excessive amount of quoted material from previous posts" for whatever reason so I have been obliged to omit it all - on the fifth attempt! ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

