it's suppose too, depending how the data is send by the external world. If the external device send the character 128... you send 128 to the port. BUT if the external device send the string 128... if you're lucky, you'll send 1, then, 2, then 8 at the output. SO all depend of the external device.

What are your results as now?
Did you tried different modifiers? (DEC, HEX....)