Bit 22 in some LD/ST instructions (Cortex-A7)

I wonder if the bit 22 has some function in instructions like LDRH, STRH, LDRSBT, LDRD, ... (bits 27, 26, 25 = 0, 0, 0)?

                           22
c c c c 0 0 0  0  U 1  1  0 n n n n t t t t x x x x 1 0 1 1 x x x x STRHT<c> <Rt>,[<Rn>],{,#+/-<imm8>}  A1  A8.8.219
c c c c 0 0 0  0  U 1  1  1 n n n n t t t t x x x x 1 0 1 1 x x x x LDRHT<c> <Rt>,[<Rn>],{,#+/-<imm8>}  A1  A8.8.83
c c c c 0 0 0  0  U 1  1  1 n n n n t t t t x x x x 1 1 0 1 x x x x LDRSBT<c> <Rt>,[<Rn>],{,#+/-<imm8>}  A1  A8.8.87
c c c c 0 0 0 (1) U 1 (0) 0 1 1 1 1 t t t t x x x x 1 1 0 1 x x x xLDRD<c> <Rt>,<Rt2>,<label> LDRD<c> <Rt>,<Rt2>,[PC,#-0]  A1  A8.8.73
c c c c 0 0 0  P  U 0  W  0 n n n n t t t t (0) (0) (0) (0) 1 1 0 1 m m m m> LDRD<c> <Rt>,<Rt2>,[<Rn>,+/-<Rm>]{!} LDRD<c> <Rt>,<Rt2>,[<Rn>],+/-<Rm>  A1  A8.8.74

In some instructions, like LDR, STR, LDRB (bits 27, 26, 25 = 0, 1, 1) , I understand, it chooses between byte and word access.

Parents
  • Hello,

    bit 22 seems to basically indicate whether the addressing is immediate (i.e. displacement) or register (i.e. index).

    However, it sometimes indicates whether the access size is byte or not. in this case, the bit 25 specifies immediate or register.

    After all, the sort of load and store instructions should be considered for the bit 27 to 20.

    I am sorry for that this is not an answer.

    Best regards,

    Yasuhiko Koumoto.

Reply
  • Hello,

    bit 22 seems to basically indicate whether the addressing is immediate (i.e. displacement) or register (i.e. index).

    However, it sometimes indicates whether the access size is byte or not. in this case, the bit 25 specifies immediate or register.

    After all, the sort of load and store instructions should be considered for the bit 27 to 20.

    I am sorry for that this is not an answer.

    Best regards,

    Yasuhiko Koumoto.

Children
More questions in this forum