Package jnr.a64asm

Class Assembler_A64


  • public final class Assembler_A64
    extends Serializer
    Low level code generation.
    • Field Detail

      • _relocData

        private final java.util.List<RelocData> _relocData
      • cpuInfo

        private final CpuInfo cpuInfo
      • _properties

        private int _properties
      • _logger

        private final Logger _logger
      • Aarch_64

        public static final CPU_A64 Aarch_64
    • Constructor Detail

      • Assembler_A64

        public Assembler_A64​(CPU_A64 cpu)
    • Method Detail

      • intValue

        private static final int intValue​(boolean b)
      • offset

        public final int offset()
      • codeSize

        public final int codeSize()
        Gets the required size of memory required to store all the generated code
      • getByteAt

        public final byte getByteAt​(int pos)
      • getWordAt

        public final short getWordAt​(int pos)
      • getDWordAt

        public final int getDWordAt​(int pos)
      • getQWordAt

        public final long getQWordAt​(int pos)
      • setByteAt

        public final void setByteAt​(int pos,
                                    byte x)
      • setWordAt

        public final void setWordAt​(int pos,
                                    short x)
      • setDWordAt

        public final void setDWordAt​(int pos,
                                     int x)
      • setQWordAt

        public final void setQWordAt​(int pos,
                                     long x)
      • getInt32At

        public final int getInt32At​(int pos)
      • setInt32At

        public final void setInt32At​(int pos,
                                     long x)
      • setVarAt

        public final void setVarAt​(int pos,
                                   long i,
                                   boolean isUnsigned,
                                   int size)
      • _emitByte

        final void _emitByte​(int x)
        Emit Byte to internal buffer.
      • _emitWord

        final void _emitWord​(int x)
        Emit Word (2 bytes) to internal buffer.
      • _emitDWord

        final void _emitDWord​(int x)
        Emit DWord (4 bytes) to internal buffer.
      • _emitQWord

        final void _emitQWord​(long x)
        Emit QWord (8 bytes) to internal buffer.
      • _emitInt32

        final void _emitInt32​(int x)
        Emit Int32 (4 bytes) to internal buffer.
      • _emitSysInt

        final void _emitSysInt​(long x)
        Emit system signed integer (4 or 8 bytes) to internal buffer.
      • _emitOpCode

        final void _emitOpCode​(int opCode)
      • _emitImmediate

        void _emitImmediate​(Immediate imm,
                            int size)
      • _emitJmpOrCallReloc

        void _emitJmpOrCallReloc​(InstructionGroup instruction,
                                 long target)
      • relocCode

        public void relocCode​(java.nio.ByteBuffer buffer,
                              long address)