aarch64 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/Rakefile +2 -0
- data/lib/aarch64/instructions/adc.rb +1 -1
- data/lib/aarch64/instructions/adcs.rb +1 -1
- data/lib/aarch64/instructions/add_addsub_ext.rb +1 -1
- data/lib/aarch64/instructions/and_log_imm.rb +1 -1
- data/lib/aarch64/instructions/ands_log_imm.rb +1 -1
- data/lib/aarch64/instructions/asrv.rb +1 -1
- data/lib/aarch64/instructions/axflag.rb +0 -6
- data/lib/aarch64/instructions/cfinv.rb +1 -1
- data/lib/aarch64/instructions/crc32.rb +1 -1
- data/lib/aarch64/instructions/crc32c.rb +1 -1
- data/lib/aarch64/instructions/csdb.rb +1 -8
- data/lib/aarch64/instructions/csel.rb +1 -1
- data/lib/aarch64/instructions/csneg.rb +1 -1
- data/lib/aarch64/instructions/dcps.rb +1 -1
- data/lib/aarch64/instructions/dgh.rb +1 -8
- data/lib/aarch64/instructions/dmb.rb +1 -1
- data/lib/aarch64/instructions/drps.rb +1 -1
- data/lib/aarch64/instructions/dsb.rb +1 -1
- data/lib/aarch64/instructions/eon.rb +1 -1
- data/lib/aarch64/instructions/eor_log_imm.rb +1 -1
- data/lib/aarch64/instructions/eor_log_shift.rb +1 -1
- data/lib/aarch64/instructions/eret.rb +1 -1
- data/lib/aarch64/instructions/ereta.rb +1 -1
- data/lib/aarch64/instructions/esb.rb +1 -8
- data/lib/aarch64/instructions/extr.rb +1 -1
- data/lib/aarch64/instructions/gmi.rb +1 -1
- data/lib/aarch64/instructions/hlt.rb +1 -1
- data/lib/aarch64/instructions/hvc.rb +1 -1
- data/lib/aarch64/instructions/irg.rb +1 -1
- data/lib/aarch64/instructions/isb.rb +1 -1
- data/lib/aarch64/instructions/ld64b.rb +1 -1
- data/lib/aarch64/instructions/ldadd.rb +1 -1
- data/lib/aarch64/instructions/ldaddb.rb +1 -1
- data/lib/aarch64/instructions/ldaddh.rb +1 -1
- data/lib/aarch64/instructions/ldapr.rb +1 -1
- data/lib/aarch64/instructions/ldaprb.rb +1 -1
- data/lib/aarch64/instructions/ldaprh.rb +1 -1
- data/lib/aarch64/instructions/ldapur_gen.rb +1 -1
- data/lib/aarch64/instructions/ldar.rb +1 -1
- data/lib/aarch64/instructions/ldaxp.rb +1 -1
- data/lib/aarch64/instructions/ldaxr.rb +1 -1
- data/lib/aarch64/instructions/ldclr.rb +1 -1
- data/lib/aarch64/instructions/ldclrb.rb +1 -1
- data/lib/aarch64/instructions/ldeor.rb +1 -1
- data/lib/aarch64/instructions/ldg.rb +1 -1
- data/lib/aarch64/instructions/ldgm.rb +1 -1
- data/lib/aarch64/instructions/ldlar.rb +1 -1
- data/lib/aarch64/instructions/ldnp_gen.rb +1 -1
- data/lib/aarch64/instructions/ldp_gen.rb +1 -1
- data/lib/aarch64/instructions/ldpsw.rb +1 -1
- data/lib/aarch64/instructions/ldr_imm_gen.rb +1 -1
- data/lib/aarch64/instructions/ldr_imm_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldr_lit_gen.rb +1 -1
- data/lib/aarch64/instructions/ldr_reg_gen.rb +1 -1
- data/lib/aarch64/instructions/ldra.rb +1 -1
- data/lib/aarch64/instructions/ldrb_imm.rb +1 -1
- data/lib/aarch64/instructions/ldrb_reg.rb +1 -1
- data/lib/aarch64/instructions/ldrb_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldrh_imm.rb +1 -1
- data/lib/aarch64/instructions/ldrh_reg.rb +1 -1
- data/lib/aarch64/instructions/ldrh_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldrsb_imm.rb +1 -1
- data/lib/aarch64/instructions/ldrsb_reg.rb +1 -1
- data/lib/aarch64/instructions/ldrsb_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldrsh_imm.rb +1 -1
- data/lib/aarch64/instructions/ldrsh_reg.rb +1 -1
- data/lib/aarch64/instructions/ldrsh_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldrsw_imm.rb +1 -1
- data/lib/aarch64/instructions/ldrsw_lit.rb +1 -1
- data/lib/aarch64/instructions/ldrsw_reg.rb +1 -1
- data/lib/aarch64/instructions/ldrsw_unsigned.rb +1 -1
- data/lib/aarch64/instructions/ldset.rb +1 -1
- data/lib/aarch64/instructions/ldsetb.rb +1 -1
- data/lib/aarch64/instructions/ldseth.rb +1 -1
- data/lib/aarch64/instructions/ldsmax.rb +1 -1
- data/lib/aarch64/instructions/ldsmaxb.rb +1 -1
- data/lib/aarch64/instructions/ldsmaxh.rb +1 -1
- data/lib/aarch64/instructions/ldsmin.rb +1 -1
- data/lib/aarch64/instructions/ldsminb.rb +1 -1
- data/lib/aarch64/instructions/ldsminh.rb +1 -1
- data/lib/aarch64/instructions/ldtr.rb +1 -1
- data/lib/aarch64/instructions/ldtrb.rb +1 -1
- data/lib/aarch64/instructions/ldtrh.rb +1 -1
- data/lib/aarch64/instructions/ldtrsb.rb +1 -1
- data/lib/aarch64/instructions/ldtrsh.rb +1 -1
- data/lib/aarch64/instructions/ldtrsw.rb +1 -1
- data/lib/aarch64/instructions/ldumax.rb +1 -1
- data/lib/aarch64/instructions/ldumaxb.rb +1 -1
- data/lib/aarch64/instructions/ldumaxh.rb +1 -1
- data/lib/aarch64/instructions/ldumin.rb +1 -1
- data/lib/aarch64/instructions/lduminb.rb +1 -1
- data/lib/aarch64/instructions/lduminh.rb +1 -1
- data/lib/aarch64/instructions/ldur_gen.rb +1 -1
- data/lib/aarch64/instructions/ldursb.rb +1 -1
- data/lib/aarch64/instructions/ldursh.rb +1 -1
- data/lib/aarch64/instructions/ldursw.rb +1 -1
- data/lib/aarch64/instructions/ldxp.rb +1 -1
- data/lib/aarch64/instructions/ldxr.rb +1 -1
- data/lib/aarch64/instructions/lslv.rb +1 -1
- data/lib/aarch64/instructions/lsrv.rb +1 -1
- data/lib/aarch64/instructions/madd.rb +1 -1
- data/lib/aarch64/instructions/movn.rb +1 -1
- data/lib/aarch64/instructions/mrs.rb +1 -1
- data/lib/aarch64/instructions/msr_imm.rb +1 -1
- data/lib/aarch64/instructions/msr_reg.rb +1 -1
- data/lib/aarch64/instructions/msub.rb +1 -1
- data/lib/aarch64/instructions/nop.rb +1 -8
- data/lib/aarch64/instructions/orn_log_shift.rb +1 -1
- data/lib/aarch64/instructions/orr_log_imm.rb +1 -1
- data/lib/aarch64/instructions/orr_log_shift.rb +1 -1
- data/lib/aarch64/instructions/pacda.rb +1 -1
- data/lib/aarch64/instructions/pacdb.rb +1 -1
- data/lib/aarch64/instructions/pacga.rb +1 -1
- data/lib/aarch64/instructions/pacia.rb +1 -1
- data/lib/aarch64/instructions/pacia2.rb +1 -1
- data/lib/aarch64/instructions/pacib.rb +1 -1
- data/lib/aarch64/instructions/prfm_imm.rb +1 -1
- data/lib/aarch64/instructions/prfm_lit.rb +1 -1
- data/lib/aarch64/instructions/prfm_reg.rb +1 -1
- data/lib/aarch64/instructions/prfum.rb +1 -1
- data/lib/aarch64/instructions/psb.rb +1 -1
- data/lib/aarch64/instructions/rbit_int.rb +1 -1
- data/lib/aarch64/instructions/reta.rb +1 -1
- data/lib/aarch64/instructions/rev.rb +1 -1
- data/lib/aarch64/instructions/rmif.rb +1 -1
- data/lib/aarch64/instructions/rorv.rb +1 -1
- data/lib/aarch64/instructions/sb.rb +1 -8
- data/lib/aarch64/instructions/sbc.rb +1 -1
- data/lib/aarch64/instructions/sbcs.rb +1 -1
- data/lib/aarch64/instructions/sdiv.rb +1 -1
- data/lib/aarch64/instructions/setf.rb +1 -1
- data/lib/aarch64/instructions/sev.rb +1 -1
- data/lib/aarch64/instructions/sevl.rb +0 -6
- data/lib/aarch64/instructions/smaddl.rb +1 -1
- data/lib/aarch64/instructions/smc.rb +1 -1
- data/lib/aarch64/instructions/smsubl.rb +1 -1
- data/lib/aarch64/instructions/smulh.rb +1 -1
- data/lib/aarch64/instructions/st2g.rb +1 -1
- data/lib/aarch64/instructions/st64b.rb +1 -1
- data/lib/aarch64/instructions/st64bv.rb +1 -1
- data/lib/aarch64/instructions/st64bv0.rb +1 -1
- data/lib/aarch64/instructions/stg.rb +1 -1
- data/lib/aarch64/instructions/stgm.rb +1 -1
- data/lib/aarch64/instructions/stgp.rb +1 -1
- data/lib/aarch64/instructions/stllr.rb +1 -1
- data/lib/aarch64/instructions/stllrb.rb +1 -1
- data/lib/aarch64/instructions/stllrh.rb +1 -1
- data/lib/aarch64/instructions/stlr.rb +1 -1
- data/lib/aarch64/instructions/stlrb.rb +1 -1
- data/lib/aarch64/instructions/stlrh.rb +1 -1
- data/lib/aarch64/instructions/stlur_gen.rb +1 -1
- data/lib/aarch64/instructions/stlxp.rb +1 -1
- data/lib/aarch64/instructions/stlxr.rb +1 -1
- data/lib/aarch64/instructions/stlxrb.rb +1 -1
- data/lib/aarch64/instructions/stlxrh.rb +1 -1
- data/lib/aarch64/instructions/stnp_gen.rb +1 -1
- data/lib/aarch64/instructions/stp_gen.rb +1 -1
- data/lib/aarch64/instructions/str_imm_gen.rb +1 -1
- data/lib/aarch64/instructions/str_imm_unsigned.rb +1 -1
- data/lib/aarch64/instructions/str_reg_gen.rb +1 -1
- data/lib/aarch64/instructions/strb_imm.rb +1 -1
- data/lib/aarch64/instructions/strb_imm_unsigned.rb +1 -1
- data/lib/aarch64/instructions/strb_reg.rb +1 -1
- data/lib/aarch64/instructions/strh_imm.rb +1 -1
- data/lib/aarch64/instructions/strh_imm_unsigned.rb +1 -1
- data/lib/aarch64/instructions/strh_reg.rb +1 -1
- data/lib/aarch64/instructions/sttr.rb +1 -1
- data/lib/aarch64/instructions/stur_gen.rb +1 -1
- data/lib/aarch64/instructions/stxp.rb +1 -1
- data/lib/aarch64/instructions/stxr.rb +1 -1
- data/lib/aarch64/instructions/stxrb.rb +1 -1
- data/lib/aarch64/instructions/stxrh.rb +1 -1
- data/lib/aarch64/instructions/stz2g.rb +1 -1
- data/lib/aarch64/instructions/stzg.rb +1 -1
- data/lib/aarch64/instructions/stzgm.rb +1 -1
- data/lib/aarch64/instructions/sub_addsub_ext.rb +1 -1
- data/lib/aarch64/instructions/sub_addsub_imm.rb +1 -1
- data/lib/aarch64/instructions/sub_addsub_shift.rb +1 -1
- data/lib/aarch64/instructions/subg.rb +1 -1
- data/lib/aarch64/instructions/subp.rb +1 -1
- data/lib/aarch64/instructions/subps.rb +1 -1
- data/lib/aarch64/instructions/svc.rb +1 -1
- data/lib/aarch64/instructions/swp.rb +1 -1
- data/lib/aarch64/instructions/swpb.rb +1 -1
- data/lib/aarch64/instructions/swph.rb +1 -1
- data/lib/aarch64/instructions/sys.rb +1 -1
- data/lib/aarch64/instructions/sysl.rb +1 -1
- data/lib/aarch64/instructions/tbnz.rb +1 -1
- data/lib/aarch64/instructions/tbz.rb +1 -1
- data/lib/aarch64/instructions/tsb.rb +1 -1
- data/lib/aarch64/instructions/ubfm.rb +1 -1
- data/lib/aarch64/instructions/udf_perm_undef.rb +1 -1
- data/lib/aarch64/instructions/udiv.rb +1 -1
- data/lib/aarch64/instructions/umaddl.rb +1 -1
- data/lib/aarch64/instructions/umsubl.rb +1 -1
- data/lib/aarch64/instructions/umulh.rb +1 -1
- data/lib/aarch64/instructions/wfe.rb +1 -1
- data/lib/aarch64/instructions/wfet.rb +1 -1
- data/lib/aarch64/instructions/wfi.rb +1 -8
- data/lib/aarch64/instructions/wfit.rb +1 -1
- data/lib/aarch64/instructions/xaflag.rb +1 -8
- data/lib/aarch64/instructions/xpac.rb +1 -1
- data/lib/aarch64/instructions/xpaclri.rb +0 -6
- data/lib/aarch64/instructions/yield.rb +1 -1
- data/lib/aarch64/version.rb +1 -1
- data/lib/aarch64.rb +72 -161
- data/test/dsl_test.rb +8 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80455d8e61365c61217446a5cb62b4820881964d257a76250c6545e27b57ee89
|
4
|
+
data.tar.gz: df47808a244cedf79c32481681dc7328324ce973afdab9c8227753940deddbb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f5cf093b8e174266abb7dea985c76739cc0f3d8e16c5816e6ee64cb1423a5856056f12ab4d13b253c6544a8a272652cc7c58275cff3cb8564e39b69f129a784
|
7
|
+
data.tar.gz: fb1ed26e0d5ada7e3a9454e633965fc0d4c2d1c60aa238cae45eb83143814f0654d87e64c9bf5fe6916d90bd47bb65e2851798de3da652f654ce261d84ab0084
|
data/README.md
CHANGED
@@ -15,6 +15,8 @@ require "jit_buffer"
|
|
15
15
|
# create a JIT buffer
|
16
16
|
jit_buffer = JITBuffer.new 4096
|
17
17
|
|
18
|
+
asm = AArch64::Assembler.new
|
19
|
+
|
18
20
|
# Make some instructions
|
19
21
|
asm.pretty do
|
20
22
|
asm.movz x0, 0xCAFE
|
@@ -28,7 +30,7 @@ asm.write_to jit_buffer
|
|
28
30
|
jit_buffer.executable!
|
29
31
|
|
30
32
|
# Execute the JIT buffer
|
31
|
-
p
|
33
|
+
p jit_buffer.to_function([], -Fiddle::TYPE_INT).call.to_s(16) # => f00dcafe
|
32
34
|
```
|
33
35
|
|
34
36
|
The following is the same example, but without the DSL. The main difference is
|
@@ -40,6 +42,7 @@ require "jit_buffer"
|
|
40
42
|
|
41
43
|
# create a JIT buffer
|
42
44
|
jit_buffer = JITBuffer.new 4096
|
45
|
+
asm = AArch64::Assembler.new
|
43
46
|
|
44
47
|
# Make some instructions
|
45
48
|
asm.movz AArch64::Registers::X0, 0xCAFE
|
@@ -52,7 +55,7 @@ asm.write_to jit_buffer
|
|
52
55
|
jit_buffer.executable!
|
53
56
|
|
54
57
|
# Execute the JIT buffer
|
55
|
-
p
|
58
|
+
p jit_buffer.to_function([], -Fiddle::TYPE_INT).call.to_s(16) # => f00dcafe
|
56
59
|
```
|
57
60
|
|
58
61
|
You can include `AArch64::Registers` if you don't want to use the DSL, but
|
data/Rakefile
CHANGED