The format of the CDP instruction is:
CDP{condition} coprocessor code, coprocessor opcode 1, destination register, source register 1, source register 2, coprocessor opcode 2.
The CDP instruction is used by the ARM processor to notify the ARM coprocessor to perform a specific operation. If the coprocessor cannot successfully complete the specific operation, an undefined instruction exception is generated. Among them, coprocessor opcode 1 and coprocessor opcode 2 are the operations to be performed by the coprocessor. The destination register and source register are both coprocessor registers. The instruction does not involve the registers and memory of the ARM processor.
Instruction example:
CDP P3,2,C12,C10,C3,4; This instruction completes the initialization of coprocessor P3
2. LDC instruction
The format of the LDC instruction is:
LDC{condition}{L} coprocessor code, destination register, [source register]
The LDC instruction is used to transfer word data in the memory pointed to by the source register to the destination register. If the coprocessor cannot successfully complete the transfer operation, an undefined instruction exception is generated. The {L} option indicates that the instruction is a long read operation, such as for the transmission of double-precision data.
Instruction example:
LDC P3, C4, [R0]; transfers the word data in the memory pointed to by register R0 of the ARM processor to register C4 of coprocessor P3.
3. STC instruction
The format of the STC instruction is:
STC{condition}{L} coprocessor code, source register, [destination register]
The STC instruction is used to transfer word data in the source register to the memory pointed to by the destination register. If the coprocessor cannot successfully complete the transfer operation, an undefined instruction exception is generated. The {L} option indicates that the instruction is a long read operation, such as for the transmission of double-precision data.
Instruction example:
STC P3, C4, [R0]; transfer the word data in register C4 of coprocessor P3 to the memory pointed to by register R0 of the ARM processor.
4. MCR instruction
The format of the MCR instruction is:
MCR{condition} Coprocessor code, coprocessor opcode 1, source register, destination register 1, destination register 2, coprocessor opcode 2.
The MCR instruction is used to transfer data from the ARM processor register to the coprocessor register. If the coprocessor cannot successfully complete the operation, an undefined instruction exception will be generated. Coprocessor opcode 1 and coprocessor opcode 2 are the operations to be performed by the coprocessor, the source register is the register of the ARM processor, and the destination register 1 and destination register 2 are both coprocessor registers.
Instruction example:
MCR P3,3,R0,C4,C5,6; This instruction transfers the data in the ARM processor register R0 to the registers C4 and C5 of the coprocessor P3.
5. MRC directive
The format of the MRC instruction is:
MRC{condition} Coprocessor code, coprocessor opcode 1, destination register, source register 1, source register 2, coprocessor opcode 2.
The MRC instruction is used to transfer data in the coprocessor register to the ARM processor register. If the coprocessor cannot successfully complete the operation, an undefined instruction exception will be generated. Coprocessor opcode 1 and coprocessor opcode 2 are the operations to be performed by the coprocessor, the destination register is the register of the ARM processor, and source register 1 and source register 2 are both registers of the coprocessor.
Instruction example:
MRC P3, 3, R0, C4, C5, 6; This instruction transfers the data in the register of coprocessor P3 to the ARM processor register.
Previous article:ARM assembly instruction set 10 - exception generation instruction
Next article:ARM assembly instruction set eight - shift instruction (operation)
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- I need help from you guys, what should I do if I forget the password of Xinshian H.264 hard disk monitoring host?
- Is there any good way to remove the green oil on the PCB?
- Design of low-cost wireless WiFi music playback system
- Read the good book "Electronic Engineer Self-study Handbook" - Suggestions
- Why do DSPs with large on-chip RAM have high efficiency?
- How is the buffering function of 74HC04 manifested? What is the difference between buffering and latching?
- From base stations to terminals, end-to-end 5G RF front-end solutions
- The 5G era is here. What challenges will the RF front end face?
- It's quite impressive. This hero made a 60,000 am/h, PD100W power bank
- Without using MCU, how can we make the MOS tube turn off 1000000000 times faster than it turns on?