HP3000-L Archives

November 2003, Week 3

HP3000-L@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:
John Pitman <[log in to unmask]>
Reply To:
John Pitman <[log in to unmask]>
Date:
Wed, 19 Nov 2003 15:21:59 +1100
Content-Type:
text/plain
Parts/Attachments:
text/plain (52 lines)
Yes, enjoyed the SVC and its friends a lot.
The best assembler op code I found was ZAP - defined as 'zero and add
packed', ie zero field A and add packed value at field B into A. What it
actually did was MOVE B to A, it didnt actually look at value of B for being
legal packed decimal. ANyway, the result was that if you made a coding error
such that B pointed at invalid data, you didnt get an error from ZAP, but
you did on the next Add packed instruction, which sometimes was a long time
later, which made finding the cause a bit difficult, until you knew to look
at all ZAP occurrences.

jp, feeling older
----- Original Message -----
From: "Jeff Kell" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Wednesday, November 19, 2003 3:08 PM
Subject: Re: [HP3000-L] Traps hp3000 <> linux/unix


> John Pitman wrote:
>
> > IIRC, there was once a change in IBM hardware that changed alignment
rules,
> > but old code would still execute apparently without problems. When I
> > enquired how this was done, I was told the system got an alignment error
> > interrupt (ie moving a 32bit entity on a 16bit boundary), did a byte
move
> > instead, and returned to the next instruction as though nothing unusual
had
> > occurred.....
>
> IBM did that a lot :-)  If you had no decimal instruction set (an option
> on early 360s) they would generate an instruction exception, which was
> in turn trapped and emulated by the OS.  And there weren't really any
> intrinsics, but rather SVC (SuperVisor Calls) instructions to branch to
> the SVC handler in the OS to process the "opcode".
>
> OS/360 included an instruction called DIAG that was supposed to execute
> a subroutine in microcode (such was the original intent).  When they
> later came out with VM (Virtual Machine), they used DIAG to communicate
> directly with the VM kernel rather than the virtualized SVC.
>
> And a host of other tricks :-)  The S360/370/390 architecture has had
> more than it's share of esoteric fun.
>
> Jeff
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2