i64.shr_s

Pops two

`i64`

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

```
i64.shr_s
```

i64 | The first value to be shifted right. |

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

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

;; Push the i64 value 0b00101011 (43) onto the stack i64.const 43 ;; Push the i64 value 2 onto the stack i64.const 2 ;; Pop the two i64 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 i64.shr_s ;; The stack contains an i64 value of 0b00001010 (10)

;; Push the i64 value 0xFEDCBA9876543210 = (-81985529216486896) ;; onto the stack i64.const 0xFEDCBA9876543210 ;; Push the i64 value 4 onto the stack i64.const 4 ;; Shift right again but this time the value is negative i64.shr_s ;; The stack contains an i64 value of 0xFFEDCBA987654321 ;; = (-5124095576030431)