SAGA/Bytecode Instruction Table

From ScummVM :: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Opcode Instruction Format Description
01 ALGN - Align to next offset unit
02 PSHN - Push stack (no value)
03 POPN - Pop stack and discard result
04 PSHF - Push 0 onto stack
05 PSHT - Push 1 onto stack
06 PUSH [ w ] Push immediate onto stack
08 PSHD [ w ] Push dialogue string index onto stack
0B TSTF [b][ w ] Test Flag
0C GETW [b][ w ] Get Word
0F MODF [b][ w ] Set / Clear Flag
10 PUTW [b][ w ] Put Word
13 MDFP [b][ w ] Set / Clear Flag, Pop
14 PTWP [b][ w ] Put Word, Pop
17 GOSB [b][b][ w ] Call Subroutine
18 CALL [b][ w ] Call function
19 CALL [b][ w ] Call function
1A ENTR [ w ] Entrypoint
1B ? -
1C EXIT - Exit script processing
1D JMP [ w ] Unconditional jump
1E JNZP [ w ] Jump if Not Zero, Pop
1F JZP [ w ] Jump if Zero, Pop
20 JNZ [ w ] Jump if Not Zero
21 JZ [ w ] Jump if Zero
22 SWCH [ w ]([ w ][ w ])*n [ w ] Switch
24 RJMP [ w ][ w ]([ w ][ w ])*n Random branch
25 NEG - Negate
26 TSTZ - Test for zero
27 NOT - Binary NOT
28 ? [b][ w ]
29 ? [b][ w ]
2A ? [b][ w ]
2B ? [b][ w ]
2C ADD - Add
2D SUB - Subtract
2E MULT - Multiply
2F DIV - Divide
30 MOD - Modulus
33 EQU - Test Equality
34 NEQU - Test Inequality
35 GRT - Test Greater-than
36 LST - Test Less-than
37 GRTE - Test Greater-than or Equal
38 LSTE - Test Less-than or Equal
3F SHR - Arithmetic Bitshift Right
40 SHL - Arithmetic Bitshift Left
41 AND - Binary AND
42 OR - Binary OR
43 XOR - Binary XOR
44 LAND - Logical AND
45 LOR - Logical OR
46 LXOR - Logical XOR
53 DLGP [b][ w ][b][ w ] Play character dialogue
54 DLGS - Setup dialogue tree
55 DLGX - Run dialogue tree
56 DLGO [b][b]([ w ]) Add dialogue tree option
57 JMPS [ w ][ w ][b] Short jump