[Info-vax] Bliss was Re: Learning VMS application programming

glen herrmannsfeldt gah at ugcs.caltech.edu
Thu Sep 11 15:52:43 EDT 2014


Johnny Billquist <bqt at softjar.se> wrote:

(snip, someone wrote, regarding Macro-10)

>> For me, I always found it funny that the instruction set had a 
>> jump instruction (spelled JUMP) that did not jump.  
>> I never understood why that form (other than just simplicity to 
>> implement in hardware).
 
> Well, the JUMP doing no jump is totally in line with the instruction 
> set as a whole, and is very consistent. If you look at the opcodes 
> it is pretty obvious.

Well, one question is why the hardware has the operation, and the
other why the opcode has that name. 

The Motorola 6809 also has a full set of conditional branches:

http://www.lomont.org/Software/Misc/CoCo/Lomont_6809.pdf

but instead they have BRA (branch always) and BRN (branch never).

IBM 360 has a conditional branch instruction with a condition mask

    BC mask,address

where the four bit mask indicates which of the four different
values of the two bit condition code should cause a branch.

The assembler has pseudo-ops for common conditions, such as

    B address (equivalent to BC 15,address).

    NOP address (equivalent to BC 0,address)

(yes, you need an address to do nothing)

There is also a register form:

    BCR mask,register
    BR register
    NOPR register

(NOPR is two bytes, NOP is four.) 

> There is not only JUMP, you also have SKIP (which do not skip), 
> and so on.  Any conditional instruction have the "never" condition.
> The PDP-10 is very consistent.

But even more, no-one uses JUMPA but JRST instead.

-- glen






More information about the Info-vax mailing list