
    'wf                         d dl Z ddlmZ ddl  G d de j                        Z G d de j                        Z G d	 d
e j                        Z G d de j                        Z	 G d de j                        Z
d Zy)    N   )copy_ctypes_list)*c                       e Zd Zdej                  fdej                  fdej
                  fdej
                  fdej
                  ffZy)ArmOpMembaseindexscaledisplshiftN)__name__
__module____qualname__ctypesc_uintc_int_fields_     `/home/panchajanya/Development/work/volatility3/venv/lib/python3.12/site-packages/capstone/arm.pyr   r      sE    		&-- 	&,,		6<< Hr   r   c                   D    e Zd Zdej                  fdej                  ffZy)
ArmOpShifttypevalueN)r   r   r   r   r   r   r   r   r   r   r      s!    		&-- Hr   r   c                   ~    e Zd Zdej                  fdej
                  fdej                  fdefdej                  ffZ	y)
ArmOpValueregimmfpmemsetendN)
r   r   r   r   r   c_int32c_doubler   r   r   r   r   r   r   r      sA    			v		6<< Hr   r   c                       e Zd Zdej                  fdefdej                  fdefdej                  fdej                  fdej                  ffZed        Zed	        Zed
        Zed        Zed        Zy)ArmOpvector_indexshiftr   r   
subtractedaccess	neon_lanec                 .    | j                   j                  S N)r   r   selfs    r   r   z	ArmOp.imm+       zz~~r   c                 .    | j                   j                  S r,   )r   r   r-   s    r   r   z	ArmOp.reg/   r/   r   c                 .    | j                   j                  S r,   )r   r   r-   s    r   r   zArmOp.fp3   s    zz}}r   c                 .    | j                   j                  S r,   )r   r    r-   s    r   r    z	ArmOp.mem7   r/   r   c                 .    | j                   j                  S r,   )r   r!   r-   s    r   r!   zArmOp.setend;   s    zz   r   N)r   r   r   r   r   r   r   r   c_boolc_uint8c_int8r   propertyr   r   r   r    r!   r   r   r   r%   r%       s    	&	*		*	v}}%	6>>"	fmm$H         ! !r   r%   c                   :   e Zd Zdej                  fdej
                  fdej
                  fdej
                  fdej
                  fdej                  fdej                  fdej                  fd	ej                  fd
ej
                  fdej                  fdedz  ffZ	y)CsArmusermodevector_sizevector_datacps_modecps_flagccupdate_flags	writeback
post_indexmem_barrierop_countoperands$   N)
r   r   r   r   r4   r   r   r5   r%   r   r   r   r   r9   r9   @   s    	V]]#	%	%	V\\"	V\\"	v}}	'	fmm$	v}}%	%	V^^$	URZ Hr   r9   c                 $   | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  t        | j                  d | j                         fS r,   )r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   r   rE   rD   )as    r   get_arch_inforI   P   sf    JJq}}ajj!**addTUTbTb	Q\\1==2B1::kqzzCZ2[] ]r   )r    r   	arm_const	Structurer   r   Unionr   r%   r9   rI   r   r   r   <module>rN      so      v !!  !F !@F  ]r   