ND-1xx Instructions: Difference between revisions

From NDWiki
Jump to navigation Jump to search
(Cut out from ND-100)
 
(→‎Instruction Set: Added some descriptions from ND-99.005)
Line 2: Line 2:
=== Memory Reference Instructions ===
=== Memory Reference Instructions ===
==== Store Instructions ====
==== Store Instructions ====
* [[STZ]]
* [[STZ]] – Store zero
* [[STA]]
* [[STA]] – Store A
* [[STT]]
* [[STT]] – Store T
* [[STX]]
* [[STX]] – Store X
* [[MIN]]
* [[MIN]] – Memory increase, skip if zero


==== Load Instructions ====
==== Load Instructions ====
* [[LDA]]
* [[LDA]] – Load A
* [[LDT]]
* [[LDT]] – Load T
* [[LDX]]
* [[LDX]] – Load X


==== Arithmetic and Logical Instructions ====
==== Arithmetic and Logical Instructions ====
* [[ADD]]
* [[ADD]] – Add to A (C, O and Q may also be affected)
* [[SUB]]
* [[SUB]] – Subtract from A (C, O and Q may also be affected)
* [[AND]]
* [[AND]] – [[Wikipedia:Logical and|Logical AND]] to A
* [[ORA]]
* [[ORA]] – [[Wikipedia:inclusive or|Logical inclusive OR]] to A
* [[MPY]]
* [[MPY]] – Multiply integer (O and Q may also be affected)


==== Double Word Instructions ====
==== Double Word Instructions ====
* [[LDD]]
* [[LDD]] – Load double word
* [[STD]]
* [[STD]] – Store double word


==== Floating Instructions ====
==== Floating Instructions ====
* [[LDF]]
* [[LDF]] – Load [[floating accumulator]]
* [[STF]]
* [[STF]] – Store floating accumulator
* [[FAD]]
* [[FAD]] – Add to floating accumulator (C may also be affected)
* [[FSB]]
* [[FSB]] – Subtract from floating accumulator (C may also be affected)
* [[FMU]]
* [[FMU]] – Multiply floating accumulator (C may also be affected)
* [[FDV]]
* [[FDV]] – Divide floating accumulator (Z and C may also be affected)


==== Byte Instructions ====
==== Byte Instructions ====
* [[BFILL]]
* [[BFILL]] – Byte fill
* [[MOVB]]
* [[MOVB]] – Move bytes
* [[MOVBF]]
* [[MOVBF]] – Move bytes forward
* [[SBYT]]
* [[SBYT]] – Store byte
* [[LBYT]]
* [[LBYT]] – Load byte


=== Execute Instruction ===
=== Execute Instruction ===
* [[EXR]]
* [[EXR]] – Execute instruction found in specified register


=== Bit Instructions ===
=== Bit Instructions ===
* [[BSKP]]
* [[BSKP]] –
* [[BSET]]
* [[BSET]] –
* [[BSTA]]
* [[BSTA]] –
* [[BSTC]]
* [[BSTC]] –
* [[BLDA]]
* [[BLDA]] –
* [[BLDC]]
* [[BLDC]] –
* [[BANC]]
* [[BANC]] –
* [[BORC]]
* [[BORC]] –
* [[BAND]]
* [[BAND]] –
* [[BORA]]
* [[BORA]] –


=== Shift Instructions ===
=== Shift Instructions ===
* [[SHT]]
* [[SHT]] –
* [[SHD]]
* [[SHD]] –
* [[SHA]]
* [[SHA]] –
* [[SAD]]
* [[SAD]] –
* [[ROT]]
* [[ROT]] –
* [[ZIN]]
* [[ZIN]] –
* [[LIN]]
* [[LIN]] –
* [[SHR]]
* [[SHR]] –


=== System Control Instructions ===
=== System Control Instructions ===
* [[IOF]]
* [[IOF]] –
* [[ION]]
* [[ION]] –
* [[LWCS]]
* [[LWCS]] –
* [[MON]]
* [[MON]] –
* [[PIOF]]
* [[PIOF]] –
* [[PION]]
* [[PION]] –
* [[POF]]
* [[POF]] –
* [[PON]]
* [[PON]] –
* [[REX]]
* [[REX]] –
* [[SEX]]
* [[SEX]] –
* [[WAIT]]
* [[WAIT]] –
* [[OPCOM]]
* [[OPCOM]] –


=== Transfer Instructions ===
=== Transfer Instructions ===
==== Load Independent Instructions ====
==== Load Independent Instructions ====
* [[TRA]]
* [[TRA]] –
* [[TRR]]
* [[TRR]] –
==== Inter-level Instructions ====
==== Inter-level Instructions ====
* [[IRR]]
* [[IRR]] –
* [[IRW]]
* [[IRW]] –


=== Register Operations ===
=== Register Operations ===
==== Arithmetic Operations, RAD=1: ====
==== Arithmetic Operations, RAD=1: ====
C,O,Q may be affected by the following operations
C,O,Q may be affected by the following operations
* [[RADD]]
* [[RADD]] –
* [[RSUB]]
* [[RSUB]] –
* [[COPY]]
* [[COPY]] –
* [[AD1]]
* [[AD1]] –
* [[ADC]]
* [[ADC]] –


==== Logical Operations, RAD=0: ====
==== Logical Operations, RAD=0: ====
* [[SWAP]]
* [[SWAP]] –
* [[RAND]]
* [[RAND]] –
* [[REXO]]
* [[REXO]] –
* [[RORA]]
* [[RORA]] –
* [[CLD]]
* [[CLD]] –
* [[CM1]]
* [[CM1]] –


==== Combined Instructions: ====
==== Combined Instructions: ====
* [[EXIT]]
* [[EXIT]] –
* [[RCLR]]
* [[RCLR]] –
* [[RINC]]
* [[RINC]] –
* [[RDCR]]
* [[RDCR]] –


==== Extended Arithmetic Operations: ====
==== Extended Arithmetic Operations: ====
* [[RMPY]]
* [[RMPY]] –
* [[RDIV]]
* [[RDIV]] –


=== Floating Conversion ===
=== Floating Conversion ===
* [[NLZ]]
* [[NLZ]] –
* [[DNZ]]
* [[DNZ]] –


=== Memory Examine/Deposit Instructions ===
=== Memory Examine/Deposit Instructions ===
* [[EXAM]]
* [[EXAM]] –
* [[DEPO]]
* [[DEPO]] –


=== Sequencing Instructions ===
=== Sequencing Instructions ===
==== Unconditional Jump ====
==== Unconditional Jump ====
* [[JMP]]
* [[JMP]] –
* [[JPL]]
* [[JPL]] –


==== Conditional Jump ====
==== Conditional Jump ====
* [[JAP]]
* [[JAP]] –
* [[JAN]]
* [[JAN]] –
* [[JAZ]]
* [[JAZ]] –
* [[JAF]]
* [[JAF]] –
* [[JXN]]
* [[JXN]] –
* [[JPC]]
* [[JPC]] –
* [[JNC]]
* [[JNC]] –
* [[JXZ]]
* [[JXZ]] –


==== Skip Instructions ====
==== Skip Instructions ====
* [[SKIP]]
* [[SKIP]] –
 


== Sources ==
== Sources ==
*{{ND-doc|06.014|(ND-06.014.02 rev A)}}
*{{ND-doc|06.014|(ND-06.014.02 rev A)}}
*ND-100 Instant Instruction Codes (ND-06.021Q02 12/82)
*ND-100 Instant Instruction Codes (ND-06.021Q02 12/82)

Revision as of 07:26, 16 January 2009

Instruction Set

Memory Reference Instructions

Store Instructions

  • STZ – Store zero
  • STA – Store A
  • STT – Store T
  • STX – Store X
  • MIN – Memory increase, skip if zero

Load Instructions

Arithmetic and Logical Instructions

Double Word Instructions

  • LDD – Load double word
  • STD – Store double word

Floating Instructions

  • LDF – Load floating accumulator
  • STF – Store floating accumulator
  • FAD – Add to floating accumulator (C may also be affected)
  • FSB – Subtract from floating accumulator (C may also be affected)
  • FMU – Multiply floating accumulator (C may also be affected)
  • FDV – Divide floating accumulator (Z and C may also be affected)

Byte Instructions

Execute Instruction

  • EXR – Execute instruction found in specified register

Bit Instructions

Shift Instructions

System Control Instructions

Transfer Instructions

Load Independent Instructions

Inter-level Instructions

Register Operations

Arithmetic Operations, RAD=1:

C,O,Q may be affected by the following operations

Logical Operations, RAD=0:

Combined Instructions:

Extended Arithmetic Operations:

Floating Conversion

Memory Examine/Deposit Instructions

Sequencing Instructions

Unconditional Jump

Conditional Jump

Skip Instructions

Sources

  • Norsk Data Document ND–06.014 ND-100 REFERENCE MANUAL (ND-06.014.02 rev A)
  • ND-100 Instant Instruction Codes (ND-06.021Q02 12/82)