Hyphenate two or more words used as an adjective
Two words used as one adjective*
built-in drive lower-left corner
high-level language floating-point decimal
read-only memory memory-resident program
line-by-line scrolling import-duty increase
scrolling line by line [adverb] machine-independent language
Two words in which one word is a past or present participle
copy-protected disk decision-making process
free-moving graphics
Compound numbers and fractions
4-column page 3.5-inch disk
eight-point font 20-megabyte memory (or 20 MB)
16-bit bus 5-year grant
his forty-first birthday 10-month period
one-third of the page three sixty-fourths
*Tip: If splitting the words with a comma changes the meaning, than you need a hyphen