From WikiChip
Difference between revisions of "general instrument/sba/isa"
< general instrument‎ | sba

(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
ISAsBy CompanyBy InstBy 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
ANDINAAAAA0002In[AAAAA] · Stack[Top]
NANDINAAAAA0012In[AAAAA] · Stack[Top]
ANDSSAAAAA0102Store[AAAAA] · Stack[Top]
NANDSSAAAAA0112Store[AAAAA] · Stack[Top]
ASP1AAAAA1002Store[AAAAA] · Stack[Top] ; PUSH(1)
NASP1AAAAA1012Store[AAAAA] · Stack[Top] ; PUSH(1)
STOREAAAAA1102Store[AAAAA] = Stack[Top] ; Stack[Top] = 1
OUTPUTAAAAA1112Out[AAAAA] = Stack[Top] ; Stack[Top] = 1
RESTART111100002restarts evaluation of program
INVERT111100012Stack[Top] = Stack[Top]
PAGE111100102Change page
HOME111100112Back to home page
PUSH0111101002PUSH(0)
PUSH1111101012PUSH(1)
PUSHC111101102PUSH(Stack[Top])
POP111101112POP()
AND111110002Stack[Top] = Stack[Top] · Stack[Top-1]
OR111110012Stack[Top] = Stack[Top] + Stack[Top-1]
EXOR111110102Stack[Top] = Stack[Top] ⊕ Stack[Top-1]
COMP111110112
PAND111111002PUSH(Stack[Top] · Stack[Top-1]) ; Stack[Top] = 1
POR111111012PUSH(Stack[Top] + Stack[Top-1]) ; Stack[Top] = 1
PEXOR111111102PUSH(Stack[Top] ⊕ Stack[Top-1]) ; Stack[Top] = 1
PCOMP111111112

See also

designerGeneral Instrument +
first launched1977 +
full page namegeneral instrument/sba/isa +
implementationSBA +
instance ofinstruction set architecture +
instruction count24 +
instruction word size8 bit (1 octets) +
nameSBA +
word size1 bit (0.125 octets, 0.25 nibbles) +