2019 Day 09 : Problem with invalid opcode

Hello,

I'm currently doing the 2019 AOC at my own pace, and I having trouble making things work for day09.

So far, my code is the following :

https://gist.github.com/Oupsman/9eea33b6600f6a307e58fba39b8a833c

I just can't understand why 398 is considered by my code as a opcode to execute.

I tried my day09 code with day 05 input, and it still works as expected. So I suspect that I don't handle the position mode well enough, but I can't see what am I missing.

Any pointer will be much appreciated.

Thanks all