Changeset 1380
- Timestamp:
- 12/14/09 08:12:51 (15 years ago)
- Files:
-
- trunk/docsrc/iasm.dd (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/docsrc/iasm.dd
r1372 r1380 19 19 passing conventions, etc. 20 20 ) 21 21 22 22 $(P This document describes the x86 implementation of the inline 23 23 assembler. 24 24 ) 25 25 26 26 $(GRAMMAR 27 27 $(GNAME AsmInstruction): 28 28 $(I Identifier) $(B :) $(I AsmInstruction) 29 $(B align) $( IIntegerExpression)29 $(B align) $(GLINK IntegerExpression) 30 30 $(B even) 31 31 $(B naked) 32 32 $(B db) $(I Operands) 33 33 $(B ds) $(I Operands) 34 34 $(B di) $(I Operands) 35 35 $(B dl) $(I Operands) 36 36 $(B df) $(I Operands) 37 37 $(B dd) $(I Operands) 38 38 $(B de) $(I Operands) 39 39 $(I Opcode) … … 57 57 { 58 58 call L1 ; 59 59 L1: ; 60 60 pop EBX ; 61 61 mov pc[EBP],EBX ; // pc now points to code at L1 62 62 } 63 63 -------------- 64 64 65 65 <h2>align $(I IntegerExpression)</h2> 66 66 67 $(GRAMMAR 68 $(GNAME IntegerExpression): 69 $(I IntegerLiteral) 70 $(I Identifier) 71 ) 72 67 73 $(P Causes the assembler to emit NOP instructions to align the next 68 74 assembler instruction on an $(I IntegerExpression) boundary. 69 $(I IntegerExpression) must evaluate to an integer that is75 $(I IntegerExpression) must evaluate at compile time to an integer that is 70 76 a power of 2. 71 77 ) 72 78 73 79 $(P Aligning the start of a loop body can sometimes have a dramatic 74 80 effect on the execution speed. 75 81 ) 76 82 77 83 <h2>even</h2> 78 84 79 85 $(P Causes the assembler to emit NOP instructions to align the next
