Package jnr.a64asm
Class Assembler_A64
java.lang.Object
jnr.a64asm.SerializerCore
jnr.a64asm.SerializerIntrinsics_a64
jnr.a64asm.Serializer
jnr.a64asm.Assembler_A64
Low level code generation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CodeBufferprivate final Loggerprivate intstatic final CPU_A64private final CPU_A64private final CpuInfoFields inherited from class jnr.a64asm.SerializerCore
_none -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void(package private) final void_emitByte(int x) Emit Byte to internal buffer.(package private) final void_emitDWord(int x) Emit DWord (4 bytes) to internal buffer.(package private) void_emitImmediate(Immediate imm, int size) (package private) final void_emitInt32(int x) Emit Int32 (4 bytes) to internal buffer.(package private) void_emitJmpOrCallReloc(InstructionGroup instruction, long target) (package private) final void_emitOpCode(int opCode) (package private) final void_emitQWord(long x) Emit QWord (8 bytes) to internal buffer.(package private) final void_emitSysInt(long x) Emit system signed integer (4 or 8 bytes) to internal buffer.(package private) final void_emitWord(int x) Emit Word (2 bytes) to internal buffer.final intcodeSize()Gets the required size of memory required to store all the generated codefinal bytegetByteAt(int pos) final intgetDWordAt(int pos) final intgetInt32At(int pos) final longgetQWordAt(int pos) final shortgetWordAt(int pos) private static final intintValue(boolean b) (package private) booleanis64()final intoffset()voidrelocCode(ByteBuffer buffer, long address) final voidsetByteAt(int pos, byte x) final voidsetDWordAt(int pos, int x) final voidsetInt32At(int pos, long x) final voidsetQWordAt(int pos, long x) final voidsetVarAt(int pos, long i, boolean isUnsigned, int size) final voidsetWordAt(int pos, short x) Methods inherited from class jnr.a64asm.SerializerIntrinsics_a64
adc, adcs, add, add, add, adds, adds, adds, adr, adrp, and, and, ands, ands, asr, asr, asrv, b, bcc, bcs, beq, bfi, bfm, bfxil, bge, bgt, bhi, bhs, bic, bics, bl, ble, blo, blr, bls, blt, bmi, bne, bpl, br, brk, bvc, bvs, cbnz, cbz, ccmn, ccmn, ccmp, ccmp, cinc, cinv, clrex, cls, clz, cmn, cmn, cmn, cmp, cmp, cmp, cneg, csel, cset, csetm, csinc, csinv, csneg, dc, dcps1, dcps2, dcps3, dmb, drps, dsb, eon, eor, eor, eret, extr, hint, hlt, hvc, ic, isb, ldar, ldarb, ldarh, ldaxp, ldaxr, ldaxrb, ldaxrh, ldnp, ldp, ldp, ldp, ldpsw, ldpsw, ldpsw, ldr, ldr, ldr, ldr, ldr, ldrb, ldrb, ldrb, ldrb, ldrh, ldrh, ldrh, ldrh, ldrsb, ldrsb, ldrsb, ldrsb, ldrsh, ldrsh, ldrsh, ldrsh, ldrsw, ldrsw, ldrsw, ldrsw, ldrsw, ldtr, ldtrb, ldtrh, ldtrsb, ldtrsh, ldtrsw, ldur, ldurb, ldurh, ldursb, ldursh, ldursw, ldxp, ldxr, ldxrb, ldxrh, lsl, lsl, lslv, lsr, lsr, lsrv, madd, mneg, mov, mov, mov, movk, movn, movz, mrs, msr, msr, msub, mul, mvn, neg, negs, ngc, ngcs, nop, orn, orr, orr, prfm, prfm, prfm, prfum, rbit, ret, rev, rev16, rev32, ror, ror, rorv, sbc, sbcs, sbfiz, sbfm, sbfx, sdiv, sev, sevl, smaddl, smc, smnegl, smsubl, smulh, smull, stlr, stlrb, stlrh, stlxp, stlxr, stlxrb, stlxrh, stnp, stp, stp, stp, str, str, str, str, strb, strb, strb, strb, strh, strh, strh, strh, sttr, sttrb, sttrh, stur, sturb, sturh, stxp, stxr, stxrb, stxrh, sub, sub, sub, subs, subs, subs, svc, sxtb, sxth, sxtw, tbnz, tbz, tst, tst, ubfiz, ubfm, ubfx, udiv, umaddl, umnegl, umsubl, umulh, umull, uxtb, uxth, uxtw, wfe, wfi, yield
-
Field Details
-
_buffer
-
_relocData
-
cpuInfo
-
_properties
private int _properties -
_logger
-
cpu
-
Aarch_64
-
-
Constructor Details
-
Assembler_A64
-
-
Method Details
-
is64
boolean is64()- Specified by:
is64in classSerializerCore
-
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
-
_emita64
- Specified by:
_emita64in classSerializerCore
-
_emitJmpOrCallReloc
-
relocCode
-