
    >f                         d dl Z ddlmZ ddlT  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dS )    N   )copy_ctypes_list)*c                   b    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dS )ArmOpMembaseindexscaledisplshiftN)__name__
__module____qualname__ctypesc_uintc_int_fields_     [/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/capstone/arm.pyr   r      sG        		&- 	&,		6< HHHr   r   c                   2    e Zd Zdej        fdej        ffZdS )
ArmOpShifttypevalueN)r   r   r   r   r   r   r   r   r   r   r      s)        		&- HHHr   r   c                   X    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	dS )
ArmOpValueregimmfpmemsetendN)
r   r   r   r   r   c_int32c_doubler   r   r   r   r   r   r   r      sE        			v		6< HHHr   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dS )ArmOpvector_indexshiftr   r   
subtractedaccess	neon_lanec                     | j         j        S N)r   r   selfs    r   r   z	ArmOp.imm+       z~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    z}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    z  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>"	fm$H   X   X   X   X ! ! X! ! !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	dS )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}	'	fm$	v}%	%	V^$	URZ HHHr   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   sR    Jq}aj!*adTUTb	Q\1=2B1:kqzkCZ2[2[] ]r   )r    r   	arm_const	Structurer   r   Unionr   r%   r9   rI   r   r   r   <module>rN      s-                 v       !          ! ! ! ! !F ! ! !@    F    ] ] ] ] ]r   