SCUBA-SE Archives

September 2002

SCUBA-SE@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Andy M Johnson <[log in to unmask]>
Reply To:
SCUBA or ELSE! Diver's forum <[log in to unmask]>
Date:
Sat, 28 Sep 2002 01:19:52 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (74 lines)
>Jeff Kell wrote:
>>
>> Well, I had to bow out to Andy's superior geekiness, IBM-wise anyway,
>> since I long forgot about the PSW layout in his last PSW-restart troll:
>>
>> > >Andy M Johnson wrote:
>> >  Well here's a tiny bit of code for ya:
>> >  Main store loc 0 = 0700 0700 9C00 0180
>> >  Rest of storage is all 0s
>> >  3420 is CUA 180 and at EOT.
>> >  PSW restart is performed.
>> >  What happens & why ?
>
>> I know the 9C00 is an SIO and the 0180 is the address, but damned if I
>> remember what an 07 channel command is to a 3420... maybe Harold does,
>> he stayed on Big Blue longer than I did...

>I could figure it out, but that would mean going through all the boxes
>I brought home from my office to find my Principles of Operations.

>I think that 0700 is basically a no-op instruction.  Branch on condition
>with a mask which says never branch.  The 9C000000 instruction is a
>SIO (Start IO) pointing to the tape drive at hardware address 0180 (the
>standard place to find a tape in CMS.)  the SIO instruction looks for it's
>first CAW (channel address word) at a fixed location in memory.  Since
this
>location contains zeros, that means that the first CCW (Channel control
word)
>is found at location 0, containing 0700070093000180.

>and yes, the op code for the tape drive is "07".  What does that mean?
>Based upon the problem and the fact the tape drive is at EOT, I'd guess
>it's either rewind or rewind/unload.
>So much for geek stuff...
>Harold

Well you got most of it matey. If my machine code memory serves me right it
goes something like this:

PSW restart goes to MS loc 0 for PSW restart new PSW.
PSW contains add of next instruction - the add is 180 which contains of
course all 0s.
A machine instruction of all 0s is an invalid instruction so we get a
programme check.
Programme check PSW is at MS loc 68 (Ithink) which also contains all 0s -
the address of the next machine instruction
0700 is an RR fmt instruction that does bugger all, so moves to next
instruction, which is the same.
Next after that is a 9C00 which is an S fmt Inst. Start I/O to device in
bits 20 - 31 in this case 180.
The Channel Address Word is at fixed location 48 and contains the addess of
the Channel Commmand Word - 0000
CCW is 0700 ....... with 07 being the command code. 07 for tape is rewind,
so that's what it does.
Unless of course I'd just been working on the tape drive in which case it
would probably lose reel control & dump the tape into to vacuum columns and
go into a sulk !!!!!
Of course none of the above applies in extended architecture !!!
And if I've got any of the above wrong, it's 'cos it's 01:20, I'm at work &
I've got my mind on much more interesting things like the Red Sea next
Friday :-)
Cheers..........

Andy Johnson
Senior Product Support Specialist
UK HSC DASD
Basingstoke AL1C
Tel: 01256 34 1490 (Hunting Group)
Tel: 01256 34 1264 (Direct)
Please check I am working before calling me as I work shifts & could be on
nights !
Mobile:07703 59 8282   Mobex:277 321
e-mail [log in to unmask]

ATOM RSS1 RSS2