Package org.jnode.assembler.x86

Examples of org.jnode.assembler.x86.X86Assembler.writeMOV()


                res = L1AHelper.requestDoubleWordRegisters(ec, getType());
                if (os.isCode32()) {
                    final GPR lsb = res.getLsbRegister(ec);
                    final GPR msb = res.getMsbRegister(ec);
                    os.writeMOV(INTSIZE, lsb, this.lsb);
                    os.writeMOV(INTSIZE, msb, this.msb);
                } else {
                    final GPR64 reg = res.getRegister(ec);
                    os.writeMOV(BITS64, reg, this.reg);
                }
                break;
View Full Code Here


                    final GPR msb = res.getMsbRegister(ec);
                    os.writeMOV(INTSIZE, lsb, this.lsb);
                    os.writeMOV(INTSIZE, msb, this.msb);
                } else {
                    final GPR64 reg = res.getRegister(ec);
                    os.writeMOV(BITS64, reg, this.reg);
                }
                break;

            case Kind.LOCAL:
                res = (DoubleWordItem) factory.createLocal(getType(), super
View Full Code Here

                    // invariant: (msb != this.lsb) && (msb != lsb) && (this.msb !=
                    // this.lsb)
                    // msb <- msb'
                    // lsb <- lsb'
                    if (msb != this.msb) {
                        os.writeMOV(INTSIZE, msb, this.msb);
                        if (lsb != this.msb) {
                            pool.release(this.msb);
                        }
                    }
                    if (lsb != this.lsb) {
View Full Code Here

                        }
                    }
                    if (lsb != this.lsb) {
                        // invariant: (msb != this.lsb) && (lsb != this.lsb) && (msb
                        // != lsb) && (this.msb != this.lsb)
                        os.writeMOV(INTSIZE, lsb, this.lsb);
                        // if (msb != this.lsb) { <- enforced by first if()
                        pool.release(this.lsb);
                        // }
                    }
                } else if (lsb != this.msb) {
View Full Code Here

                    // invariant: (msb == this.lsb) && (lsb != this.msb)
                    // lsb <- lsb'
                    // msb <- msb'
                    // if (lsb != this.lsb) { <- always true, because msb ==
                    // this.lsb
                    os.writeMOV(INTSIZE, lsb, this.lsb);
                    // if (msb != this.lsb) { <- always false, because of invariant
                    // pool.release(this.lsb);
                    // }
                    // }
                    // if (msb != this.msb) { <- always true, because of invariant
View Full Code Here

                    // if (msb != this.lsb) { <- always false, because of invariant
                    // pool.release(this.lsb);
                    // }
                    // }
                    // if (msb != this.msb) { <- always true, because of invariant
                    os.writeMOV(INTSIZE, msb, this.msb);
                    // if (lsb != this.msb) { <- always true, because of invariant
                    pool.release(this.msb);
                    // }
                    // }
                } else {
View Full Code Here

                }
                break;

            case Kind.LOCAL:
                final int ofs = super.getOffsetToFP(ec);
                os.writeMOV(INTSIZE, lsb, X86Register.EBP, ofs);
                os.writeMOV(INTSIZE, msb, X86Register.EBP, ofs + 4);
                break;

            case Kind.CONSTANT:
                loadToConstant32(ec, os, (GPR32) lsb, (GPR32) msb);
View Full Code Here

                break;

            case Kind.LOCAL:
                final int ofs = super.getOffsetToFP(ec);
                os.writeMOV(INTSIZE, lsb, X86Register.EBP, ofs);
                os.writeMOV(INTSIZE, msb, X86Register.EBP, ofs + 4);
                break;

            case Kind.CONSTANT:
                loadToConstant32(ec, os, (GPR32) lsb, (GPR32) msb);
                break;
View Full Code Here

        }

        switch (getKind()) {
            case Kind.GPR:
                if (this.reg != reg) {
                    os.writeMOV(BITS64, reg, this.reg);
                    cleanup(ec);
                }
                break;

            case Kind.LOCAL:
View Full Code Here

                    cleanup(ec);
                }
                break;

            case Kind.LOCAL:
                os.writeMOV(BITS64, reg, X86Register.RBP, getOffsetToFP(ec));
                break;

            case Kind.CONSTANT:
                loadToConstant64(ec, os, reg);
                break;
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.