| 312 | <h4>S_NOP</h4> |
| 313 | <p>Opcode: 0 (0x0)<br /> |
| 314 | Syntax: S_NOP SIMM16<br /> |
| 315 | Description: Do nothing by (SIMM16&7) + 1 cycles.<br /> |
| 316 | Operation: nothing</p> |
| 317 | <h4>S_SENDMSG</h4> |
| 318 | <p>Opcode: 16 (0x10)<br /> |
| 319 | Syntax: S_SENDMSG SENDMSG(MSG, GS_OP, STREAMID)<br /> |
| 320 | Description: Send message. List of messages:</p> |
| 321 | <ul> |
| 322 | <li>INTERRUPT, MSG_INTERRUPT - interrupt. M0&0xff - carries user data, |
| 323 | IDs also sent (wave_id, cu_id, ...)</li> |
| 324 | <li>GS, MSG_GS</li> |
| 325 | <li>GS_DONE, MSG_GS_DONE</li> |
| 326 | <li>SYSMSG, MSG_SYSMSG, SYSTEM, MSG_SYSTEM</li> |
| 327 | </ul> |
| 328 | <p>List of the GSOP:</p> |
| 329 | <ul> |
| 330 | <li>NOP, GS_NOP - M0&0xff defines wave id. only GS_DONE</li> |
| 331 | <li>CUT, GS_CUT - (SIMM16 & 0x300)>>8 - streamid, EXEC also sent, M0&0xff - gs waveID</li> |
| 332 | <li>EMIT, GS_EMIT - (SIMM16 & 0x300)>>8 - streamid, EXEC also sent, M0&0xff - gs waveID</li> |
| 333 | <li>EMIT_CUT, GS_EMIT_CUT - (SIMM16 & 0x300)>>8 - streamid, EXEC also sent, |
| 334 | M0&0xff - gs waveID</li> |
| 335 | </ul> |
| 336 | <h4>S_SENDMSGHALT</h4> |
| 337 | <p>Opcode: 17 (0x11)<br /> |
| 338 | Syntax: S_SENDMSGHALT SENDMSG(MSG, GS_OP, STREAMID)<br /> |
| 339 | Description: Send message and halt.</p> |
319 | | <h4>S_NOP</h4> |
320 | | <p>Opcode: 0 (0x0)<br /> |
321 | | Syntax: S_NOP SIMM16<br /> |
322 | | Description: Do nothing by (SIMM16&7) + 1 cycles.<br /> |
323 | | Operation: nothing</p> |
| 347 | <h4>S_SETPRIO</h4> |
| 348 | <p>Opcode: 15 (0xf)<br /> |
| 349 | Syntax: S_SETPRIO SIMM16<br /> |
| 350 | Description: Set priority to SIMM16&3.<br /> |
| 351 | Operation:<br /> |
| 352 | <code>PRIORITY = SIMM16&3</code></p> |
| 353 | <h4>S_SLEEP</h4> |
| 354 | <p>Opcode: 14 (0xe)<br /> |
| 355 | Syntax: S_SLEEP SIMM16<br /> |
| 356 | Description: Sleep approximately by (SIMM16&0x7)*64 cycles.</p> |