Well if i move 'A' into al first the compiler wont care if its and immediat because it's gonna have 65 in al anyways the same as if i pulled it out of memory at some random address. Either way it's a value being placed in memory. So it should work. Now i can not move an immediat directly to memory is that was you were refering to? because in that case you are right, i have to go though a register first.