354 discussion with the exception of the right shift

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: hat perform data movement. The generality of the operand notation allows a simple move instruction to perform what in many machines would require a number of instructions. Figure 3.4 lists the important data movement instructions. The most common is the movl instruction for moving double words. The source operand designates a value that is immediate, stored in a register, or stored in memory. The destination operand designates a location that is either a register or a memory address. IA32 imposes the restriction that a move instruction cannot have both operands refer to memory locations. Copying a value from one memory location to another requires two instructions—the first to load the source value into a register, and the second to write this register value to the destination. The following are some examples of movl instructions showing the five possible combinations of source and destination types. Recall that the source operand comes first and the destination second. 1 2 3 4 5 movl movl movl movl movl $0x4050,%eax %ebp,%esp (%edi,%ecx),%eax $-17,(%esp) %eax,-12(%ebp)...
View Full Document

Ask a homework question - tutors are online