Rizin
unix-like reverse engineering framework and cli tools
arm.h
Go to the documentation of this file.
1 #ifndef CAPSTONE_ARM_H
2 #define CAPSTONE_ARM_H
3 
4 /* Capstone Disassembly Engine */
5 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #include "platform.h"
12 
13 #ifdef _MSC_VER
14 #pragma warning(disable:4201)
15 #endif
16 
18 typedef enum arm_shifter {
31 
33 typedef enum arm_cc {
49  ARM_CC_AL
51 
52 typedef enum arm_sysreg {
55 
56  // SPSR* registers can be OR combined
61 
62  // CPSR* registers can be OR combined
67 
68  // independent registers
73 
78 
83 
88 
92 
100 
101  // Banked Registers
128 
137 
140 typedef enum arm_mem_barrier {
159 
161 typedef enum arm_op_type {
167  ARM_OP_CIMM = 64,
172 
174 typedef enum arm_setend_type {
179 
180 typedef enum arm_cpsmode_type {
183  ARM_CPSMODE_ID = 3
185 
187 typedef enum arm_cpsflag_type {
194 
196 typedef enum arm_vectordata_type {
198 
199  // Integer type
204 
205  // Signed integer type
210 
211  // Unsigned integer type
216 
217  // Data type for VMUL/VMULL
219 
220  // Floating type
223 
224  // Convert float <-> float
231 
232  // Convert integer <-> float
250 
252 typedef enum arm_reg {
364 
365  ARM_REG_ENDING, // <-- mark the end of the list or registers
366 
367  // alias registers
371 
377 
380 typedef struct arm_op_mem {
383  int scale;
384  int disp;
387  int lshift;
389 
391 typedef struct cs_arm_op {
393 
394  struct {
396  unsigned int value;
397  } shift;
398 
400 
401  union {
402  int reg;
404  double fp;
407  };
408 
413 
418 
422 
424 typedef struct cs_arm {
425  bool usermode;
432  bool writeback;
434 
438 
441 
443 typedef enum arm_insn {
445 
870 
871  // special instructions
880 
881  ARM_INS_ENDING, // <-- mark the end of the list of instructions
883 
885 typedef enum arm_insn_group {
887 
888  // Generic groups
889  // all jump instructions (conditional+direct+indirect jumps)
895 
896  // Architecture-specific groups
929 
932 
933 #ifdef __cplusplus
934 }
935 #endif
936 
937 #endif
struct cs_arm cs_arm
Instruction structure.
arm_insn
ARM instruction.
Definition: arm.h:443
@ ARM_INS_VCVTM
Definition: arm.h:736
@ ARM_INS_CDP2
Definition: arm.h:464
@ ARM_INS_RFEIA
Definition: arm.h:560
@ ARM_INS_SMLAD
Definition: arm.h:591
@ ARM_INS_SMLSLD
Definition: arm.h:606
@ ARM_INS_TBH
Definition: arm.h:865
@ ARM_INS_ADR
Definition: arm.h:448
@ ARM_INS_QADD8
Definition: arm.h:546
@ ARM_INS_MRC2
Definition: arm.h:531
@ ARM_INS_AESE
Definition: arm.h:450
@ ARM_INS_USAX
Definition: arm.h:698
@ ARM_INS_VQSHL
Definition: arm.h:795
@ ARM_INS_VPOP
Definition: arm.h:879
@ ARM_INS_STC2L
Definition: arm.h:634
@ ARM_INS_CRC32B
Definition: arm.h:470
@ ARM_INS_QADD16
Definition: arm.h:545
@ ARM_INS_USADA8
Definition: arm.h:695
@ ARM_INS_VCLT
Definition: arm.h:728
@ ARM_INS_VPADDL
Definition: arm.h:778
@ ARM_INS_SEL
Definition: arm.h:570
@ ARM_INS_FLDMIAX
Definition: arm.h:483
@ ARM_INS_VABDL
Definition: arm.h:709
@ ARM_INS_CRC32CW
Definition: arm.h:473
@ ARM_INS_VRSQRTE
Definition: arm.h:817
@ ARM_INS_SHSAX
Definition: arm.h:585
@ ARM_INS_SHSUB8
Definition: arm.h:587
@ ARM_INS_LDCL
Definition: arm.h:500
@ ARM_INS_TEQ
Definition: arm.h:670
@ ARM_INS_VABA
Definition: arm.h:708
@ ARM_INS_SXTB16
Definition: arm.h:668
@ ARM_INS_SMMUL
Definition: arm.h:612
@ ARM_INS_VLDMIA
Definition: arm.h:755
@ ARM_INS_LDAEXH
Definition: arm.h:496
@ ARM_INS_SADD16
Definition: arm.h:564
@ ARM_INS_LDC
Definition: arm.h:501
@ ARM_INS_VRINTZ
Definition: arm.h:813
@ ARM_INS_VMRS
Definition: arm.h:484
@ ARM_INS_MRRC2
Definition: arm.h:533
@ ARM_INS_VLDR
Definition: arm.h:756
@ ARM_INS_VCEQ
Definition: arm.h:723
@ ARM_INS_VQRSHRN
Definition: arm.h:793
@ ARM_INS_VCVTB
Definition: arm.h:734
@ ARM_INS_QSUB
Definition: arm.h:551
@ ARM_INS_SHSUB16
Definition: arm.h:586
@ ARM_INS_UADD8
Definition: arm.h:674
@ ARM_INS_SMLATT
Definition: arm.h:601
@ ARM_INS_VBIT
Definition: arm.h:721
@ ARM_INS_LDRSH
Definition: arm.h:517
@ ARM_INS_AESD
Definition: arm.h:449
@ ARM_INS_STR
Definition: arm.h:659
@ ARM_INS_UMAAL
Definition: arm.h:685
@ ARM_INS_STLEXH
Definition: arm.h:643
@ ARM_INS_SHA256H2
Definition: arm.h:579
@ ARM_INS_VCGT
Definition: arm.h:725
@ ARM_INS_VRINTN
Definition: arm.h:809
@ ARM_INS_VMOV
Definition: arm.h:481
@ ARM_INS_LDRT
Definition: arm.h:519
@ ARM_INS_VCMPE
Definition: arm.h:731
@ ARM_INS_VORN
Definition: arm.h:775
@ ARM_INS_VMLS
Definition: arm.h:763
@ ARM_INS_TBB
Definition: arm.h:864
@ ARM_INS_BXJ
Definition: arm.h:461
@ ARM_INS_SHADD8
Definition: arm.h:583
@ ARM_INS_VZIP
Definition: arm.h:851
@ ARM_INS_VSRI
Definition: arm.h:832
@ ARM_INS_VCVTR
Definition: arm.h:847
@ ARM_INS_SMC
Definition: arm.h:588
@ ARM_INS_SEVL
Definition: arm.h:877
@ ARM_INS_VBIC
Definition: arm.h:719
@ ARM_INS_CRC32CB
Definition: arm.h:471
@ ARM_INS_SRSIB
Definition: arm.h:628
@ ARM_INS_SXTAH
Definition: arm.h:666
@ ARM_INS_VDUP
Definition: arm.h:741
@ ARM_INS_VFNMA
Definition: arm.h:746
@ ARM_INS_SMLALBT
Definition: arm.h:595
@ ARM_INS_VLDMDB
Definition: arm.h:754
@ ARM_INS_VRSHRN
Definition: arm.h:815
@ ARM_INS_VSELGT
Definition: arm.h:823
@ ARM_INS_RFEIB
Definition: arm.h:561
@ ARM_INS_STRH
Definition: arm.h:656
@ ARM_INS_USAT16
Definition: arm.h:697
@ ARM_INS_FSTMIAX
Definition: arm.h:486
@ ARM_INS_CRC32H
Definition: arm.h:474
@ ARM_INS_VST3
Definition: arm.h:835
@ ARM_INS_STLH
Definition: arm.h:644
@ ARM_INS_ADC
Definition: arm.h:446
@ ARM_INS_SASX
Definition: arm.h:566
@ ARM_INS_DMB
Definition: arm.h:477
@ ARM_INS_VSLI
Definition: arm.h:829
@ ARM_INS_VSUBW
Definition: arm.h:843
@ ARM_INS_LDC2L
Definition: arm.h:498
@ ARM_INS_VPADD
Definition: arm.h:779
@ ARM_INS_ORN
Definition: arm.h:860
@ ARM_INS_UXTB16
Definition: arm.h:705
@ ARM_INS_BX
Definition: arm.h:460
@ ARM_INS_SMLALD
Definition: arm.h:596
@ ARM_INS_LDRB
Definition: arm.h:507
@ ARM_INS_VTBL
Definition: arm.h:845
@ ARM_INS_SUB
Definition: arm.h:660
@ ARM_INS_DCPS3
Definition: arm.h:856
@ ARM_INS_UQSUB8
Definition: arm.h:693
@ ARM_INS_STREXH
Definition: arm.h:655
@ ARM_INS_VQADD
Definition: arm.h:783
@ ARM_INS_IT
Definition: arm.h:857
@ ARM_INS_ASR
Definition: arm.h:853
@ ARM_INS_ISB
Definition: arm.h:490
@ ARM_INS_VRSHL
Definition: arm.h:814
@ ARM_INS_VQDMLAL
Definition: arm.h:784
@ ARM_INS_LDRHT
Definition: arm.h:514
@ ARM_INS_MLS
Definition: arm.h:526
@ ARM_INS_SMLSD
Definition: arm.h:604
@ ARM_INS_CDP
Definition: arm.h:463
@ ARM_INS_VQRSHRUN
Definition: arm.h:794
@ ARM_INS_LDAH
Definition: arm.h:497
@ ARM_INS_RSB
Definition: arm.h:562
@ ARM_INS_VQSHRUN
Definition: arm.h:798
@ ARM_INS_UXTB
Definition: arm.h:704
@ ARM_INS_VNMLS
Definition: arm.h:773
@ ARM_INS_VADDHN
Definition: arm.h:715
@ ARM_INS_SRSIA
Definition: arm.h:627
@ ARM_INS_AND
Definition: arm.h:453
@ ARM_INS_SMLALTB
Definition: arm.h:598
@ ARM_INS_VACGT
Definition: arm.h:713
@ ARM_INS_VQDMULL
Definition: arm.h:787
@ ARM_INS_SMULL
Definition: arm.h:618
@ ARM_INS_VORR
Definition: arm.h:776
@ ARM_INS_VUZP
Definition: arm.h:850
@ ARM_INS_STC
Definition: arm.h:637
@ ARM_INS_STRB
Definition: arm.h:650
@ ARM_INS_UHASX
Definition: arm.h:681
@ ARM_INS_LDRSBT
Definition: arm.h:516
@ ARM_INS_SHADD16
Definition: arm.h:582
@ ARM_INS_SSUB16
Definition: arm.h:632
@ ARM_INS_VSHRN
Definition: arm.h:827
@ ARM_INS_TST
Definition: arm.h:672
@ ARM_INS_SEV
Definition: arm.h:876
@ ARM_INS_SWP
Definition: arm.h:662
@ ARM_INS_SXTH
Definition: arm.h:669
@ ARM_INS_CLREX
Definition: arm.h:465
@ ARM_INS_VMAXNM
Definition: arm.h:757
@ ARM_INS_VSUBL
Definition: arm.h:842
@ ARM_INS_PUSH
Definition: arm.h:869
@ ARM_INS_BKPT
Definition: arm.h:457
@ ARM_INS_VCNT
Definition: arm.h:732
@ ARM_INS_VQSHLU
Definition: arm.h:796
@ ARM_INS_VHSUB
Definition: arm.h:749
@ ARM_INS_FSTMDBX
Definition: arm.h:485
@ ARM_INS_MOVT
Definition: arm.h:528
@ ARM_INS_MOV
Definition: arm.h:527
@ ARM_INS_VFMS
Definition: arm.h:745
@ ARM_INS_QSAX
Definition: arm.h:550
@ ARM_INS_QDSUB
Definition: arm.h:549
@ ARM_INS_PLD
Definition: arm.h:542
@ ARM_INS_SADD8
Definition: arm.h:565
@ ARM_INS_MCRR2
Definition: arm.h:524
@ ARM_INS_SMMLS
Definition: arm.h:610
@ ARM_INS_SHA1M
Definition: arm.h:574
@ ARM_INS_UQADD16
Definition: arm.h:688
@ ARM_INS_SRSDB
Definition: arm.h:626
@ ARM_INS_SHASX
Definition: arm.h:584
@ ARM_INS_VADDL
Definition: arm.h:716
@ ARM_INS_UXTAH
Definition: arm.h:703
@ ARM_INS_SSAT
Definition: arm.h:629
@ ARM_INS_FLDMDBX
Definition: arm.h:482
@ ARM_INS_UHADD16
Definition: arm.h:679
@ ARM_INS_UHSUB8
Definition: arm.h:684
@ ARM_INS_VRINTX
Definition: arm.h:812
@ ARM_INS_LDRSB
Definition: arm.h:515
@ ARM_INS_VTBX
Definition: arm.h:846
@ ARM_INS_SSAT16
Definition: arm.h:630
@ ARM_INS_STREXD
Definition: arm.h:654
@ ARM_INS_LDRBT
Definition: arm.h:506
@ ARM_INS_VADDW
Definition: arm.h:717
@ ARM_INS_SSAX
Definition: arm.h:631
@ ARM_INS_SMLABT
Definition: arm.h:590
@ ARM_INS_SMULTT
Definition: arm.h:620
@ ARM_INS_PKHBT
Definition: arm.h:539
@ ARM_INS_UQASX
Definition: arm.h:690
@ ARM_INS_SMULWB
Definition: arm.h:621
@ ARM_INS_VTST
Definition: arm.h:849
@ ARM_INS_LDM
Definition: arm.h:504
@ ARM_INS_PLI
Definition: arm.h:543
@ ARM_INS_VHADD
Definition: arm.h:748
@ ARM_INS_SMMLA
Definition: arm.h:608
@ ARM_INS_LDAEXD
Definition: arm.h:495
@ ARM_INS_VQSHRN
Definition: arm.h:797
@ ARM_INS_VCVTA
Definition: arm.h:733
@ ARM_INS_SMLSDX
Definition: arm.h:605
@ ARM_INS_SBFX
Definition: arm.h:568
@ ARM_INS_VDIV
Definition: arm.h:740
@ ARM_INS_STMDB
Definition: arm.h:646
@ ARM_INS_VRSQRTS
Definition: arm.h:818
@ ARM_INS_BFI
Definition: arm.h:455
@ ARM_INS_QASX
Definition: arm.h:547
@ ARM_INS_VMAX
Definition: arm.h:758
@ ARM_INS_VPUSH
Definition: arm.h:878
@ ARM_INS_SMMLSR
Definition: arm.h:611
@ ARM_INS_SHA1C
Definition: arm.h:572
@ ARM_INS_SHA256SU1
Definition: arm.h:581
@ ARM_INS_VST4
Definition: arm.h:836
@ ARM_INS_VMINNM
Definition: arm.h:759
@ ARM_INS_VFNMS
Definition: arm.h:747
@ ARM_INS_VRHADD
Definition: arm.h:806
@ ARM_INS_MRS
Definition: arm.h:534
@ ARM_INS_TRAP
Definition: arm.h:671
@ ARM_INS_LDAEX
Definition: arm.h:493
@ ARM_INS_VADD
Definition: arm.h:714
@ ARM_INS_VSTMDB
Definition: arm.h:837
@ ARM_INS_RFEDA
Definition: arm.h:558
@ ARM_INS_UHSUB16
Definition: arm.h:683
@ ARM_INS_VSTR
Definition: arm.h:839
@ ARM_INS_LDAEXB
Definition: arm.h:494
@ ARM_INS_AESMC
Definition: arm.h:452
@ ARM_INS_WFI
Definition: arm.h:875
@ ARM_INS_VNMUL
Definition: arm.h:774
@ ARM_INS_UBFX
Definition: arm.h:676
@ ARM_INS_LSL
Definition: arm.h:858
@ ARM_INS_MCR2
Definition: arm.h:522
@ ARM_INS_VMVN
Definition: arm.h:770
@ ARM_INS_AESIMC
Definition: arm.h:451
@ ARM_INS_UQSUB16
Definition: arm.h:692
@ ARM_INS_LSR
Definition: arm.h:859
@ ARM_INS_VABAL
Definition: arm.h:707
@ ARM_INS_VQRSHL
Definition: arm.h:792
@ ARM_INS_STCL
Definition: arm.h:636
@ ARM_INS_VCLS
Definition: arm.h:727
@ ARM_INS_LDAB
Definition: arm.h:492
@ ARM_INS_VSUB
Definition: arm.h:840
@ ARM_INS_DSB
Definition: arm.h:478
@ ARM_INS_SMUSD
Definition: arm.h:623
@ ARM_INS_USUB16
Definition: arm.h:699
@ ARM_INS_SHA256H
Definition: arm.h:578
@ ARM_INS_STRBT
Definition: arm.h:649
@ ARM_INS_SMLAWB
Definition: arm.h:602
@ ARM_INS_SMLALTT
Definition: arm.h:599
@ ARM_INS_VRINTM
Definition: arm.h:808
@ ARM_INS_SETEND
Definition: arm.h:571
@ ARM_INS_SWPB
Definition: arm.h:663
@ ARM_INS_MCR
Definition: arm.h:521
@ ARM_INS_UMULL
Definition: arm.h:687
@ ARM_INS_BIC
Definition: arm.h:456
@ ARM_INS_VCVT
Definition: arm.h:735
@ ARM_INS_RFEDB
Definition: arm.h:559
@ ARM_INS_RBIT
Definition: arm.h:554
@ ARM_INS_VSHR
Definition: arm.h:828
@ ARM_INS_VPMAX
Definition: arm.h:780
@ ARM_INS_DCPS1
Definition: arm.h:854
@ ARM_INS_STMIB
Definition: arm.h:648
@ ARM_INS_VMOVL
Definition: arm.h:765
@ ARM_INS_SMLSLDX
Definition: arm.h:607
@ ARM_INS_VACGE
Definition: arm.h:712
@ ARM_INS_STC2
Definition: arm.h:635
@ ARM_INS_CPS
Definition: arm.h:469
@ ARM_INS_VQMOVUN
Definition: arm.h:788
@ ARM_INS_VRECPS
Definition: arm.h:802
@ ARM_INS_VCVTP
Definition: arm.h:738
@ ARM_INS_VSRA
Definition: arm.h:831
@ ARM_INS_SMLALDX
Definition: arm.h:597
@ ARM_INS_REVSH
Definition: arm.h:557
@ ARM_INS_VCMP
Definition: arm.h:730
@ ARM_INS_UDF
Definition: arm.h:677
@ ARM_INS_SHA1SU0
Definition: arm.h:576
@ ARM_INS_STL
Definition: arm.h:638
@ ARM_INS_CRC32W
Definition: arm.h:475
@ ARM_INS_VQDMULH
Definition: arm.h:786
@ ARM_INS_VQSUB
Definition: arm.h:799
@ ARM_INS_DBG
Definition: arm.h:476
@ ARM_INS_MUL
Definition: arm.h:536
@ ARM_INS_SMLABB
Definition: arm.h:589
@ ARM_INS_VREV64
Definition: arm.h:805
@ ARM_INS_ADDW
Definition: arm.h:852
@ ARM_INS_LDRH
Definition: arm.h:513
@ ARM_INS_VEOR
Definition: arm.h:742
@ ARM_INS_QSUB16
Definition: arm.h:552
@ ARM_INS_MCRR
Definition: arm.h:523
@ ARM_INS_SMUAD
Definition: arm.h:614
@ ARM_INS_CBZ
Definition: arm.h:867
@ ARM_INS_UHADD8
Definition: arm.h:680
@ ARM_INS_UMLAL
Definition: arm.h:686
@ ARM_INS_VRSHR
Definition: arm.h:816
@ ARM_INS_REV16
Definition: arm.h:556
@ ARM_INS_LDREXD
Definition: arm.h:511
@ ARM_INS_UQSAX
Definition: arm.h:691
@ ARM_INS_ENDING
Definition: arm.h:881
@ ARM_INS_SXTAB16
Definition: arm.h:665
@ ARM_INS_SMLADX
Definition: arm.h:592
@ ARM_INS_HVC
Definition: arm.h:489
@ ARM_INS_EOR
Definition: arm.h:479
@ ARM_INS_VMUL
Definition: arm.h:768
@ ARM_INS_HLT
Definition: arm.h:488
@ ARM_INS_HINT
Definition: arm.h:487
@ ARM_INS_SMULBB
Definition: arm.h:616
@ ARM_INS_NOP
Definition: arm.h:872
@ ARM_INS_VREV32
Definition: arm.h:804
@ ARM_INS_VQRDMULH
Definition: arm.h:791
@ ARM_INS_STLEXB
Definition: arm.h:641
@ ARM_INS_VST2
Definition: arm.h:834
@ ARM_INS_LDMDA
Definition: arm.h:502
@ ARM_INS_UDIV
Definition: arm.h:678
@ ARM_INS_VQNEG
Definition: arm.h:790
@ ARM_INS_MRRC
Definition: arm.h:532
@ ARM_INS_DCPS2
Definition: arm.h:855
@ ARM_INS_SXTAB
Definition: arm.h:664
@ ARM_INS_VMIN
Definition: arm.h:760
@ ARM_INS_VRINTP
Definition: arm.h:810
@ ARM_INS_STMDA
Definition: arm.h:645
@ ARM_INS_LDREX
Definition: arm.h:509
@ ARM_INS_UHSAX
Definition: arm.h:682
@ ARM_INS_UASX
Definition: arm.h:675
@ ARM_INS_SMULTB
Definition: arm.h:619
@ ARM_INS_VRSRA
Definition: arm.h:819
@ ARM_INS_ADD
Definition: arm.h:447
@ ARM_INS_VAND
Definition: arm.h:718
@ ARM_INS_LDRSHT
Definition: arm.h:518
@ ARM_INS_QDADD
Definition: arm.h:548
@ ARM_INS_VSQRT
Definition: arm.h:830
@ ARM_INS_SMLALBB
Definition: arm.h:594
@ ARM_INS_POP
Definition: arm.h:868
@ ARM_INS_BLX
Definition: arm.h:459
@ ARM_INS_STM
Definition: arm.h:647
@ ARM_INS_RSC
Definition: arm.h:563
@ ARM_INS_VPMIN
Definition: arm.h:781
@ ARM_INS_VQMOVN
Definition: arm.h:789
@ ARM_INS_LDC2
Definition: arm.h:499
@ ARM_INS_VTRN
Definition: arm.h:848
@ ARM_INS_SMUSDX
Definition: arm.h:624
@ ARM_INS_CRC32CH
Definition: arm.h:472
@ ARM_INS_VQABS
Definition: arm.h:782
@ ARM_INS_LDMIB
Definition: arm.h:505
@ ARM_INS_VLD2
Definition: arm.h:751
@ ARM_INS_SMLAWT
Definition: arm.h:603
@ ARM_INS_SMMULR
Definition: arm.h:613
@ ARM_INS_CMN
Definition: arm.h:467
@ ARM_INS_SMUADX
Definition: arm.h:615
@ ARM_INS_VSELVS
Definition: arm.h:824
@ ARM_INS_SMMLAR
Definition: arm.h:609
@ ARM_INS_VBSL
Definition: arm.h:722
@ ARM_INS_VMOVN
Definition: arm.h:766
@ ARM_INS_UQADD8
Definition: arm.h:689
@ ARM_INS_VCLE
Definition: arm.h:726
@ ARM_INS_VSELEQ
Definition: arm.h:821
@ ARM_INS_VQDMLSL
Definition: arm.h:785
@ ARM_INS_ERET
Definition: arm.h:480
@ ARM_INS_VLD1
Definition: arm.h:750
@ ARM_INS_VLD4
Definition: arm.h:753
@ ARM_INS_VSUBHN
Definition: arm.h:841
@ ARM_INS_VSWP
Definition: arm.h:844
@ ARM_INS_ROR
Definition: arm.h:861
@ ARM_INS_VEXT
Definition: arm.h:743
@ ARM_INS_LDR
Definition: arm.h:520
@ ARM_INS_STRT
Definition: arm.h:658
@ ARM_INS_PLDW
Definition: arm.h:541
@ ARM_INS_VNMLA
Definition: arm.h:772
@ ARM_INS_STREXB
Definition: arm.h:653
@ ARM_INS_REV
Definition: arm.h:555
@ ARM_INS_VSHLL
Definition: arm.h:825
@ ARM_INS_STRD
Definition: arm.h:651
@ ARM_INS_SHA1H
Definition: arm.h:573
@ ARM_INS_VRADDHN
Definition: arm.h:800
@ ARM_INS_SBC
Definition: arm.h:567
@ ARM_INS_CBNZ
Definition: arm.h:866
@ ARM_INS_VMLAL
Definition: arm.h:762
@ ARM_INS_SHA256SU0
Definition: arm.h:580
@ ARM_INS_VCLZ
Definition: arm.h:729
@ ARM_INS_VSELGE
Definition: arm.h:822
@ ARM_INS_VMSR
Definition: arm.h:767
@ ARM_INS_LDREXH
Definition: arm.h:512
@ ARM_INS_VABS
Definition: arm.h:711
@ ARM_INS_STLEXD
Definition: arm.h:642
@ ARM_INS_INVALID
Definition: arm.h:444
@ ARM_INS_STLB
Definition: arm.h:639
@ ARM_INS_VST1
Definition: arm.h:833
@ ARM_INS_SDIV
Definition: arm.h:569
@ ARM_INS_VRINTR
Definition: arm.h:811
@ ARM_INS_MVN
Definition: arm.h:537
@ ARM_INS_UXTAB
Definition: arm.h:701
@ ARM_INS_SMLAL
Definition: arm.h:593
@ ARM_INS_VCVTT
Definition: arm.h:739
@ ARM_INS_SVC
Definition: arm.h:661
@ ARM_INS_BFC
Definition: arm.h:454
@ ARM_INS_B
Definition: arm.h:462
@ ARM_INS_MRC
Definition: arm.h:530
@ ARM_INS_STLEX
Definition: arm.h:640
@ ARM_INS_SMULWT
Definition: arm.h:622
@ ARM_INS_SHA1SU1
Definition: arm.h:577
@ ARM_INS_UXTAB16
Definition: arm.h:702
@ ARM_INS_VNEG
Definition: arm.h:771
@ ARM_INS_MLA
Definition: arm.h:525
@ ARM_INS_VMLA
Definition: arm.h:761
@ ARM_INS_SUBW
Definition: arm.h:863
@ ARM_INS_VRSUBHN
Definition: arm.h:820
@ ARM_INS_BL
Definition: arm.h:458
@ ARM_INS_LDMDB
Definition: arm.h:503
@ ARM_INS_STREX
Definition: arm.h:652
@ ARM_INS_CMP
Definition: arm.h:468
@ ARM_INS_USUB8
Definition: arm.h:700
@ ARM_INS_SMULBT
Definition: arm.h:617
@ ARM_INS_UXTH
Definition: arm.h:706
@ ARM_INS_QADD
Definition: arm.h:544
@ ARM_INS_VCVTN
Definition: arm.h:737
@ ARM_INS_VRINTA
Definition: arm.h:807
@ ARM_INS_USAT
Definition: arm.h:696
@ ARM_INS_SHA1P
Definition: arm.h:575
@ ARM_INS_VSHL
Definition: arm.h:826
@ ARM_INS_LDRD
Definition: arm.h:508
@ ARM_INS_SRSDA
Definition: arm.h:625
@ ARM_INS_QSUB8
Definition: arm.h:553
@ ARM_INS_VREV16
Definition: arm.h:803
@ ARM_INS_VMLSL
Definition: arm.h:764
@ ARM_INS_VPADAL
Definition: arm.h:777
@ ARM_INS_VFMA
Definition: arm.h:744
@ ARM_INS_MOVW
Definition: arm.h:529
@ ARM_INS_LDREXB
Definition: arm.h:510
@ ARM_INS_USAD8
Definition: arm.h:694
@ ARM_INS_VSTMIA
Definition: arm.h:838
@ ARM_INS_SMLATB
Definition: arm.h:600
@ ARM_INS_STRHT
Definition: arm.h:657
@ ARM_INS_SSUB8
Definition: arm.h:633
@ ARM_INS_YIELD
Definition: arm.h:873
@ ARM_INS_VMULL
Definition: arm.h:769
@ ARM_INS_RRX
Definition: arm.h:862
@ ARM_INS_VABD
Definition: arm.h:710
@ ARM_INS_ORR
Definition: arm.h:538
@ ARM_INS_CLZ
Definition: arm.h:466
@ ARM_INS_VBIF
Definition: arm.h:720
@ ARM_INS_WFE
Definition: arm.h:874
@ ARM_INS_LDA
Definition: arm.h:491
@ ARM_INS_MSR
Definition: arm.h:535
@ ARM_INS_VRECPE
Definition: arm.h:801
@ ARM_INS_PKHTB
Definition: arm.h:540
@ ARM_INS_VLD3
Definition: arm.h:752
@ ARM_INS_VCGE
Definition: arm.h:724
@ ARM_INS_SXTB
Definition: arm.h:667
@ ARM_INS_UADD16
Definition: arm.h:673
arm_shifter
ARM shift type.
Definition: arm.h:18
@ ARM_SFT_ROR_REG
shift with register
Definition: arm.h:28
@ ARM_SFT_ASR
shift with immediate const
Definition: arm.h:20
@ ARM_SFT_LSR_REG
shift with register
Definition: arm.h:27
@ ARM_SFT_LSL_REG
shift with register
Definition: arm.h:26
@ ARM_SFT_ROR
shift with immediate const
Definition: arm.h:23
@ ARM_SFT_LSL
shift with immediate const
Definition: arm.h:21
@ ARM_SFT_RRX_REG
shift with register
Definition: arm.h:29
@ ARM_SFT_LSR
shift with immediate const
Definition: arm.h:22
@ ARM_SFT_RRX
shift with immediate const
Definition: arm.h:24
@ ARM_SFT_INVALID
Definition: arm.h:19
@ ARM_SFT_ASR_REG
shift with register
Definition: arm.h:25
arm_setend_type
Operand type for SETEND instruction.
Definition: arm.h:174
@ ARM_SETEND_LE
LE operand.
Definition: arm.h:177
@ ARM_SETEND_BE
BE operand.
Definition: arm.h:176
@ ARM_SETEND_INVALID
Uninitialized.
Definition: arm.h:175
arm_sysreg
Definition: arm.h:52
@ ARM_SYSREG_BASEPRI
Definition: arm.h:96
@ ARM_SYSREG_SP_MON
Definition: arm.h:125
@ ARM_SYSREG_LR_USR
Definition: arm.h:108
@ ARM_SYSREG_SP_UND
Definition: arm.h:123
@ ARM_SYSREG_R9_FIQ
Definition: arm.h:110
@ ARM_SYSREG_BASEPRI_MAX
Definition: arm.h:97
@ ARM_SYSREG_ELR_HYP
Definition: arm.h:126
@ ARM_SYSREG_EAPSR_NZCVQG
Definition: arm.h:81
@ ARM_SYSREG_R9_USR
Definition: arm.h:103
@ ARM_SYSREG_EAPSR
Definition: arm.h:79
@ ARM_SYSREG_R10_FIQ
Definition: arm.h:111
@ ARM_SYSREG_APSR_NZCVQG
Definition: arm.h:72
@ ARM_SYSREG_LR_MON
Definition: arm.h:124
@ ARM_SYSREG_R11_USR
Definition: arm.h:105
@ ARM_SYSREG_SPSR_SVC
Definition: arm.h:131
@ ARM_SYSREG_CPSR_C
Definition: arm.h:63
@ ARM_SYSREG_IAPSR_NZCVQG
Definition: arm.h:76
@ ARM_SYSREG_EAPSR_G
Definition: arm.h:80
@ ARM_SYSREG_IAPSR
Definition: arm.h:74
@ ARM_SYSREG_PSP
Definition: arm.h:94
@ ARM_SYSREG_SP_IRQ
Definition: arm.h:117
@ ARM_SYSREG_SPSR_FIQ
Definition: arm.h:129
@ ARM_SYSREG_IPSR
Definition: arm.h:89
@ ARM_SYSREG_R12_USR
Definition: arm.h:106
@ ARM_SYSREG_SPSR_MON
Definition: arm.h:134
@ ARM_SYSREG_IAPSR_G
Definition: arm.h:75
@ ARM_SYSREG_LR_UND
Definition: arm.h:122
@ ARM_SYSREG_SPSR_ABT
Definition: arm.h:132
@ ARM_SYSREG_EPSR
Definition: arm.h:90
@ ARM_SYSREG_LR_FIQ
Definition: arm.h:115
@ ARM_SYSREG_XPSR_NZCVQG
Definition: arm.h:86
@ ARM_SYSREG_LR_IRQ
Definition: arm.h:116
@ ARM_SYSREG_SPSR_HYP
Definition: arm.h:135
@ ARM_SYSREG_SP_SVC
Definition: arm.h:119
@ ARM_SYSREG_XPSR_G
Definition: arm.h:85
@ ARM_SYSREG_IAPSR_NZCVQ
Definition: arm.h:77
@ ARM_SYSREG_SPSR_UND
Definition: arm.h:133
@ ARM_SYSREG_EAPSR_NZCVQ
Definition: arm.h:82
@ ARM_SYSREG_R8_FIQ
Definition: arm.h:109
@ ARM_SYSREG_SPSR_S
Definition: arm.h:59
@ ARM_SYSREG_SP_ABT
Definition: arm.h:121
@ ARM_SYSREG_SP_HYP
Definition: arm.h:127
@ ARM_SYSREG_XPSR
Definition: arm.h:84
@ ARM_SYSREG_CPSR_X
Definition: arm.h:64
@ ARM_SYSREG_SP_FIQ
Definition: arm.h:114
@ ARM_SYSREG_APSR_G
Definition: arm.h:70
@ ARM_SYSREG_R12_FIQ
Definition: arm.h:113
@ ARM_SYSREG_SPSR_X
Definition: arm.h:58
@ ARM_SYSREG_FAULTMASK
Definition: arm.h:98
@ ARM_SYSREG_APSR
Definition: arm.h:69
@ ARM_SYSREG_CPSR_S
Definition: arm.h:65
@ ARM_SYSREG_SP_USR
Definition: arm.h:107
@ ARM_SYSREG_R11_FIQ
Definition: arm.h:112
@ ARM_SYSREG_CONTROL
Definition: arm.h:99
@ ARM_SYSREG_R10_USR
Definition: arm.h:104
@ ARM_SYSREG_MSP
Definition: arm.h:93
@ ARM_SYSREG_LR_ABT
Definition: arm.h:120
@ ARM_SYSREG_INVALID
Special registers for MSR.
Definition: arm.h:54
@ ARM_SYSREG_APSR_NZCVQ
Definition: arm.h:71
@ ARM_SYSREG_SPSR_IRQ
Definition: arm.h:130
@ ARM_SYSREG_PRIMASK
Definition: arm.h:95
@ ARM_SYSREG_LR_SVC
Definition: arm.h:118
@ ARM_SYSREG_R8_USR
Definition: arm.h:102
@ ARM_SYSREG_SPSR_F
Definition: arm.h:60
@ ARM_SYSREG_SPSR_C
Definition: arm.h:57
@ ARM_SYSREG_XPSR_NZCVQ
Definition: arm.h:87
@ ARM_SYSREG_IEPSR
Definition: arm.h:91
@ ARM_SYSREG_CPSR_F
Definition: arm.h:66
arm_mem_barrier
Definition: arm.h:140
@ ARM_MB_NSH
Definition: arm.h:149
@ ARM_MB_ISHLD
Definition: arm.h:151
@ ARM_MB_OSHST
Definition: arm.h:144
@ ARM_MB_RESERVED_8
Definition: arm.h:150
@ ARM_MB_ISHST
Definition: arm.h:152
@ ARM_MB_INVALID
Definition: arm.h:141
@ ARM_MB_ST
Definition: arm.h:156
@ ARM_MB_NSHST
Definition: arm.h:148
@ ARM_MB_LD
Definition: arm.h:155
@ ARM_MB_RESERVED_0
Definition: arm.h:142
@ ARM_MB_RESERVED_4
Definition: arm.h:146
@ ARM_MB_SY
Definition: arm.h:157
@ ARM_MB_OSHLD
Definition: arm.h:143
@ ARM_MB_NSHLD
Definition: arm.h:147
@ ARM_MB_OSH
Definition: arm.h:145
@ ARM_MB_ISH
Definition: arm.h:153
@ ARM_MB_RESERVED_12
Definition: arm.h:154
arm_insn_group
Group of ARM instructions.
Definition: arm.h:885
@ ARM_GRP_DIVIDE
Definition: arm.h:899
@ ARM_GRP_THUMB2
Definition: arm.h:921
@ ARM_GRP_DPVFP
Definition: arm.h:926
@ ARM_GRP_BRANCH_RELATIVE
= CS_GRP_BRANCH_RELATIVE
Definition: arm.h:894
@ ARM_GRP_ENDING
Definition: arm.h:930
@ ARM_GRP_T2EXTRACTPACK
Definition: arm.h:903
@ ARM_GRP_TRUSTZONE
Definition: arm.h:905
@ ARM_GRP_JUMP
= CS_GRP_JUMP
Definition: arm.h:890
@ ARM_GRP_V6M
Definition: arm.h:927
@ ARM_GRP_INVALID
= CS_GRP_INVALID
Definition: arm.h:886
@ ARM_GRP_V5T
Definition: arm.h:907
@ ARM_GRP_ARM
Definition: arm.h:916
@ ARM_GRP_V6T2
Definition: arm.h:910
@ ARM_GRP_V4T
Definition: arm.h:906
@ ARM_GRP_PREV8
Definition: arm.h:922
@ ARM_GRP_THUMB2DSP
Definition: arm.h:904
@ ARM_GRP_THUMB
Definition: arm.h:919
@ ARM_GRP_V7
Definition: arm.h:911
@ ARM_GRP_FPARMV8
Definition: arm.h:900
@ ARM_GRP_V5TE
Definition: arm.h:908
@ ARM_GRP_PRIVILEGE
= CS_GRP_PRIVILEGE
Definition: arm.h:893
@ ARM_GRP_VFP3
Definition: arm.h:914
@ ARM_GRP_THUMB1ONLY
Definition: arm.h:920
@ ARM_GRP_MULOPS
Definition: arm.h:924
@ ARM_GRP_INT
= CS_GRP_INT
Definition: arm.h:892
@ ARM_GRP_CRYPTO
Definition: arm.h:897
@ ARM_GRP_DATABARRIER
Definition: arm.h:898
@ ARM_GRP_CRC
Definition: arm.h:925
@ ARM_GRP_VFP4
Definition: arm.h:915
@ ARM_GRP_FPVMLX
Definition: arm.h:923
@ ARM_GRP_NOTMCLASS
Definition: arm.h:918
@ ARM_GRP_V8
Definition: arm.h:912
@ ARM_GRP_MULTPRO
Definition: arm.h:901
@ ARM_GRP_V6
Definition: arm.h:909
@ ARM_GRP_MCLASS
Definition: arm.h:917
@ ARM_GRP_CALL
= CS_GRP_CALL
Definition: arm.h:891
@ ARM_GRP_NEON
Definition: arm.h:902
@ ARM_GRP_VIRTUALIZATION
Definition: arm.h:928
@ ARM_GRP_VFP2
Definition: arm.h:913
arm_op_type
Operand type for instruction's operands.
Definition: arm.h:161
@ ARM_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition: arm.h:164
@ ARM_OP_REG
= CS_OP_REG (Register operand).
Definition: arm.h:163
@ ARM_OP_CIMM
C-Immediate (coprocessor registers)
Definition: arm.h:167
@ ARM_OP_SETEND
operand for SETEND instruction
Definition: arm.h:169
@ ARM_OP_PIMM
P-Immediate (coprocessor registers)
Definition: arm.h:168
@ ARM_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: arm.h:162
@ ARM_OP_MEM
= CS_OP_MEM (Memory operand).
Definition: arm.h:165
@ ARM_OP_FP
= CS_OP_FP (Floating-Point operand).
Definition: arm.h:166
@ ARM_OP_SYSREG
MSR/MRS special register operand.
Definition: arm.h:170
struct arm_op_mem arm_op_mem
arm_cc
ARM condition code.
Definition: arm.h:33
@ ARM_CC_GT
Greater than Greater than.
Definition: arm.h:47
@ ARM_CC_LE
Less than or equal <, ==, or unordered.
Definition: arm.h:48
@ ARM_CC_AL
Always (unconditional) Always (unconditional)
Definition: arm.h:49
@ ARM_CC_HI
Unsigned higher Greater than, or unordered.
Definition: arm.h:43
@ ARM_CC_VC
No overflow Not unordered.
Definition: arm.h:42
@ ARM_CC_LS
Unsigned lower or same Less than or equal.
Definition: arm.h:44
@ ARM_CC_GE
Greater than or equal Greater than or equal.
Definition: arm.h:45
@ ARM_CC_VS
Overflow Unordered.
Definition: arm.h:41
@ ARM_CC_PL
Plus, positive or zero >, ==, or unordered.
Definition: arm.h:40
@ ARM_CC_INVALID
Definition: arm.h:34
@ ARM_CC_NE
Not equal Not equal, or unordered.
Definition: arm.h:36
@ ARM_CC_LO
Carry clear Less than.
Definition: arm.h:38
@ ARM_CC_EQ
Equal Equal.
Definition: arm.h:35
@ ARM_CC_LT
Less than Less than, or unordered.
Definition: arm.h:46
@ ARM_CC_HS
Carry set >, ==, or unordered.
Definition: arm.h:37
@ ARM_CC_MI
Minus, negative Less than.
Definition: arm.h:39
arm_cpsflag_type
Operand type for SETEND instruction.
Definition: arm.h:187
@ ARM_CPSFLAG_F
Definition: arm.h:189
@ ARM_CPSFLAG_A
Definition: arm.h:191
@ ARM_CPSFLAG_INVALID
Definition: arm.h:188
@ ARM_CPSFLAG_NONE
no flag
Definition: arm.h:192
@ ARM_CPSFLAG_I
Definition: arm.h:190
arm_vectordata_type
Data type for elements of vector instructions.
Definition: arm.h:196
@ ARM_VECTORDATA_F64
Definition: arm.h:222
@ ARM_VECTORDATA_U64
Definition: arm.h:215
@ ARM_VECTORDATA_I64
Definition: arm.h:203
@ ARM_VECTORDATA_S16F64
Definition: arm.h:240
@ ARM_VECTORDATA_I32
Definition: arm.h:202
@ ARM_VECTORDATA_P8
Definition: arm.h:218
@ ARM_VECTORDATA_F32
Definition: arm.h:221
@ ARM_VECTORDATA_S32F32
Definition: arm.h:233
@ ARM_VECTORDATA_F64F32
Definition: arm.h:229
@ ARM_VECTORDATA_S16
Definition: arm.h:207
@ ARM_VECTORDATA_F32F16
Definition: arm.h:227
@ ARM_VECTORDATA_F16F32
Definition: arm.h:228
@ ARM_VECTORDATA_F64F16
Definition: arm.h:226
@ ARM_VECTORDATA_U32
Definition: arm.h:214
@ ARM_VECTORDATA_F64S16
Definition: arm.h:237
@ ARM_VECTORDATA_S32
Definition: arm.h:208
@ ARM_VECTORDATA_F32U32
Definition: arm.h:236
@ ARM_VECTORDATA_U16
Definition: arm.h:213
@ ARM_VECTORDATA_S8
Definition: arm.h:206
@ ARM_VECTORDATA_U16F32
Definition: arm.h:244
@ ARM_VECTORDATA_U16F64
Definition: arm.h:243
@ ARM_VECTORDATA_U32F64
Definition: arm.h:245
@ ARM_VECTORDATA_I16
Definition: arm.h:201
@ ARM_VECTORDATA_INVALID
Definition: arm.h:197
@ ARM_VECTORDATA_U32F32
Definition: arm.h:234
@ ARM_VECTORDATA_F32U16
Definition: arm.h:247
@ ARM_VECTORDATA_I8
Definition: arm.h:200
@ ARM_VECTORDATA_S64
Definition: arm.h:209
@ ARM_VECTORDATA_F16F64
Definition: arm.h:225
@ ARM_VECTORDATA_F32S16
Definition: arm.h:238
@ ARM_VECTORDATA_S32F64
Definition: arm.h:242
@ ARM_VECTORDATA_F32F64
Definition: arm.h:230
@ ARM_VECTORDATA_F32S32
Definition: arm.h:235
@ ARM_VECTORDATA_S16F32
Definition: arm.h:241
@ ARM_VECTORDATA_F64S32
Definition: arm.h:239
@ ARM_VECTORDATA_F64U16
Definition: arm.h:246
@ ARM_VECTORDATA_F64U32
Definition: arm.h:248
@ ARM_VECTORDATA_U8
Definition: arm.h:212
arm_reg
ARM registers.
Definition: arm.h:252
@ ARM_REG_S21
Definition: arm.h:353
@ ARM_REG_ENDING
Definition: arm.h:365
@ ARM_REG_D4
Definition: arm.h:271
@ ARM_REG_R12
Definition: arm.h:331
@ ARM_REG_FPINST2
Definition: arm.h:299
@ ARM_REG_Q14
Definition: arm.h:317
@ ARM_REG_SB
Definition: arm.h:372
@ ARM_REG_R14
Definition: arm.h:369
@ ARM_REG_Q8
Definition: arm.h:311
@ ARM_REG_D12
Definition: arm.h:279
@ ARM_REG_S0
Definition: arm.h:332
@ ARM_REG_S24
Definition: arm.h:356
@ ARM_REG_FPSCR
Definition: arm.h:259
@ ARM_REG_FPSID
Definition: arm.h:261
@ ARM_REG_S16
Definition: arm.h:348
@ ARM_REG_S2
Definition: arm.h:334
@ ARM_REG_S5
Definition: arm.h:337
@ ARM_REG_S4
Definition: arm.h:336
@ ARM_REG_R5
Definition: arm.h:324
@ ARM_REG_Q10
Definition: arm.h:313
@ ARM_REG_D15
Definition: arm.h:282
@ ARM_REG_S3
Definition: arm.h:335
@ ARM_REG_S8
Definition: arm.h:340
@ ARM_REG_FPSCR_NZCV
Definition: arm.h:260
@ ARM_REG_S26
Definition: arm.h:358
@ ARM_REG_Q4
Definition: arm.h:307
@ ARM_REG_APSR_NZCV
Definition: arm.h:255
@ ARM_REG_S6
Definition: arm.h:338
@ ARM_REG_S20
Definition: arm.h:352
@ ARM_REG_FPEXC
Definition: arm.h:257
@ ARM_REG_D25
Definition: arm.h:292
@ ARM_REG_R8
Definition: arm.h:327
@ ARM_REG_R4
Definition: arm.h:323
@ ARM_REG_R2
Definition: arm.h:321
@ ARM_REG_Q2
Definition: arm.h:305
@ ARM_REG_Q0
Definition: arm.h:303
@ ARM_REG_D19
Definition: arm.h:286
@ ARM_REG_S18
Definition: arm.h:350
@ ARM_REG_R10
Definition: arm.h:329
@ ARM_REG_INVALID
Definition: arm.h:253
@ ARM_REG_D3
Definition: arm.h:270
@ ARM_REG_S27
Definition: arm.h:359
@ ARM_REG_S22
Definition: arm.h:354
@ ARM_REG_R6
Definition: arm.h:325
@ ARM_REG_D7
Definition: arm.h:274
@ ARM_REG_MVFR0
Definition: arm.h:300
@ ARM_REG_D26
Definition: arm.h:293
@ ARM_REG_SL
Definition: arm.h:373
@ ARM_REG_R11
Definition: arm.h:330
@ ARM_REG_R3
Definition: arm.h:322
@ ARM_REG_D2
Definition: arm.h:269
@ ARM_REG_R15
Definition: arm.h:370
@ ARM_REG_MVFR1
Definition: arm.h:301
@ ARM_REG_S11
Definition: arm.h:343
@ ARM_REG_D30
Definition: arm.h:297
@ ARM_REG_FP
Definition: arm.h:374
@ ARM_REG_R13
Definition: arm.h:368
@ ARM_REG_S9
Definition: arm.h:341
@ ARM_REG_CPSR
Definition: arm.h:256
@ ARM_REG_LR
Definition: arm.h:263
@ ARM_REG_FPINST
Definition: arm.h:258
@ ARM_REG_Q9
Definition: arm.h:312
@ ARM_REG_ITSTATE
Definition: arm.h:262
@ ARM_REG_D16
Definition: arm.h:283
@ ARM_REG_D9
Definition: arm.h:276
@ ARM_REG_S13
Definition: arm.h:345
@ ARM_REG_D17
Definition: arm.h:284
@ ARM_REG_Q6
Definition: arm.h:309
@ ARM_REG_APSR
Definition: arm.h:254
@ ARM_REG_R0
Definition: arm.h:319
@ ARM_REG_Q15
Definition: arm.h:318
@ ARM_REG_SPSR
Definition: arm.h:266
@ ARM_REG_D11
Definition: arm.h:278
@ ARM_REG_D21
Definition: arm.h:288
@ ARM_REG_D31
Definition: arm.h:298
@ ARM_REG_Q12
Definition: arm.h:315
@ ARM_REG_S15
Definition: arm.h:347
@ ARM_REG_SP
Definition: arm.h:265
@ ARM_REG_D29
Definition: arm.h:296
@ ARM_REG_S28
Definition: arm.h:360
@ ARM_REG_PC
Definition: arm.h:264
@ ARM_REG_D18
Definition: arm.h:285
@ ARM_REG_D8
Definition: arm.h:275
@ ARM_REG_D24
Definition: arm.h:291
@ ARM_REG_S19
Definition: arm.h:351
@ ARM_REG_R1
Definition: arm.h:320
@ ARM_REG_Q1
Definition: arm.h:304
@ ARM_REG_Q7
Definition: arm.h:310
@ ARM_REG_D5
Definition: arm.h:272
@ ARM_REG_D0
Definition: arm.h:267
@ ARM_REG_S12
Definition: arm.h:344
@ ARM_REG_S14
Definition: arm.h:346
@ ARM_REG_S10
Definition: arm.h:342
@ ARM_REG_D1
Definition: arm.h:268
@ ARM_REG_D28
Definition: arm.h:295
@ ARM_REG_D13
Definition: arm.h:280
@ ARM_REG_Q3
Definition: arm.h:306
@ ARM_REG_R9
Definition: arm.h:328
@ ARM_REG_Q11
Definition: arm.h:314
@ ARM_REG_D27
Definition: arm.h:294
@ ARM_REG_IP
Definition: arm.h:375
@ ARM_REG_D6
Definition: arm.h:273
@ ARM_REG_Q13
Definition: arm.h:316
@ ARM_REG_D14
Definition: arm.h:281
@ ARM_REG_MVFR2
Definition: arm.h:302
@ ARM_REG_S17
Definition: arm.h:349
@ ARM_REG_D10
Definition: arm.h:277
@ ARM_REG_S23
Definition: arm.h:355
@ ARM_REG_D22
Definition: arm.h:289
@ ARM_REG_S7
Definition: arm.h:339
@ ARM_REG_S30
Definition: arm.h:362
@ ARM_REG_S29
Definition: arm.h:361
@ ARM_REG_S31
Definition: arm.h:363
@ ARM_REG_D23
Definition: arm.h:290
@ ARM_REG_R7
Definition: arm.h:326
@ ARM_REG_S1
Definition: arm.h:333
@ ARM_REG_S25
Definition: arm.h:357
@ ARM_REG_D20
Definition: arm.h:287
@ ARM_REG_Q5
Definition: arm.h:308
arm_cpsmode_type
Definition: arm.h:180
@ ARM_CPSMODE_ID
Definition: arm.h:183
@ ARM_CPSMODE_INVALID
Definition: arm.h:181
@ ARM_CPSMODE_IE
Definition: arm.h:182
struct cs_arm_op cs_arm_op
Instruction operand.
int int32_t
Definition: sftypes.h:33
unsigned char uint8_t
Definition: sftypes.h:31
char int8_t
Definition: sftypes.h:35
int scale
scale for index register (can be 1, or -1)
Definition: arm.h:383
arm_reg base
base register
Definition: arm.h:381
int disp
Definition: arm.h:384
int lshift
Definition: arm.h:387
arm_reg index
index register
Definition: arm.h:382
Instruction operand.
Definition: arm.h:391
arm_shifter type
Definition: arm.h:395
arm_op_type type
operand type
Definition: arm.h:399
struct cs_arm_op::@341 shift
int vector_index
Vector Index for some vector operands (or -1 if irrelevant)
Definition: arm.h:392
double fp
floating point value for FP operand
Definition: arm.h:404
unsigned int value
Definition: arm.h:396
arm_setend_type setend
SETEND instruction's operand type.
Definition: arm.h:406
arm_op_mem mem
base/index/scale/disp value for MEM operand
Definition: arm.h:405
int32_t imm
immediate value for C-IMM, P-IMM or IMM operand
Definition: arm.h:403
uint8_t access
Definition: arm.h:417
bool subtracted
Definition: arm.h:412
int reg
register value for REG/SYSREG operand
Definition: arm.h:402
int8_t neon_lane
Neon lane index for NEON instructions (or -1 if irrelevant)
Definition: arm.h:420
Instruction structure.
Definition: arm.h:424
arm_vectordata_type vector_data
Data type for elements of vector instructions.
Definition: arm.h:427
arm_cpsflag_type cps_flag
CPS mode for CPS instruction.
Definition: arm.h:429
uint8_t op_count
Definition: arm.h:437
bool update_flags
does this insn update flags?
Definition: arm.h:431
arm_cpsmode_type cps_mode
CPS mode for CPS instruction.
Definition: arm.h:428
int vector_size
Scalar size for vector instructions.
Definition: arm.h:426
bool usermode
User-mode registers to be loaded (for LDM/STM instructions)
Definition: arm.h:425
arm_cc cc
conditional code for this insn
Definition: arm.h:430
bool writeback
does this insn write-back?
Definition: arm.h:432
arm_mem_barrier mem_barrier
Option for some memory barrier instructions.
Definition: arm.h:433