差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
arm:sitara:pru [2020/06/07 00:07] kimu_shu [テーブル] |
arm:sitara:pru [2020/06/07 00:24] (現在) kimu_shu [テーブル] |
||
---|---|---|---|
ライン 74: | ライン 74: | ||
| ::: | SXCHG IM(253), REG, IM(124) | Register and Status Transfer Exchange | XCHGのStatus転送あり版 (???) | | | | ::: | SXCHG IM(253), REG, IM(124) | Register and Status Transfer Exchange | XCHGのStatus転送あり版 (???) | | | ||
| ::: | SXCHG IM(253), REG, bn | ::: | ::: | | | | ::: | SXCHG IM(253), REG, bn | ::: | ::: | | | ||
- | | flow | ddd | | | | | + | | フロー | JMP OP(65535) | Unconditional Jump | PRU Instruction Pointer = OP(65535) | | |
+ | | ::: | JAL REG1, OP(65535) | Unconditional Jump and Link | REG1 = Current PRU Instruction Pointer + 1\\ PRU Instruction Pointer = OP(65535) | | | ||
+ | | ::: | CALL OP(65535) | Call Procedure | JAL r30.w0, OP(65535) に相当 | | | ||
+ | | ::: | RET | Return from Procedure | JMP r30.w0 に相当 | | | ||
+ | | ::: | QBGT LABEL, REG1, OP(255) | Quick Branch if Greater Than | Jump to LABEL if OP(255) > REG1 (※オペランドの並びに注意) | | | ||
+ | | ::: | QBGE LABEL, REG1, OP(255) | Quick Branch if Greater Than or Equal | Jump to LABEL if OP(255) >= REG1 (※オペランドの並びに注意) | | | ||
+ | | ::: | QBLT LABEL, REG1, OP(255) | Quick Branch if Less Than | Jump to LABEL if OP(255) < REG1 (※オペランドの並びに注意) | | | ||
+ | | ::: | QBLE LABEL, REG1, OP(255) | Quick Branch if Less Than or Equal | Jump to LABEL if OP(255) <= REG1 (※オペランドの並びに注意) | | | ||
+ | | ::: | QBEQ LABEL, REG1, OP(255) | Quick Branch if Equal | Jump to LABEL if OP(255) == REG1 | | | ||
+ | | ::: | QBNE LABEL, REG1, OP(255) | Quick Branch if Not Equal | Jump to LABEL if OP(255) != REG1 | | | ||
+ | | ::: | QBA LABEL | Quick Branch Always | Jump to LABEL | | | ||
+ | | ::: | QBBS LABEL, REG1, OP(31) | Quick Branch if Bit is Set | %%Jump to LABEL if (REG1 & (1<<OP(31))) != 0%% | | | ||
+ | | ::: | QBBC LABEL, REG1, OP(31) | Quick Branch if Bit is Clear | %%Jump to LABEL if (REG1 & (1<<OP(31))) == 0%% | | | ||
+ | | ::: | WBS REG1, OP(31) | Wait Until Bit Set | QBBC $, REG1, OP(31) に相当 | | | ||
+ | | ::: | WBC REG1, OP(31) | Wait Until Bit Clear | QBBS $, REG1, OP(31) に相当 | | | ||
+ | | ::: | HALT | Halt Operation | PRU実行停止 (Instruction PointerはHALT命令の場所で停止、復帰後はその場所のフェッチから再開) | | | ||
+ | | ::: | SLP IM(1) | Sleep Operation | PRU動作クロック停止\\ IM(1)==0の場合、リセットするまで復帰しない。\\ IM(1)==1の場合、イベントが発生すると復帰する。 | | | ||
+ | | ::: | LOOP LABEL, OP(256) | Hardware Loop Assist | 本命令の直後からLABELの直前までをOP(256)回ループ実行する | | | ||
+ | | ::: | ILOOP LABEL, OP(256) | Hardware Loop Assist (Interruptible) | LOOPと同じだが、外部からのbreakができるらしい?(詳細不明) | | | ||