Since I am incredibly stupid when it comes to computers, i thought assembler was a programming language like C or C++ and could run on any machine. Only recently did I discover that the Assembler language changes by which computer you are using it, so that it is much harder for comptuers to trade programs and source code with each other. This brings me to virus's, which I have read to be sometimes written in assembler. My question is, how does a program written in a particular version of a programming language infect a computer which cannot understand it?