开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Re: Whats the best way to transfer dasd from z/os to Hercules


 

We don't know how the Cylinder field is filled. If a LH from a 2 bytes
field was used, it would sign extend the high order bit of x'1' from
32K+1 to 64K.

On Fri, Jan 17, 2025 at 1:54?AM Mike Schwab via groups.io
<Mike.A.Schwab@...> wrote:

The Multiply uses the register as a signed field. Is there a Multiply Logical?

non eav have Count records with x'CCCCHHHHRR'
3390s EAV have Count records with x'ccccCCChRR' where the actual
Cylinder number is CCCcccc and the head value is the x'h'.

On Fri, Jan 17, 2025 at 1:03?AM Fish Fish via groups.io
<david.b.trout@...> wrote:

Mike Schwab wrote:

Is the number of cylinders 2 bytes signed?
According to what I'm seeing in the source code for the CCKDDU64 program (one of the files in Herc's "cckddump-cckdload.zip" file in the 'util' subdirectory), it's actually a 4-byte fullword field within the data returned by the "DEVTYPE" macro (which I know nothing about! I'm *not* a z/OS programmer!), which I'm guessing is being used to retrieve the source device's (source volume's) dasd geometry and other information.

But what concerns and confuses me is that it's not using a DSECT to access the individual fields in the returned data, and is instead using a simple hard coded EQUate (which *appears* to be WRONG, which is what's confusing me!).

According to what I am seeing on IBM's web site:

*

*


====================================================================
THE FOLLOWING SECTION IS RETURNED BY DEVTYPE FOR INFO=DASD.
====================================================================

0 (0) STRUCTURE 16 DVAIDASD
0 (0) UNSIGNED 4 DVAICYL NUMBER OF CYLINDERS
4 (4) UNSIGNED 4 DVAITRK TRACKS PER CYLINDER
8 (8) UNSIGNED 1 DVAIFLAG FLAGS


But what I'm seeing in CCKDDU64 is:

*/* ----------------------------------------------------------------
* * get device information for sysut1 [the volume to be dumped]
* * ---------------------------------------------------------------- */

MVC devtl,model_devtl
DEVTYPE =CL8'SYSUT1',(devta,L'devta), x
INFOLIST=devt_infol_2,MF=(E,devtl)
LTR rf,rf
BNZ ut1_devt_err
TM devta+2,UCB3DACC check for dasd device
BNO ut1_not_dasd
TM dev_flags,X'80' check for eckd
BNO ut1_not_eckd
L r3,cyls
M r2,trks_per_cyl total number of trks
ST r3,trks


Notice it's loading the number of cylinders into R3 from the "cyls" field, which is defined as:

devta DS XL(32)

cyls EQU devta+4,4
trks_per_cyl EQU devta+8,4
dev_flags EQU devta+12,2


Offset 4 for a length of 4! Which is wrong! (At least according to IBM's DSECT anyway!)

Maybe this explains the incorrect number of cylinders being reported by CCKDDU64 that Brian reported in his post?

Methinks something is awry somewhere! :(

I'm actually quite surprised that Brian reports it *seems* to work just fine for 3390-3, 3390-9 and 3390-27! (Really?!)

%-(

<me: confused!>

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...









--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?





--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

Join [email protected] to automatically receive all group messages.