From WikiChip
Difference between revisions of "general instrument/sba/isa"
(Created page with "{{gi title|SBA ISA}} {{isa box | name = SBA | developer = General Instrument | implementation = SBA | dev model = proprietary | design = | data si...") |
(→Listing) |
||
| Line 30: | Line 30: | ||
{{isa | {{isa | ||
| title = SBA ISA | | title = SBA ISA | ||
| + | | Opcode | ||
| + | | Action | ||
| 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]}}}} | ||
Revision as of 20:54, 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
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
| 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
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) + |