An Introduction to Microcomputers, Vol. 1: Basic concepts