Pokud mají bity operačního kódu instrukce hodnotu 111
, jedná se o tzv mikrokódovou instrukci. Je to obdoba instrukce OPR monipočítače PDP-8.
Obrázek 29.4. Formát instrukce μcode SOC-8
11 10 9 8 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | GROUP | μcode | +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 0 0 0 |CLC|CPC|CLA|CPA|IAC|DAC| Clear and Complement (IAC∨DAC) +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 0 0 1 |CLC|CPC|CLA|R/L|A/L|DBL| Rotate +---+---+---+---+---+---+---+---+---+---+-+-+---+ | 1 1 1 | 0 1 0 | Condition !?|?!DBL| Skip Condition[,Dbl] +---+---+---+---+---+---+---+---+---+---+-+-+---+ | 1 1 1 | 0 1 1 | Source |Destination| Move Rs→Rd R one of A, B, P, L, PSW, S, T, … +---+---+---+---+---+---+---+---+---+---+---+---+ Move L→PC ≡ Return Zatím nevyužité kódy +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 1 0 0 | unused | +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 1 0 1 | unused | +---+---+---+---+---+---+---+---+---+---+---+---+ Privilegované operace +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 1 1 0 | DEVICE | FUNCTION | IOT +---+---+---+---+---+---+---+---+---+---+---+---+ | 1 1 1 | 1 1 1 | 0 |R/W|S/U| PAGE REG. | MMU (max 8 reg na režim) +---+---+---+---+---+---+---+---+---+---+---+---+ Processor Control | 1 1 1 | 1 1 1 | 1 | | CPU - Enable/Disable part of the CPU +---+---+---+---+---+---+---+---+---+---+---+---+ Stack operations +---+---+---+---+---+---+---+---+---+---+---+---+ | | :P/P:A/L:S/T| +---+---+---+---+---+---+---+---+---+---+---+---+
Přesně v intencích dělení instrukčního slova po trojcích bitů přiřadím první další skupině bitů význam skupiny (GROUP) tyto bity určují o jaký mikrokód se jedná. Máme následující skupiny:
skupina | název | význam |
---|---|---|
000 | Clear and Complement | Mazání a nastavování bitů C a registru A. CLA, CLC, CMA, CMC, IAC, … |
001 | ROT | Rotace a posuvy. LEFT/RIGHT, ARIT/LOGIC, DOUBLE, …. Instrukce: ROR, ROL, ASL, ASR, …. |
010 | Skip | Skupina podmíněných přeskoků. Bity mikrokódu specifikují podmíku přeskoku následující instrukce. |
011 | Move | Přesuny mezi registry. Je možno provést přesun mezi libovolnými dvěma registry. (A, B, P, PSW, L, S, T, U, …) |
100 | ||
101 | ||
110 | ||
111 | CPU+MMU | Řízení procesoru a MMU |