Re: Can an instruction ever have a jump and assignment?
The think the reason you don't see any destination and jump bit combinations in any of the sample codes is because there is almost no practical reason to ever use a statement like
M = D ; JEQ.
Since instructions are taken from ROM and data is stored in RAM, when you use a statement like the one above, you are storing the value of D in in RAM address 23 while jumping to ROM address 23 (if the D value is 0).
A trivial program
D = A
M = D; JMP
Here, we store the value 8 in D, set A to 0 and then store the value in D in RAM 0, while also jumping back to ROM 0 to start the program over again...So it's possible but it's hard to see a reason to use these kinds of statements.
Let me know if you can find a use for a statement like this.