comparison gen/asm-x86-32.h @ 1094:fa20521cbb13

Change faulty offset for asm in Cache.d (ie. change "-20(%rbp)+4)" to "4+-20(%rbp)")
author Kelly Wilson <wilsonk cpsc.ucalgary.ca>
date Wed, 11 Mar 2009 00:08:45 -0400
parents e6fadb6e6bdd
children d6bd818212de
comparison
equal deleted inserted replaced
1093:cb868105a6b5 1094:fa20521cbb13
2053 { 2053 {
2054 mode = Mode_Input; 2054 mode = Mode_Input;
2055 } 2055 }
2056 2056
2057 use_star = opTakesLabel();//opInfo->takesLabel(); 2057 use_star = opTakesLabel();//opInfo->takesLabel();
2058
2059 if ( operand->segmentPrefix != Reg_Invalid || operand->constDisplacement )
2060 {
2061 insnTemplate->printf ( "%d", operand->constDisplacement );
2062 if ( operand->symbolDisplacement.dim )
2063 insnTemplate->writebyte ( '+' );
2064 //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
2065 if ( opInfo->operands[i] & Opr_Dest )
2066 asmcode->clobbersMemory = 1;
2067 }
2068
2058 if ( operand->segmentPrefix != Reg_Invalid ) 2069 if ( operand->segmentPrefix != Reg_Invalid )
2059 { 2070 {
2060 writeReg ( operand->segmentPrefix ); 2071 writeReg ( operand->segmentPrefix );
2061 insnTemplate->writebyte ( ':' ); 2072 insnTemplate->writebyte ( ':' );
2062 } 2073 }
2172 } 2183 }
2173 } 2184 }
2174 } 2185 }
2175 if ( use_star ) 2186 if ( use_star )
2176 insnTemplate->writebyte ( '*' ); 2187 insnTemplate->writebyte ( '*' );
2177 if ( operand->segmentPrefix != Reg_Invalid || operand->constDisplacement )
2178 {
2179 if ( operand->symbolDisplacement.dim )
2180 insnTemplate->writebyte ( '+' );
2181 //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
2182 insnTemplate->printf ( "%d", operand->constDisplacement );
2183 if ( opInfo->operands[i] & Opr_Dest )
2184 asmcode->clobbersMemory = 1;
2185 }
2186 if ( operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid ) 2188 if ( operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid )
2187 { 2189 {
2188 insnTemplate->writebyte ( '(' ); 2190 insnTemplate->writebyte ( '(' );
2189 if ( operand->baseReg != Reg_Invalid ) 2191 if ( operand->baseReg != Reg_Invalid )
2190 writeReg ( operand->baseReg ); 2192 writeReg ( operand->baseReg );