This preview shows page 1. Sign up to view the full content.
Unformatted text preview: re written using ‘*’ followed by an operand speciﬁer using the same syntax as used for the movl instruction. As examples, the instruction
jmp *%eax uses the value in register %eax as the jump target, while 3.6. CONTROL
jmp *(%eax) 115 reads the jump target from memory, using the value in %eax as the read address. The other jump instructions either jump or continue executing at the next instruction in the code sequence depending on some combination of the condition codes. Note that the names of these instructions and the conditions under which they jump match those of the set instructions. As with the set instructions, some of the underlying machine instructions have multiple names. Conditional jumps can only be direct. Although we will not concern ourselves with the detailed format of object code, understanding how the targets of jump instructions are encoded will become important when we study linking in Chapter 7. In addition, it helps when interpreting the output of a disassembler. In assembly code, jump targets are written using symbolic labels. The assembler, and later the linker, generate the proper encodings of the jump targets. There are several differen...
View Full Document
This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.
- Spring '10
- The American