From WikiChip
Difference between revisions of "general instrument/sba/isa"
(→Listing) |
(→Listing) |
||
Line 32: | Line 32: | ||
| Opcode | | Opcode | ||
| Action | | Action | ||
+ | | cols = 3 | ||
| listing = | | listing = | ||
{{inst|mn=ANDIN |op={{bin|AAAAA000}} |act={{l|and|In[AAAAA]|Stack[Top]}}}} | {{inst|mn=ANDIN |op={{bin|AAAAA000}} |act={{l|and|In[AAAAA]|Stack[Top]}}}} |
Latest revision as of 20:57, 26 June 2017
SBA ISA | |
Developer | General Instrument |
Implementation | SBA |
Dev model | proprietary |
Data word size | 1 bit 0.125 octets
0.25 nibbles |
Instruction word size | 8 bit 1 octets
|
Instructions | 24 |
Introduction | 1977 |
Version | 1 |
Format | stack |
Endianness | bi-endian |
Registers | 0 |
ISAs • By Company • By Inst • By Data |
The SBA ISA was an instruction set architecture used in the General Instrument's SBA family of 1-bit microcontrollers.
ISA[edit]
The SBA family had 8-bit instructions of two types: with immediate and without immediate value.
- With immediate: The 5 MSBs are reserved for the address, but only up to the 30th address. The opcode is stored in the 3 LSBs.
- 000002-1110120002-1112
- Without immediate: Addresses 30 and 31 are reserved for extended instructions of 8 bits.
- 111100002-111111112
This scheme allows for 30 addresses and 24 instructions (8 operating on immediate values and 16 without immediates).
Listing[edit]
SBA ISA | ||
---|---|---|
Mnemonic | Opcode | Action |
ANDIN | AAAAA0002 | In[AAAAA] · Stack[Top] |
NANDIN | AAAAA0012 | In[AAAAA] · Stack[Top] |
ANDSS | AAAAA0102 | Store[AAAAA] · Stack[Top] |
NANDSS | AAAAA0112 | Store[AAAAA] · Stack[Top] |
ASP1 | AAAAA1002 | Store[AAAAA] · Stack[Top] ; PUSH(1) |
NASP1 | AAAAA1012 | Store[AAAAA] · Stack[Top] ; PUSH(1) |
STORE | AAAAA1102 | Store[AAAAA] = Stack[Top] ; Stack[Top] = 1 |
OUTPUT | AAAAA1112 | Out[AAAAA] = Stack[Top] ; Stack[Top] = 1 |
RESTART | 111100002 | restarts evaluation of program |
INVERT | 111100012 | Stack[Top] = Stack[Top] |
PAGE | 111100102 | Change page |
HOME | 111100112 | Back to home page |
PUSH0 | 111101002 | PUSH(0) |
PUSH1 | 111101012 | PUSH(1) |
PUSHC | 111101102 | PUSH(Stack[Top]) |
POP | 111101112 | POP() |
AND | 111110002 | Stack[Top] = Stack[Top] · Stack[Top-1] |
OR | 111110012 | Stack[Top] = Stack[Top] + Stack[Top-1] |
EXOR | 111110102 | Stack[Top] = Stack[Top] ⊕ Stack[Top-1] |
COMP | 111110112 | |
PAND | 111111002 | PUSH(Stack[Top] · Stack[Top-1]) ; Stack[Top] = 1 |
POR | 111111012 | PUSH(Stack[Top] + Stack[Top-1]) ; Stack[Top] = 1 |
PEXOR | 111111102 | PUSH(Stack[Top] ⊕ Stack[Top-1]) ; Stack[Top] = 1 |
PCOMP | 111111112 |
See also[edit]
Facts about "SBA ISA - General Instrument"
designer | General Instrument + |
first launched | 1977 + |
full page name | general instrument/sba/isa + |
implementation | SBA + |
instance of | instruction set architecture + |
instruction count | 24 + |
instruction word size | 8 bit (1 octets) + |
name | SBA + |
word size | 1 bit (0.125 octets, 0.25 nibbles) + |