i32.rem_s

Pops two

`i32`

values off the stack, divides the first by the second, takes the remaining amount, and then
pushes that on to the stack. This looks at the values as signed integers (can be negative).
$result = $first % $second

```
i32.rem_s
```

i32 | The first value to be divided. |

i32 | The second value to divide by. |

i32 | The remaining amount left after dividing the first value by the second one. |

;; Push the i32 values onto the stack i32.const 10 i32.const 3 ;; Get remainder from 10 by 3 seeing it as signed i32.rem_s ;; The stack contains an i32 value of 1 (result = 10 % 3)

;; Push the i32 values onto the stack i32.const 0xF178CD56 i32.const 42 ;; Get remainder from 0xF178CD56 by 42 seeing it as signed i32.rem_s ;; The stack contains an i32 value of -24 (result = -243741354 % 42)

;; Push the i32 values onto the stack i32.const 0xF178CD56 i32.const 42 ;; Get remainder from 0xF178CD56 by 42 seeing it as unsigned i32.rem_u ;; The stack contains an i32 value of 22 (result = 4051225942 % 42)