Download Print this page

RCA COSMAC User Manual page 16

Hide thumbs Also See for COSMAC:

Advertisement

Instruction
Repertoire
15
Each COSMAC instruction is fetched during SO and executed during S1. The operations performed
during the execute cycle S1 are determined by the two hex digits contained in I and N. These operations
are divided into six general classes:
Register Operations - This group includes six instructions used to count and to move data between
internal COSMAC registers.
Memory Reference - Two instructions are provided to load or store a memory byte.
ALU Operations -
This group contains fifteen instructions for performing arithmetic and logical
operations.
I/O Byte Transfer - Eight instructions are provided to load memory from I/O control circuits, and
eight instructions to transfer data from memory to I/O control circuits.
Branching - Fourteen different conditional and unconditional branch instruction are provided.
Control - Six control instructions facilitate program interrupt, operand selection, or branch and link
operations.
Each instruction is designated by its two-digit hex code and by a name. A description of the operation is
provided using a symbolic notation. A two- or three-letter abbreviated name is also given. Examples are
shown in this section for most instructions. A summary of the instruction repertoire is given in Appendix A.
It should be noted that any unused machine codes, such as "CN" "31 ", "72", "01 ", etc., are considered
illegal codes and should not be used by users. They are reserved for future use by RCA.
Register Operations
11 N
INCREMENT
R(N)+1
INC
When 1=1, the scratch pad register specified by the hex digit in N is incremented by 1. Note that
FFFF+1=0000.
A
02
FF
I--
N
3
A
02
FF
l-
N
3
p
0
p
0
+1
X
2
+f
x
2
I
1
RIOI
03
7A
Rill
01
32
IALU I- I
I
1
RIOI
03
7A
Rill
01
32
IALU I- I
RI21
-
-
DF
~-
RI21
-
-
DF
~-
RI31
02
FF
f4-
I
D
I
AB
I
r-
R(31
03
00
l-
I
D
I
AB
I
Fig.
7 -
Example of instruction TN -INCREMENT.

Advertisement

loading