You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Svc/FpySequencer/docs/directives.md
+13-40Lines changed: 13 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -866,33 +866,7 @@ Pushes the current time, from the `timeCaller` port, to the stack.
866
866
867
867
**Requirement:** FPY-SEQ-010
868
868
869
-
## SET_FLAG (67)
870
-
Pops a bool off the stack, and sets a command sequencer flag from the value.
871
-
872
-
| Arg Name | Arg Type | Source | Description |
873
-
|----------|----------|--------|-------------|
874
-
| flag_idx | U8 | hardcoded | Index of the flag to set |
875
-
| value | bool | stack | Value to set the flag to |
876
-
877
-
| Stack Result Type | Description |
878
-
| ------------------|-------------|
879
-
| N/A ||
880
-
881
-
**Requirement:** FPY-SEQ-020
882
-
883
-
## GET_FLAG (68)
884
-
Gets a command sequencer flag and pushes its value to the stack as `FW_SERIALIZE_TRUE_VALUE` or `FW_SERIALIZE_FALSE_VALUE`.
885
-
| Arg Name | Arg Type | Source | Description |
886
-
|----------|----------|--------|-------------|
887
-
| flag_idx | U8 | hardcoded | Index of the flag to get |
888
-
889
-
| Stack Result Type | Description |
890
-
| ------------------|-------------|
891
-
| bool | The value of the flag |
892
-
893
-
**Requirement:** FPY-SEQ-020
894
-
895
-
## GET_FIELD (69)
869
+
## GET_FIELD (67)
896
870
Pops an offset (StackSizeType) off the stack. Takes a hard-coded number of bytes from top of stack, and then inside of that a second array of hard-coded number of bytes. The second array is offset by the value previously popped off the stack, with offset 0 meaning the second array starts furthest down the stack. Leaves only the second array of bytes, deleting the surrounding bytes.
897
871
898
872
| Arg Name | Arg Type | Source | Description |
@@ -907,7 +881,7 @@ Pops an offset (StackSizeType) off the stack. Takes a hard-coded number of bytes
907
881
908
882
**Requirement:** FPY-SEQ-019
909
883
910
-
## PEEK (70)
884
+
## PEEK (68)
911
885
Pops a StackSizeType `offset` off the stack, then a StackSizeType `byteCount`. Let `top` be the top of the stack. Takes the region starting at `top - offset - byteCount` and going to `top - offset`, and pushes this region to the top of the stack.
912
886
| Arg Name | Arg Type | Source | Description |
913
887
|----------|----------|--------|-------------|
@@ -920,7 +894,7 @@ Pops a StackSizeType `offset` off the stack, then a StackSizeType `byteCount`. L
920
894
921
895
**Requirement:** FPY-SEQ-009
922
896
923
-
## STORE_REL (71)
897
+
## STORE_REL (69)
924
898
Stores a value to a local variable at a runtime-determined offset relative to the current stack frame.
925
899
926
900
**Preconditions:**
@@ -948,7 +922,7 @@ Stores a value to a local variable at a runtime-determined offset relative to th
948
922
949
923
**Requirement:** FPY-SEQ-009
950
924
951
-
## CALL (72)
925
+
## CALL (70)
952
926
Performs a function call. Pops the target directive index from the stack, saves the return address and current frame pointer to the stack, then transfers control to the target.
953
927
954
928
**Preconditions:**
@@ -984,7 +958,7 @@ Performs a function call. Pops the target directive index from the stack, saves
984
958
985
959
**Requirement:** FPY-SEQ-009
986
960
987
-
## RETURN (73)
961
+
## RETURN (71)
988
962
Returns from a function call. Restores the caller's execution context and optionally returns a value.
989
963
990
964
**Preconditions:**
@@ -1033,7 +1007,7 @@ stack_frame_start (restored) stack top
1033
1007
1034
1008
**Requirement:** FPY-SEQ-009
1035
1009
1036
-
## LOAD_ABS (74)
1010
+
## LOAD_ABS (72)
1037
1011
Loads a value from an absolute address in the stack (used for global variables), and pushes it to the stack.
1038
1012
1039
1013
**Preconditions:**
@@ -1059,7 +1033,7 @@ Loads a value from an absolute address in the stack (used for global variables),
1059
1033
1060
1034
**Requirement:** FPY-SEQ-009
1061
1035
1062
-
## STORE_ABS (75)
1036
+
## STORE_ABS (73)
1063
1037
Stores a value to an absolute address in the stack (used for global variables), with the offset determined at runtime.
1064
1038
1065
1039
**Preconditions:**
@@ -1084,7 +1058,7 @@ Stores a value to an absolute address in the stack (used for global variables),
1084
1058
1085
1059
**Requirement:** FPY-SEQ-009
1086
1060
1087
-
## STORE_ABS_CONST_OFFSET (76)
1061
+
## STORE_ABS_CONST_OFFSET (74)
1088
1062
Stores a value to an absolute address in the stack (used for global variables), with a compile-time-known offset.
1089
1063
1090
1064
**Preconditions:**
@@ -1108,7 +1082,7 @@ Stores a value to an absolute address in the stack (used for global variables),
1108
1082
1109
1083
**Requirement:** FPY-SEQ-009
1110
1084
1111
-
## POP_EVENT (77)
1085
+
## POP_EVENT (75)
1112
1086
Pops a message size, message, and severity from the stack and emits an F Prime event.
1113
1087
1114
1088
**Preconditions:**
@@ -1143,7 +1117,7 @@ Pops a message size, message, and severity from the stack and emits an F Prime e
If this is called without the seed being manually set beforehand, then the seed will be set based on the current time.
1135
+
`PUSH_RAND` uses `std::mt19937` from C++'s random library, a deterministic non-cryptographic PRNG. It is suitable for repeatable pseudo-random values, simulations, randomized sequencing behavior, or tests, but it does not qualify as a [CSPRNG](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator) and is not suitable for cryptographic keys, secrets, authentication tokens, or security-sensitive randomness.
1163
1136
| Stack Result Type | Description |
1164
1137
| ------------------|-------------|
1165
1138
| U32 | The next pseudorandom 32-bit value from the sequencer's internal PRNG |
0 commit comments