PRUSS 指令
*32bit RISC MPU ISA 指令
*40条
*算术,逻辑,流控,Load/store
*支持位.tn,字节.bn,半字.wn独立操作
.tn -- n = 0~31
.bn -- n = 0~3
.bn -- n = 0~2
指令说明:
Rs1 - 源寄存器
Op2/Rs2 - 源第二个操作数/寄存器
Rd - 目标寄存器
BrOff - 突发偏移值 最大1024
label - 标号
Load/Store指令:
LDI Rd, Rs1 //加载16位立即数到Rd
LBBO Rd, Rs1, Op2, BrOff //Rd = Rs1+Op2,长度为BrOff Bytes
这里Rs1为内存地址
LBCORd, Rs1, Op2, BrOff //Rd = Rs1+Op2,长度为BrOff Bytes,
这里Rs1为常量表指向地址
SBBO
SBCO
QBGT label, Rs1, Op2 //if Op2 > Rs1 , jmp label
QBGE label, Rs1, Op2 //if Op2 >= Rs1 , jmp label
QBLT label, Rs1, Op2 //IF Op2 < Rs1, jmp label
QBLE label, Rs1, Op2 //if Op2 =<Rs1, jmp label
QBEQ label, Rs1, Op2 //if Op2 == Rs1, jmp label
QBNE label, Rs1, Op2
QBBS label, Rs1, Op2 //if Rs1[Op2] == 1, jmp label
QBBC label, Rs1, Op2 //if Rs1[Op2] == 0, jmp label
JMP label
HALT 停止PRU
SLP 睡眠PRU
ADD,ADC。。
AND, OR, XOR
...