FFh errors because in Clarion, any hex literal starting with A–F must have a leading digit — so 0FFh is valid. You don’t need all the extra zeroes, just the one at the front. This rule exists so the compiler can tell it’s a number and not a variable or procedure name. Clarion will happily assign it to a BYTE; the compiler doesn’t require it to be “4-byte” long.