Re: Optable option of disassembler

2007-11-12 Thread Lynd, Eugene (Contractor) (J6C)
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

2007-11-12 Thread Edward Jaffe

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

2007-11-09 Thread Gerhard Postpischil

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

2007-11-08 Thread Lynd, Eugene (Contractor) (J6C)
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

2007-11-08 Thread Edward Jaffe

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

2007-11-08 Thread Craddock, Chris
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

2007-11-08 Thread Tony Harminc
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

2007-11-08 Thread Edward Jaffe

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

2007-11-08 Thread Farley, Peter x23353
 -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

2007-11-08 Thread McKown, John
 -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

2007-11-08 Thread Roland Schiradin
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

2007-11-08 Thread Edward Jaffe

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

2007-11-08 Thread David Cole
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

2007-11-08 Thread McKown, John
 -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

2007-11-08 Thread Binyamin Dissen
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