As stated earlier we do not condone using this or any

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: sult in the single-byte register %bl. The second instruction then zero-extends and copies the value to whatever register the compiler chooses to hold result, indicated by operand %0. The output list consists of pairs of values separated by spaces. (In this example there is only a single pair). The first element of the pair is a string indicating the operand type, where ‘r’ indicates an integer register and ‘=’ indicates that the assembly code assigns a value to this operand. The second element of the pair is the operand enclosed in parentheses. It can be any assignable value (known in C as an lvalue). 3.15. *EMBEDDING ASSEMBLY CODE IN C PROGRAMS 191 The input list has the same general format, while the overwrite list simply gives the names of the registers (as quoted strings) that are overwritten. The code shown above works regardless of the compilation flags. As this example illustrates, it may take a little creative thinking to write assembly code that will allow the operands to be described in the required form. For example, there are no direct ways to specify a program value to use as t...
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.

Ask a homework question - tutors are online