The instruction ADD-C 17 adds the number 17 itself to the accumulator. The instruction ADD 17 gets the number that is stored in location 17 in main memory, and adds that number to the accumulator. High-level languages cannot be executed directly. Instructions in a high level language are in a form closer to human language, which is easier for people to work with. But they must be translated into machine language by a compiler or an interpreter before they can be executed by a computer.
Main memory contains a numbered sequence of locations.
Each location holds a binary number. Only one location can be used at any given time. The number in the PC is the address of the memory location where that instruction is stored. Putting this number into ADDR makes that location in main memory accessible. Everything that happens in a computer is accomplished by turning control wires on and off.