From WikiChip
SBA ISA - General Instrument
< general instrument‎ | sba
Revision as of 20:57, 26 June 2017 by At32Hz (talk | contribs) (Listing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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[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
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[edit]

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) +