Re: Optable option of disassembler
Tony Harminc wrote: It's useful to limit the opcodes understood, because the disassembler (any disassembler for this architecture - not just IBM's) is less than perfect at understanding what is code and what is data. If you know something about the module you are working on (typically it is some legacy lost-source thing written some time ago), then it is better to have things that could not be code in that particular module shown as data rather than bogus instructions. ASMDASM does allow you to tell it that an area is code-only or data-only, but often enough you don't know that in detail early in the disassembling process, and it helps not to have your work cluttered with instructions that could not have been intended in, say, 1987. Responding to my question: The High level Assembler accepts and uses an OPTABLE parm which lets you limit the valid op codes to an architecture level such as XA or 370 (and optionally list the valid OP codes at that level). The Disassembler (ASMDASM) has a comparable ÓPTABLE option which Specifies the operation code table to be used in disassembling CSECTs. Except the ASMDASM we are using - no version shown, but linked 06.125 WITH Identify data of UK09726 - does not limit the op codes generated, or even check for a valid parameter. Is there a later version which has this function, or am I missing something? Tony expressed my view of the problem very well - sorry I didn't. Typically when we use the Disassembler it is for very old code. But since there is in fact an OPTABLE parameter documented, that suggests IBM also sees the need for the feature. My question remains: is (or will there be) a version of the Disassembler that implements it? Gene Lynd -- 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: Optable option of disassembler
Lynd, Eugene (Contractor) (J6C) wrote: Tony expressed my view of the problem very well - sorry I didn't. Typically when we use the Disassembler it is for very old code. But since there is in fact an OPTABLE parameter documented, that suggests IBM also sees the need for the feature. My question remains: is (or will there be) a version of the Disassembler that implements it? To whom are you asking? What sort of response are you expecting? Those of us discussing mainframe-related issues on IBM-MAIN have no authoritative way of answering such questions. This type of question is best posed to the vendor -- in this case IBM -- through normal support channels. -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [EMAIL PROTECTED] http://www.phoenixsoftware.com/ -- 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: OPTABLE option of Disassembler
Craddock, Chris wrote: if it were archaic, or dead code, the length of the operands is dictated by the 1st two bits of the opcode so the disassembler would presumably skip the correct number of bytes and interpret the next instruction correctly. In other words it would get back into it's stride eventually. For some programs, eventually is a long time. In the seventies we ran a third party product named Executor; out of curiosity I looked at the way it handled expiration date checking. The author had, by judicious use of base registers and offsets, managed to create a sizable section of code containing more than a dozen interleaved instructions, i.e., the sequence of instructions branched back to start+2 and executed a separate instruction chain. And there also was a checksum check on this section of code! In general, any code that has a DS in it could lead the disassembler astray by presenting meaningless length bits, and blank data areas may generate invalid STH sequences that won't get back correctly. 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
OPTABLE option of Disassembler
The High level Assembler accepts and uses an OPTABLE parm which lets you limit the valid op codes to an architecture level such as XA or 370 (and optionally list the valid OP codes at that level). The Disassembler (ASMDASM) has a comparable ÓPTABLE option which Specifies the operation code table to be used in disassembling CSECTs. Except the ASMDASM we are using - no version shown, but linked 06.125 WITH Identify data of UK09726 - does not limit the op codes generated, or even check for a valid parameter. Is there a later version which has this function, or am I missing something? Gene Lynd -- 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: OPTABLE option of Disassembler
Lynd, Eugene (Contractor) (J6C) wrote: The High level Assembler accepts and uses an OPTABLE parm which lets you limit the valid op codes to an architecture level such as XA or 370 (and optionally list the valid OP codes at that level). The Disassembler (ASMDASM) has a comparable SPTABLE option which Specifies the operation code table to be used in disassembling CSECTs. Except the ASMDASM we are using - no version shown, but linked 06.125 WITH Identify data of UK09726 - does not limit the op codes generated, or even check for a valid parameter. Is there a later version which has this function, or am I missing something? Why would a disassembler need to limit the opcodes to be disassembled? Shouldn't it always work with the most recent list? -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [EMAIL PROTECTED] http://www.phoenixsoftware.com/ -- 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: OPTABLE option of Disassembler
Roland Schiradin wrote: doesn't make sense to me. If an instruction exists in the code the disassembler should decode them based on the latest level of possible opcodes. Why would you limit this? It's all a guess. One would typically assume that, if you're disassembling code that runs on a current processor, said code can only contain valid current instructions or get a good ol' SOCK-ONE. And even if it were archaic, or dead code, the length of the operands is dictated by the 1st two bits of the opcode so the disassembler would presumably skip the correct number of bytes and interpret the next instruction correctly. In other words it would get back into it's stride eventually. The harder part is telling the disassembler to ignore all the inline non-code crud that is peppered around typical programs. That's more art than science. CC -- 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: OPTABLE option of Disassembler
On Thu, 8 Nov 2007 13:43:23 -0600, Roland Schiradin [EMAIL PROTECTED] wrote: doesn't make sense to me. If an instruction exists in the code the disassembler should decode them based on the latest level of possible opcodes. Why would you limit this? It's useful to limit the opcodes understood, because the disassembler (any disassembler for this architecture - not just IBM's) is less than perfect at understanding what is code and what is data. If you know something about the module you are working on (typically it is some legacy lost-source thing written some time ago), then it is better to have things that could not be code in that particular module shown as data rather than bogus instructions. ASMDASM does allow you to tell it that an area is code-only or data-only, but often enough you don't know that in detail early in the disassembling process, and it helps not to have your work cluttered with instructions that could not have been intended in, say, 1987. To this end it would also be useful to be able to have privileged instructions ignored. Tony H. -- 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: OPTABLE option of Disassembler
Farley, Peter x23353 wrote: Any idea which opcodes are duplicates? Where are the vector facility opcodes documented? I don't know about official IBM documentation, but Abe Kornelis has an excellent overview at his hlasm.com site. Check this out: http://www.hlasm.com/english/opcd00.htm Click on the A5xx opcodes to see the Vector Facility stuff, which are Halfword Immediate instructions in current hardware. An excellent reference! Thanks, Peter (and Abe)! -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [EMAIL PROTECTED] http://www.phoenixsoftware.com/ -- 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: OPTABLE option of Disassembler
-Original Message- From: Edward Jaffe [mailto:[EMAIL PROTECTED] Sent: Thursday, November 08, 2007 3:13 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: OPTABLE option of Disassembler David Cole wrote: Because sometimes opcodes change meanings? Correct me if I'm wrong, but it seems to me that some of the new opcodes that came out in the late 90s were the same as some of the old vector processor opcodes. ... I never knew that! I always assumed all new opcodes were completely unique. (Perhaps that's because I never worked with the vector facility.) Any idea which opcodes are duplicates? Where are the vector facility opcodes documented? I don't know about official IBM documentation, but Abe Kornelis has an excellent overview at his hlasm.com site. Check this out: http://www.hlasm.com/english/opcd00.htm Click on the A5xx opcodes to see the Vector Facility stuff, which are Halfword Immediate instructions in current hardware. HTH Peter This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. -- 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: OPTABLE option of Disassembler
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Edward Jaffe Sent: Thursday, November 08, 2007 2:13 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: OPTABLE option of Disassembler David Cole wrote: Because sometimes opcodes change meanings? Correct me if I'm wrong, but it seems to me that some of the new opcodes that came out in the late 90s were the same as some of the old vector processor opcodes. ... I never knew that! I always assumed all new opcodes were completely unique. (Perhaps that's because I never worked with the vector facility.) Any idea which opcodes are duplicates? Where are the vector facility opcodes documented? -- Edward E Jaffe Enterprise Systems Architecture/390: Vector Operations SA22-7207-00 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/DA3413A6 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DZ9AR700/CCON TENTS -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- 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: OPTABLE option of Disassembler
Hi Gene, doesn't make sense to me. If an instruction exists in the code the disassemble should decode them based on the latest level of possible opcodes. Why would you limit this? Roland The High level Assembler accepts and uses an OPTABLE parm which lets you limit the valid op codes to an architecture level such as XA or 370 (and optionally list the valid OP codes at that level). The Disassembler (ASMDASM) has a comparable ÓPTABLE option which Specifies the operation code table to be used in disassembling CSECTs. Except the ASMDASM we are using - no version shown, but linked 06.125 WITH Identify data of UK09726 - does not limit the op codes generated, or even check for a valid parameter. Is there a later version which has this function, or am I missing something? -- 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: OPTABLE option of Disassembler
David Cole wrote: Because sometimes opcodes change meanings? Correct me if I'm wrong, but it seems to me that some of the new opcodes that came out in the late 90s were the same as some of the old vector processor opcodes. ... I never knew that! I always assumed all new opcodes were completely unique. (Perhaps that's because I never worked with the vector facility.) Any idea which opcodes are duplicates? Where are the vector facility opcodes documented? -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [EMAIL PROTECTED] http://www.phoenixsoftware.com/ -- 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: OPTABLE option of Disassembler
Because sometimes opcodes change meanings? Correct me if I'm wrong, but it seems to me that some of the new opcodes that came out in the late 90s were the same as some of the old vector processor opcodes. ... Dave Cole REPLY TO: [EMAIL PROTECTED] Cole Software WEB PAGE: http://www.colesoft.com 736 Fox Hollow RoadVOICE:540-456-8536 Afton, VA 22920FAX: 540-456-6658 At 11/8/2007 02:43 PM, Roland Schiradin wrote: Hi Gene, doesn't make sense to me. If an instruction exists in the code the disassemble should decode them based on the latest level of possible opcodes. Why would you limit this? Rolan -- 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: OPTABLE option of Disassembler
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Edward Jaffe Sent: Thursday, November 08, 2007 2:13 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: OPTABLE option of Disassembler David Cole wrote: Because sometimes opcodes change meanings? Correct me if I'm wrong, but it seems to me that some of the new opcodes that came out in the late 90s were the same as some of the old vector processor opcodes. ... I never knew that! I always assumed all new opcodes were completely unique. (Perhaps that's because I never worked with the vector facility.) Any idea which opcodes are duplicates? Where are the vector facility opcodes documented? -- Edward E Jaffe Hum, I wonder if IBM will ever recycle the opcodes for the old I/O instructions? (SIO, SIOF, TIO, etc...) -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- 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: OPTABLE option of Disassembler
On Thu, 8 Nov 2007 16:07:15 -0600 Tony Harminc [EMAIL PROTECTED] wrote: :On Thu, 8 Nov 2007 13:43:23 -0600, Roland Schiradin [EMAIL PROTECTED] wrote: :doesn't make sense to me. If an instruction exists in the code the disassembler :should decode them based on the latest level of possible opcodes. Why would :you limit this? :It's useful to limit the opcodes understood, because the disassembler (any :disassembler for this architecture - not just IBM's) is less than perfect at :understanding what is code and what is data. If you know something about the :module you are working on (typically it is some legacy lost-source thing :written some time ago), then it is better to have things that could not be :code in that particular module shown as data rather than bogus instructions. :ASMDASM does allow you to tell it that an area is code-only or data-only, :but often enough you don't know that in detail early in the disassembling :process, and it helps not to have your work cluttered with instructions that :could not have been intended in, say, 1987. :To this end it would also be useful to be able to have privileged :instructions ignored. Well put. Also, if you know that there ain't no floating point, no ESA, no Z, etc. etc. -- Binyamin Dissen [EMAIL PROTECTED] http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- 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