cottrell@NBS-VMS.ARPA (COTTRELL, JAMES) (09/07/85)
/*
@ In article <139200010@uiucdcsb> robison@uiucdcsb.Uiuc.ARPA writes:
@ >
@ >> ... But no machine I know of has a `branch if true' instruxion...
No, *I* wrote that. *He* responded.
@ The 808x/Z80 families of microprocessors set the 'zero' flag in 'compare'
@ instructions, and have 'jump if zero', 'jump if non-zero', as well as the
@ corresponding conditional subroutine calls and and conditional returns.
Don't you think I know that? Doesn't everybody? You missed the point
entirely! What I am saying is that at the assembly language level there
is no notion of pure true or false as a primitive condition. You may
decide whether a *particular* condition *is* true or false by using the
appropriate conditional branches, e.g. `branch if zero', `jump if
carry', etc. ``But no machine I know of has a `branch if true'
instruxion''. Now we are back to where we started from, robison will
send me a line about Burroughs having a `branch if true', you will
tell me about z80's & we have a recursive news item!
Now about the Burrough's. What exactly is their idea of truth? I hear
rumors that some of their machines are programmed in ALGOL. Is this
some kind of higher level concept? What's, uh, the deal?
@ They may be too small for you to consider them 'machines', but an awful
@ lot of work gets done on them.
@
@ Richard Klappal
That's right, a lot that's awful. Trying to program those things is
like an operating system thrashing. It does work tho!
jim cottrell@nbs
*/
------
weltyrp@rpics.UUCP (Richard Welty) (09/09/85)
> Now about the Burrough's. What exactly is their idea of truth? I hear > rumors that some of their machines are programmed in ALGOL. Is this > some kind of higher level concept? What's, uh, the deal? > >... > jim cottrell@nbs > The way Burroughs implements truth is quite immaterial, as there is no assembler. The Burroughs stack machines are programmed in a language that directly supports Burroughs Extended Algol, and all systems programs on such machines are written in the Burroughs dialect. Boolean is a real datatype supported by the hardware. In fact, every high level concept from Algol is supported in the hardware. Strong typing is even supported in the hardware. The machines attach type bits to each unit of memory. The machines are quite interesting, really, although they were commercially not massively successful. -- Rich Welty (I am both a part-time grad student at RPI and a full-time employee of a local CAE firm, and opinions expressed herein have nothing to do with anything at all) CSNet: weltyrp@rpi ArpaNet: weltyrp.rpi@csnet-relay UUCP: seismo!rpics!weltyrp
pc@unisoft.UUCP (Paul Campbell) (09/09/85)
<oog> The Burroughs Large Systems Architecture (B5900/6X00/7X00 etc) is programmed in Algol and its dialects .... no assembler is available from Burroughs for them (of course we wrote one ....) this is mainly because their architecture has no true memory protection (ie protecting one process from another), they depend on the compilers only making 'safe' code. Of course if you want to do system work you write an 'unsafe' compiler and protect it. The architecture supports 3 branch instructions BRANCH unconditionally BRANCHTRUE remove the word on the top of stack and branch if the lower bit is set BRANCHFALSE remove the word on the top of stack and branch if the lower bit is clear Paul Campbell ..!ucbvax!unisoft!paul
ken@turtlevax.UUCP (Ken Turkowski) (09/10/85)
In article <1341@brl-tgr.ARPA> cottrell@NBS-VMS.ARPA (COTTRELL, JAMES) writes: >@ In article <139200010@uiucdcsb> robison@uiucdcsb.Uiuc.ARPA writes: >@ >> ... But no machine I know of has a `branch if true' instruxion... > >No, *I* wrote that. *He* responded. > >@ The 808x/Z80 families of microprocessors set the 'zero' flag in 'compare' >@ instructions, and have 'jump if zero', 'jump if non-zero', as well as the >@ corresponding conditional subroutine calls and and conditional returns. > >Don't you think I know that? Doesn't everybody? You missed the point >entirely! What I am saying is that at the assembly language level there >is no notion of pure true or false as a primitive condition. Wrong you are. Look at the 68000 instruction set. In it you'll find a couple of instructions called DBT and DBF, which are "decrement and branch on true" and "decrement and branch on false". While not a pure one condition branch (because of the decrement and test counter), the assembly language does have a concept of absolute truth. -- Ken Turkowski @ CADLINC, Menlo Park, CA UUCP: {amd,decwrl,hplabs,seismo,spar}!turtlevax!ken ARPA: turtlevax!ken@DECWRL.ARPA
cottrell@nbs-vms.ARPA (COTTRELL, JAMES) (09/13/85)
/* > Wrong you are. Look at the 68000 instruction set. In it you'll find a > couple of instructions called DBT and DBF, which are "decrement and > branch on true" and "decrement and branch on false". While not a pure > one condition branch (because of the decrement and test counter), the > assembly language does have a concept of absolute truth. > -- > Ken Turkowski @ CADLINC, Menlo Park, CA DBT, & DBF do not *test* anything for truth, they *assume* it. They are not *conditional* branches (as I mentioned in my origional statement). DBT *always* branches while DBF *never* branches. jim cottrell@nbs */ ------