From: mac@coos.dartmouth.edu (Milton A. Colvin)
Newsgroups: comp.arch
Subject: Re: One Instruction Computers
Date: 2 Oct 92 19:25:43 GMT
Organization: Dartmouth College, Hanover, NH

New England Digital Corp. sold the first digital music synthesizers in
the late 70s and was until recently still building computers for
digital audio processing.

The first NED processors were based on the Able minicomputer, notable
for it single instruction - MOVE. MOVE encodes an 8-bit source and an
8-bit destination.

As far as I know, this was the only commercial one-instruction
machine.  For its time it was quite fast. A number survive in
Synclaviers and as network routers at Dartmouth.


This summer NED ceased operation.
A summary of the Able instruction operands follows:
---

Machine Instruction Formats, Assembler Symbols, and Octal Codes

             SOURCES (low byte)

Instruction
Format       Use                               Assembler Symbol    Octal  Code
-----------  -------------------------------   ----------------    ---------------
Oxxxxxxx    Devices                             D0 -    D177        "0" - "177"
   
00000010    Priority Register                   D2                  "2"   (not model B)
00001000    Last Program Counter                D10                 "10"  (not model B)
   
losddddd    Immediate                           IM(expression)      "277" - "237" (-32=<expression=<31)
   
   
11OOrrrr    Register                            R0 - R17            "300" - "317"
110irrrr    Register then Increment             R0i - R17i          "320" - "337"
   
lllOrrrr    Memory Source                       MR0   MR17          "340" - "357"
llllrrrr    Memory Source then Increment        MR0i  MR17i         "360" - "377"
 
            DESTINATIONS (high byte)
          
0xxxxxxx    Devicess                            D0 -  D177          "@0" - "177"
0000010     Encode Priority                     D2                  "2"   (not model B)
0001000     Repeat                              D10                 "10"  (not model B)
 
100aaarr    Arithmetic                                              "200" - "237"
000              Load                           LOA0 - LOA3         "200" - "203"
001              And                   (&)      AND0 - AND3         "204" - "207"
010              Addition              (+)      ADD0 - ADD3         "210" - "213"
011              Subtract              (-)      SUB0 - SUB3         "214" - "217"
100              Exclusive Or          (XOR)    XOR0 - XOR3         "220" - "223"
101              Rotate Left           (ROL)    RTL0 - RTL3         "224" - "227"
110              OR                    (\)      OR0  - OR3          "230" - "233"
111              Load Compliment       (NOT)    LCMO - LCM3         "234" - "237"
 
1010ttrr    Test                                                    "240"  - "257-1
00               Load                           TLOA0 - TLOA3       "240" - "243"
01               And                            TAND0 - TAND3       "244" - "247"
10               Addition                       TADD0 - TADD3       "250" - "253"
11               Subtract                       TSUB0 - TSUB3       "254" - "257"
 
1011OOrr    Byte Swap with Or                   BSOR0 - BSOR3       "260" - "263"
10110irr    Shift Right with Add                SHRA0 - SHRA3       "264" - "267"
1011IOrr    Add with Carry                                          "270" - "273"
1011llrr    Subtract with Borrow                                    "274" - "277"
11OOrrrr    Register Destination                R0 - R17            "300" - "317"
 
1101occc    Conditional Transfer Absolute \                         "320" - "327"
11011ccc    Conditional Transfer Relative                           "330" - "337"
     000    Always                              ATRA / RTRA         "320" / "330"
     100    Never                               ATNV / RTNV         "324" / "334"
     001    Zero                                ATZE / RTZE  "321" / "331"
     101    Non-zero                            ATNZ / RTNZ  "325" / "335"
     010    Carry                               ATRC / RTRC  "322" / "332"
     110    Non-carry                           ATNC / RTNC  "326" / "336"
     011    Minus                               ATMI / RTMI  "323" / "333"
     lit    Non-minus                           ATPL / RTPL  "327" / "337"

 
111Orrrr   Memory Destination                   MR0 - MR17   "340" - "357"
1111rrrr   Memory Destination then Inc          MR0i-MR17i(ex.MR12)"360" - "377"  (ex."372")
1111101O   Memory Destination then Dec          MR12D        "372"
Newsgroups: comp.arch