• By Popular Demand

    From John Savard@quadibloc@invalid.invalid to comp.arch on Tue Aug 5 17:52:58 2025
    From Newsgroup: comp.arch

    I still don't have a dedicated stack pointer, or jump to subroutine instructions that save the return address on a stack.

    But, by reducing the size of displacements for relative addressing in the standard memory-reference instruction from 11 bits to 10 bits, I have been able to add the following address modes to standard memory-reference instructions:

    Register indirect
    Register indirect with scaled auto-increment
    Register indirect with scaled auto-decrement

    so one can now push and pop values from registers to a local stack
    belonging to a single routine.

    The thing I reject is a single big stack that crosses between domains.

    And there's one other addressing mode I've also added that this created
    room for which had also been requested.

    Register specifiers, when they're five bits long, could also point to pseudo-immediates. So let the instruction point to a 64-bit pseudo-
    immediate and use it as an absolute address.

    You see, I can be reasonable. Please don't blow up any planets.

    John Savard
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From John Savard@quadibloc@invalid.invalid to comp.arch on Sat Aug 9 17:01:30 2025
    From Newsgroup: comp.arch

    I modified the 35-bit instructions so as to introduce the wonders of addressing modes to load-store memory-reference instructions with a 16-bit displacement, instead of just load-store memory-reference instructions
    using register indirect addressing.

    But that lost the memory-reference operate instructions the opcodes for
    the Compatible floating-point type. That shouldn't have been a worry...
    but the feature in the Type V header that I thought I had at one time had
    been removed. So I put it back... and added another one that was needed
    which I had never thought to include.

    So now I can say that in this block, not only will normal floating-point instructions use the old 360 format, but they'll *truncate* instead of rounding, to produce exactly the same results, bad as they might have
    been, as a real 360 would have produced back in the day.

    The Type V block format, at least with option bits 00, was made to do a particular job - and so I'm seeing to it that it will do that job!

    John Savard
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From John Savard@quadibloc@invalid.invalid to comp.arch on Sun Aug 10 00:43:01 2025
    From Newsgroup: comp.arch

    On Sat, 09 Aug 2025 17:01:30 +0000, John Savard wrote:


    The Type V block format, at least with option bits 00, was made to do a particular job - and so I'm seeing to it that it will do that job!

    Oh, dear, when I first updated the page, I made a mess of it. It is
    corrected now.

    John Savard
    --- Synchronet 3.21a-Linux NewsLink 1.2