public void assembler(Assembler asm, Emit emit) { emit.emit(Opcodes.getOp(this)); emit.emit('\t'); emit.emit(asm.assembleRegister(ra)); emit.emit(','); if (displacement != null) { Displacement d = displacement; if (d instanceof OffsetDisplacement) { d = ((OffsetDisplacement) d).getBase(); } if (d instanceof StackDisplacement) { long disp = displacement.getDisplacement(); if (opcode == Opcodes.LDA) { emit.emit("0x"); emit.emit(Long.toHexString(disp & 0xffff)); } else { emit.emit("0x"); emit.emit(Long.toHexString((disp >> 16) & 0xffff)); } } else if (displacement.isNumeric()) { long disp = displacement.getDisplacement(); emit.emit((disp << 48) >> 48); } else { emit.emit(displacement.assembler(asm)); } } emit.emit('('); emit.emit(asm.assembleRegister(rb)); emit.emit(')'); if (displacement != null) { emit.emit(((AlphaAssembler) asm).relocationInfo(displacement, relocType)); } }
/** Insert the assembler representation of the instruction into the output stream. */ public void assembler(Assembler gen, Emit emit) { emit.emit(Opcodes.getOp(this)); emit.emit("\t%"); if (opcode == Opcodes.RR) emit.emit(SparcGenerator.sRegs[rs1]); else emit.emit(SparcGenerator.pRegs[rs1]); emit.emit(','); emit.emit(gen.assembleRegister(rd)); }
/** Insert the assembler representation of the instruction into the output stream. */ public void assembler(Assembler asm, Emit emit) { if (nullified()) emit.emit("nop ! "); emit.emit(Opcodes.getOp(this)); emit.emit(getOperandSizeLabel()); emit.emit('\t'); emit.emit(asm.assembleRegister(reg)); }
/** Insert the assembler representation of the instruction into the output stream. */ public void assembler(Assembler asm, Emit emit) { if (nullified()) emit.emit("nop ! "); emit.emit(Opcodes.getOp(opcode)); emit.emit('\t'); emit.emit(asm.assembleRegister(rd)); emit.emit(','); emit.emit("0x" + Integer.toHexString(cv)); emit.emit(','); emit.emit("0x" + Integer.toHexString(cv2)); }
/** Insert the assembler representation of the instruction into the output stream. */ public void assembler(Assembler gen, Emit emit) { emit.emit(Opcodes.getOp(this)); emit.emit(" 0("); emit.emit(gen.assembleRegister(ra)); emit.emit(')'); }