Thank you, that's come in handy. Now I'm onto writing specific operands, I have gotten MB and MI working (reading and writing), ML, MF, DW (reading only).
I'm not sure what the method for writing those last 3 are, I know that I have to reverse the byte order for MIs, is it similar for MLs? I'm assuming that ML is 4 hex bytes and DW is 6.
I have to write this for every operand type. I'm still running through the C# in relation to those.