Re: Introducing delay in a assembler.
-Thanks to all , Now I am getting it right. Regards, Jerry -- 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
Re: Introducing delay in a assembler.
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
Re: Introducing delay in a assembler.
john gilmore wrote: There is a typo---perhaps a reflection of too much C---here. | STIMER REAL,BINTVL==5*100 should be | STIMER REAL,BINTVL=5*100 No, you just read it wrong. The above will assemble, but use the value of the word at location 500 as a delay. I had >> STIMER REAL,BINTVL==A(5*100) and I meant it. BTW, I don't do C. Gerhard Postpischil Bradford, VT -- 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
Re: Introducing delay in a assembler.
There is a typo---perhaps a reflection of too much C---here. | STIMER REAL,BINTVL==5*100 should be | STIMER REAL,BINTVL=5*100 In my pedantic fashion I prefer |&five_secs seta 5*100 --BINTVL unit is 1/100 sec | STIMER REAL,BINTVL=&five_secs John Gilmore Ashland, MA 01721-1817 USA From: Gerhard Postpischil <[EMAIL PROTECTED]> Reply-To: IBM Mainframe Discussion List To: IBM-MAIN@BAMA.UA.EDU Subject: Re: Introducing delay in a assembler. Date: Fri, 25 Nov 2005 08:54:56 -0500 Jerry Ragland wrote: In my assembler program I need to introduce a wait or delay for 5 seconds. Is there any macro for doing it. I guess there is a WAIT macro but I dont know how to use it. Is WAIT macro intended for that purpose ? Even when I introduced the wait macro, I get a compilation error stating ECBLIST required. But I am not using any ECBs in my program and I don't have the knowledge of ECBs too. Please help me in this situation. All I need is very simple, in the middle of my program execution I need to introduce a WAIT of few seconds. How to acheive this.. WAIT specifically delays until an event is complete, as denoted by POSTing an ECB. ECBLIST is used to specify more than one ECB. For a simple delay, try: STIMER REAL,BINTVL==A(5*100) BINTVL specifies that the requested interval is in units of 1/100th of a second, so 5*100 gives you 5 second. Please note that you may be delayed for more than five seconds if your system is heavily loaded; the request only enables your program to run after five seconds, but does not guarantee that it will be dispatched. Gerhard Postpischil Bradford, VT -- 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 _ FREE pop-up blocking with the new MSN Toolbar get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ -- 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
Re: Introducing delay in a assembler.
Hi James, > Thanks for ur reply. > But I get a compilation error which states- > 18 STIMER WAIT,BINTVL=VACATION > ASMA141E Bad character in operation code - WAIT,BINTVL=VACATION First, what level of HLASM are you running? Or the operating system release? Second, have you reviewed the Assembler Services Reference book: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea1a741/CCONTENT S I would also like to see the snippets of the generated code for the STIMER instruction and your BINTVL=VACATION instruction. That way we could see what was actually generated by your system. Provide the output a couple of lines before and after the area of interest. Hope this helps, Lizette Koehler -- 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
Re: Introducing delay in a assembler.
"Jerry Ragland" <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>... > Hi James, > > Thanks for ur reply. > But I get a compilation error which states- > 18 STIMER WAIT,BINTVL=VACATION > ASMA141E Bad character in operation code - WAIT,BINTVL=VACATION > > Thanks, > Jerry. > The opcode must be STIMER,not WAIT. Apparently STIMER is a label, move it to pos. 10. LABELxx STIMER WAIT,BINTVL=VACATION Kees. ** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. ** -- 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
Re: Introducing delay in a assembler.
Hi James, Thanks for ur reply. But I get a compilation error which states- 18 STIMER WAIT,BINTVL=VACATION ASMA141E Bad character in operation code - WAIT,BINTVL=VACATION Thanks, Jerry. -- 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
Re: Introducing delay in a assembler.
> STIMER WAIT,BINTVL=VACATION > > VACATION DCF'500' HUNDRETHS OF SECONDS FOR STIMER (5 SECS) I prefer longer lasting vacations ;-) Peter Hunkeler Credit Suisse - Information Technology -- 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
Re: Introducing delay in a assembler.
Jerry Ragland wrote: In my assembler program I need to introduce a wait or delay for 5 seconds. Is there any macro for doing it. I guess there is a WAIT macro but I dont know how to use it. Is WAIT macro intended for that purpose ? Even when I introduced the wait macro, I get a compilation error stating ECBLIST required. But I am not using any ECBs in my program and I don't have the knowledge of ECBs too. Please help me in this situation. All I need is very simple, in the middle of my program execution I need to introduce a WAIT of few seconds. How to acheive this.. WAIT specifically delays until an event is complete, as denoted by POSTing an ECB. ECBLIST is used to specify more than one ECB. For a simple delay, try: STIMER REAL,BINTVL==A(5*100) BINTVL specifies that the requested interval is in units of 1/100th of a second, so 5*100 gives you 5 second. Please note that you may be delayed for more than five seconds if your system is heavily loaded; the request only enables your program to run after five seconds, but does not guarantee that it will be dispatched. Gerhard Postpischil Bradford, VT -- 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
RES: Introducing delay in a assembler.
Jerry, Take a look in STIMER macro. Atenciosamente / Regards / Saludos Ituriel do Nascimento Neto Banco Bradesco S/A 4254/DPCD Alphaville Suporte Técnico - Software Básico Mainframes Tel: 55 11 4197-2021 Fax: 55 11 4197-2814 >-Mensagem original- >De: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] nome >de Jerry Ragland >Enviada em: sexta-feira, 25 de novembro de 2005 10:44 >Para: IBM-MAIN@BAMA.UA.EDU >Assunto: Introducing delay in a assembler. > > >Hi all, > >In my assembler program I need to introduce a wait or delay for 5 seconds. > Is there any macro for doing it. I guess there is a WAIT macro but I dont >know how to use it. Is WAIT macro intended for that purpose ? Even when I >introduced the wait macro, I get a compilation error stating ECBLIST >required. But I am not using any ECBs in my program and I don't have the >knowledge of ECBs too. > >Please help me in this situation. All I need is very simple, in the middle >of my program execution I need to introduce a WAIT of few seconds. How to >acheive this.. > > >Thanks in advance, >Jerry. AVISO LEGAL Esta mensagem é destinada exclusivamente para a(s) pessoa(s) a quem é dirigida, podendo conter informação confidencial e/ou legalmente privilegiada. Se você não for destinatário desta mensagem, desde já fica notificado de abster-se a divulgar, copiar, distribuir, examinar ou, de qualquer forma, utilizar a informação contida nesta mensagem, por ser ilegal. Caso você tenha recebido esta mensagem por engano, pedimos que nos retorne este E-Mail, promovendo, desde logo, a eliminação do seu conteúdo em sua base de dados, registros ou sistema de controle. Fica desprovida de eficácia e validade a mensagem que contiver vínculos obrigacionais, expedida por quem não detenha poderes de representação. +**+ LEGAL ADVICE This message is exclusively destined for the people to whom it is directed, and it can bear private and/or legally exceptional information. If you are not addressee of this message, since now you are advised to not release, copy, distribute, check or, otherwise, use the information contained in this message, because it is illegal. If you received this message by mistake, we ask you to return this email, making possible, as soon as possible, the elimination of its contents of your database, registrations or controls system. The message that bears any mandatory links, issued by someone who has no representation powers, shall be null or void. -- 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
Re: Introducing delay in a assembler.
STIMER WAIT,BINTVL=VACATION VACATION DCF'500' HUNDRETHS OF SECONDS FOR STIMER (5 SECS) I love the easy ones. j -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Ragland Sent: Friday, November 25, 2005 8:44 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Introducing delay in a assembler. Hi all, In my assembler program I need to introduce a wait or delay for 5 seconds. Is there any macro for doing it. I guess there is a WAIT macro but I dont know how to use it. Is WAIT macro intended for that purpose ? Even when I introduced the wait macro, I get a compilation error stating ECBLIST required. But I am not using any ECBs in my program and I don't have the knowledge of ECBs too. Please help me in this situation. All I need is very simple, in the middle of my program execution I need to introduce a WAIT of few seconds. How to acheive this.. Thanks in advance, Jerry. -- 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 -- 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
Introducing delay in a assembler.
Hi all, In my assembler program I need to introduce a wait or delay for 5 seconds. Is there any macro for doing it. I guess there is a WAIT macro but I dont know how to use it. Is WAIT macro intended for that purpose ? Even when I introduced the wait macro, I get a compilation error stating ECBLIST required. But I am not using any ECBs in my program and I don't have the knowledge of ECBs too. Please help me in this situation. All I need is very simple, in the middle of my program execution I need to introduce a WAIT of few seconds. How to acheive this.. Thanks in advance, Jerry. -- 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