Earlier quoted context omitted.
It increments rip by one.
No, that's done by the decoder. It actually does nothing.
Assembly Hall of Shame
61–70 of 106 posts
Re: Assembly Hall of Shame
#62Re: Assembly Hall of Shame
#63Re: Assembly Hall of Shame
#64Earlier quoted context omitted.
The decoder is an implementation detail that is a subcomponent of NOP; GP was right, and your correction isn't.
It's not an implementation detail, because the decoder runs before the execution of every instruction. If we're going to say that NOP increments IP by one, then we should also say that ADD "stores in dst the addition of src and dst, as well as incrementing IP by the length of the instruction", and JMP imm "increments JMP by imm + the length of the instruction".
Re: Assembly Hall of Shame
#65Nop should be #1, because it is infinitely slow for what it does. ;)
Re: Assembly Hall of Shame
#66Re: Assembly Hall of Shame
#67Seems like spam from this creator since there are two things on the front page?
Re: Assembly Hall of Shame
#68Earlier quoted context omitted.
It's not an implementation detail, because the decoder runs before the execution of every instruction. If we're going to say that NOP increments IP by one, then we should also say that ADD "stores in dst the addition of src and dst, as well as incrementing IP by the length of the instruction", and JMP imm "increments JMP by imm + the length of the instruction".
ADD does in fact do that.
Re: Assembly Hall of Shame
#69E.g. we can build a board around a MC68000 where we make it lock up forever in a bus cycle, waiting for a DTACK that doesn't arrive.
Some early microprocessors had clocked bus cycles without handshaking. They would put out an address on some address lines and signal some line together with a read/write indication, and then expect the transfer to be completed within some clock cycles. If nothing is attached to the address, they would read whatever values are on the bus, like maybe all 1's if it is an open drain system that requires the transmitting device to pull to ground to indicate zero.
I'd say that kind of thing belongs to a hall of shame; it requires software hacks to interface with anything that can't keep up with the prescribed bus cycle.