i32.shr_s

Pops two

`i32`

values off the stack, shift the first value to the right by the second number of bits, and then
pushes the result back on to the stack. This looks at the value as a signed integer (can be negative).
The new bit on the left (the most significant bit) will be a 1 if the number is negative, or 0 if the number is positive.
$result = $first >> $second

```
i32.shr_s
```

i32 | The first value to be shifted right. |

i32 | The second value to shift the bits by. |

i32 | The result of shifting the first value right by the second value's number of bits. |

;; Push the i32 value 0b00101011 (43) onto the stack i32.const 43 ;; Push the i32 value 2 onto the stack i32.const 2 ;; Pop the two i32 values off the stack, shift the first value right ;; by the second value's number of bits and push the result ;; back onto the stack i32.shr_s ;; The stack contains an i32 value of 0b00001010 (10)

;; Push the i32 value 0xF1234567 (-249346713) onto the stack i32.const 0xF1234567 ;; Push the i32 value 4 onto the stack i32.const 4 ;; Shift right again but this time the value is negative i32.shr_s ;; The stack contains an i32 value of 0xFF123456 (-15584170)