+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | 命令表記 | 説明 | 補足 |
76000000 | | NOP(); | 何もしない | |
76000001 | uimm | opt | | LB(opt, uimm); | ラベル番号uimmの定義 | optは0~2 |
76000002 | FFFFF788 | imm | r | bit | | LIMM(bit, r, imm); | 整数レジスタの定数代入 r=imm | immは+76000000「しない」 |
76000003 | uimm | p | | PLIMM(p, uimm); | ポインタレジスタのラベル番号代入 p=uimm | P3Fに代入すればジャンプ命令になる |
76000004 | r | | CND(r); | rが奇数の場合のみ後続する1命令を実行 | CND命令は下位1bitしか見ない |
76000008 | p | typ | 76000000 | r | bit | | LMEM(bit, r, typ, p, 0); | メモリから値を読み込む | |
76000009 | | | | | | | SMEM | | |
7600000E | p1 | typ | r | bit | p0 | | PADD(bit, p0, typ, p1, r); | p0=p1+r | |
76000010 | r1 | r2 | r0 | bit | | OR(bit, r0, r1, r2); | ビット演算 r0=r1|r2 | r1=r2にすると、CP(r0,r1);になる |
76000011 | r1 | r2 | r0 | bit | | XOR(bit, r0, r1, r2); | ビット演算 r0=r1^r2 | |
76000012 | r1 | r2 | r0 | bit | | AND(bit, r0, r1, r2); | ビット演算 r0=r1&r2 | |
76000013 | r1 | r2 | r0 | bit | | SBX(bit, r0, r1, r2); | 符号ビット拡張 | r2はR3Fしか指定できない |
76000014 | r1 | r2 | r0 | bit | | ADD(bit, r0, r1, r2); | r0=r1+r2 | |
76000015 | r1 | r2 | r0 | bit | | SUB(bit, r0, r1, r2); | r0=r1-r2 | |
76000016 | r1 | r2 | r0 | bit | | MUL(bit, r0, r1, r2); | r0=r1*r2 | |
76000018 | r1 | r2 | r0 | bit | | SHL(bit, r0, r1, r2); | r0=r1<<r2 | |
76000019 | r1 | r2 | r0 | bit | | SAR(bit, r0, r1, r2); | r0=r1>>r2 | |
7600001A | r1 | r2 | r0 | bit | | DIV(bit, r0, r1, r2); | r0=r1/r2 | |
7600001B | r1 | r2 | r0 | bit | | MOD(bit, r0, r1, r2); | r0=r1%r2 | |
7600001E | p1 | p0 | | PCP(p0, p1); | p0=p1 | P3Fに代入すればジャンプ命令になる |
76000020 | r1 | r2 | bit1 | r0 | bit0 | | CMPE(bit0, bit1, r0, r1, r2); | 比較命令 if(r1==r2){r0=-1}else{r0=0} | bit1はr1とr2のbit、bit0はr0のbit |
76000021 | r1 | r2 | bit1 | r0 | bit0 | | CMPNE(bit0, bit1, r0, r1, r2); | 比較命令 if(r1!=r2) | |
76000022 | r1 | r2 | bit1 | r0 | bit0 | | CMPL(bit0, bit1, r0, r1, r2); | 比較命令 if(r1<r2) | |
76000023 | r1 | r2 | bit1 | r0 | bit0 | | CMPGE(bit0, bit1, r0, r1, r2); | 比較命令 if(r1>=r2) | |
76000024 | r1 | r2 | bit1 | r0 | bit0 | | CMPLE(bit0, bit1, r0, r1, r2); | 比較命令 if(r1<=r2) | |
76000025 | r1 | r2 | bit1 | r0 | bit0 | | CMPG(bit0, bit1, r0, r1, r2); | 比較命令 if(r1>r2) | |
76000026 | r1 | r2 | bit1 | r0 | bit0 | | TSTZ(bit0, bit1, r0, r1, r2); | 比較命令 if((r1&r2)==0) | |
76000027 | r1 | r2 | bit1 | r0 | bit0 | | TSTNZ(bit0, bit1, r0, r1, r2); | 比較命令 if((r1&r2)!=0) | |
760000FD | FFFFF788 | imm | dr | | LIDR(dr, imm); | dr=imm | immは+76000000「しない」 |
760000FE | uimm | len | | REMx(...); | 何もしない | |