Instructions

Instructions for each machine:

arm7tdmi MEM - Memory


arm7tdmi ALU - ALU


arm7tdmi BR - Branch


arm7tdmi arm7tdmi - ARM 7TDMI core


Individual instructions descriptions


adc-imm - Add with carry immediate

adc-reg/imm-shift - Add with carry immediate shift

adc-reg/reg-shift - Add with carry register shift

add-imm - Add immediate

add-reg/imm-shift - Add immediate shift

add-reg/reg-shift - Add register shift

and-imm - Bitwise AND immediate

and-reg/imm-shift - Bitwise AND immediate shift

and-reg/reg-shift - Bitwise AND register shift

b - Branch

bic-imm - Bit clear immediate

bic-reg/imm-shift - Bit clear immediate shift

bic-reg/reg-shift - Bit clear register shift

bl - Branch and link

bx - Branch and exchange

cmn-imm - Compare negative immediate

cmn-reg/imm-shift - Compare negative immediate shift

cmn-reg/reg-shift - Compare negative register shift

cmp-imm - Compare immediate

cmp-reg/imm-shift - Compare immediate shift

cmp-reg/reg-shift - Compare register shift

eor-imm - Exclusive OR immediate

eor-reg/imm-shift - Exclusive OR immediate shift

eor-reg/reg-shift - Exclusive OR register shift

ldmda - Load multiple registers (postindex, decrement)

ldmda-sw - Load multiple registers (postindex, decrement, switch)

ldmda-sw-wb - Load multiple registers (postindex, decrement, switch, writeback)

ldmda-wb - Load multiple registers (postindex, decrement, writeback)

ldmdb - Load multiple registers (preindex, decrement)

ldmdb-sw - Load multiple registers (preindex, decrement, switch)

ldmdb-sw-wb - Load multiple registers (preindex, decrement, switch, writeback)

ldmdb-wb - Load multiple registers (preindex, decrement, writeback)

ldmia - Load multiple registers (postindex, increment)

ldmia-sw - Load multiple registers (postindex, increment, switch)

ldmia-sw-wb - Load multiple registers (postindex, increment, switch, writeback)

ldmia-wb - Load multiple registers (postindex, increment, writeback)

ldmib - Load multiple register (preindex, increment)

ldmib-sw - Load multiple register (preindex, increment, switch)

ldmib-sw-wb - Load multiple registers (preindex, increment, switch, writeback)

ldmib-wb - Load multiple registers (preindex, increment, writeback)

ldr-post-dec-imm-offset - Load word (postindex, decrement), immediate offset

ldr-post-dec-nonpriv-imm-offset - Load word (postindex, decrement, nonpriv), immediate offset

ldr-post-dec-nonpriv-reg-offset - Load word (postindex, decrement, nonpriv), register offset

ldr-post-dec-reg-offset - Load word (postindex, decrement), register offset

ldr-post-inc-imm-offset - Load word (postindex, increment), immediate offset

ldr-post-inc-nonpriv-imm-offset - Load word (postindex, increment, nonpriv), immediate offset

ldr-post-inc-nonpriv-reg-offset - Load word (postindex, increment, nonpriv), register offset

ldr-post-inc-reg-offset - Load word (postindex, increment), register offset

ldr-pre-dec-imm-offset - Load word (preindex, decrement), immediate offset

ldr-pre-dec-reg-offset - Load word (preindex, decrement), register offset

ldr-pre-dec-wb-imm-offset - Load word (preindex, decrement, writeback), immediate offset

ldr-pre-dec-wb-reg-offset - Load word (preindex, decrement, writeback), register offset

ldr-pre-inc-imm-offset - Load word (preindex, increment), immediate offset

ldr-pre-inc-reg-offset - Load word (preindex, increment), register offset

ldr-pre-inc-wb-imm-offset - Load word (preindex, increment, writeback), immediate offset

ldr-pre-inc-wb-reg-offset - Load word (preindex, increment, writeback), register offset

ldrb-post-dec-imm-offset - Load byte (postindex, decrement), immediate offset

ldrb-post-dec-nonpriv-imm-offset - Load byte (postindex, decrement, nonpriv), immediate offset

ldrb-post-dec-nonpriv-reg-offset - Load byte (postindex, decrement, nonpriv), register offset

ldrb-post-dec-reg-offset - Load byte (postindex, decrement), register offset

ldrb-post-inc-imm-offset - Load byte (postindex, increment), immediate offset

ldrb-post-inc-nonpriv-imm-offset - Load byte (postindex, increment, nonpriv), immediate offset

ldrb-post-inc-nonpriv-reg-offset - Load byte (postindex, increment, nonpriv), register offset

ldrb-post-inc-reg-offset - Load byte (postindex, increment), register offset

ldrb-pre-dec-imm-offset - Load byte (preindex, decrement), immediate offset

ldrb-pre-dec-reg-offset - Load byte (preindex, decrement), register offset

ldrb-pre-dec-wb-imm-offset - Load byte (preindex, decrement, writeback), immediate offset

ldrb-pre-dec-wb-reg-offset - Load byte (preindex, decrement, writeback), register offset

ldrb-pre-inc-imm-offset - Load byte (preindex, increment), immediate offset

ldrb-pre-inc-reg-offset - Load byte (preindex, increment), register offset

ldrb-pre-inc-wb-imm-offset - Load byte (preindex, increment, writeback), immediate offset

ldrb-pre-inc-wb-reg-offset - Load byte (preindex, increment, writeback), register offset

ldrh-post-dec-imm-offset - Load halfword (postdecrement), immediate offset

ldrh-post-dec-reg-offset - Load halfword (postdecrement), register offset

ldrh-post-inc-imm-offset - Load halfword (postincrement), immediate offset

ldrh-post-inc-reg-offset - Load halfword (postincrement), register offset

ldrh-pre-dec-imm-offset - Load halfword (predecrement), immediate offset

ldrh-pre-dec-reg-offset - Load halfword (predecrement), register offset

ldrh-pre-dec-wb-imm-offset - Load halfword (predec, writeback), immediate offset

ldrh-pre-dec-wb-reg-offset - Load halfword (predec, writeback), register offset

ldrh-pre-inc-imm-offset - Load halfword (preincrement), immediate offset

ldrh-pre-inc-reg-offset - Load halfword (preincrement), register offset

ldrh-pre-inc-wb-imm-offset - Load halfword (preinc, writeback), immediate offset

ldrh-pre-inc-wb-reg-offset - Load halfword (preinc, writeback), register offset

ldrsb-post-dec-imm-offset - Load signed byte (postdecrement), immediate offset

ldrsb-post-dec-reg-offset - Load signed byte (postdecrement), register offset

ldrsb-post-inc-imm-offset - Load signed byte (postindex, increment), immediate offset

ldrsb-post-inc-reg-offset - Load signed byte (postindex, increment), register offset

ldrsb-pre-dec-imm-offset - Load signed byte (predecrement), immediate offset

ldrsb-pre-dec-reg-offset - Load signed byte (predecrement), register offset

ldrsb-pre-dec-wb-imm-offset - Load signed byte (predec, writeback), immediate offset

ldrsb-pre-dec-wb-reg-offset - Load signed byte (predec, writeback), register offset

ldrsb-pre-inc-imm-offset - Load signed byte (preincrement), immediate offset

ldrsb-pre-inc-reg-offset - Load signed byte (preincrement), register offset

ldrsb-pre-inc-wb-imm-offset - Load signed byte (preinc, writeback), immediate offset

ldrsb-pre-inc-wb-reg-offset - Load signed byte (preinc, writeback), register offset

ldrsh-post-dec-imm-offset - Load signed halfword (postdecrement), immediate offset

ldrsh-post-dec-reg-offset - Load signed halfword (postdecrement), register offset

ldrsh-post-inc-imm-offset - Load signed halfword (postincrement), immediate offset

ldrsh-post-inc-reg-offset - Load signed halfword (postincrement), register offset

ldrsh-pre-dec-imm-offset - Load signed halfword (predecrement), immediate offset

ldrsh-pre-dec-reg-offset - Load signed halfword (predecrement), register offset

ldrsh-pre-dec-wb-imm-offset - Load signed halfword (predec, writeback), immediate offset

ldrsh-pre-dec-wb-reg-offset - Load signed halfword (predec, writeback), register offset

ldrsh-pre-inc-imm-offset - Load signed halfword (preincrement), immediate offset

ldrsh-pre-inc-reg-offset - Load signed halfword (preincrement), register offset

ldrsh-pre-inc-wb-imm-offset - Load signed halfword (preinc, writeback), immediate offset

ldrsh-pre-inc-wb-reg-offset - Load signed halfword (preinc, writeback), register offset

mla - Multiply and accumulate

mov-imm - Move immediate

mov-reg/imm-shift - Move immediate shift

mov-reg/reg-shift - Move register shift

mrs-c - Transfer CPSR contents to a register

mrs-s - Transfer SPSR contents to a register

msr-c - Transfer register contents to CPSR

msr-s - Transfer register contents to SPSR

mul - Multiply

mvn-imm - Move (logical) negate immediate

mvn-reg/imm-shift - Move negate immediate shift

mvn-reg/reg-shift - Move negate register shift

orr-imm - Bitwise OR immediate

orr-reg/imm-shift - Bitwise OR immediate shift

orr-reg/reg-shift - Bitwise OR register shift

rsb-imm - Reverse subtract immediate

rsb-reg/imm-shift - Reverse subtract immediate shift

rsb-reg/reg-shift - Reverse subtract register shift

rsc-imm - Reverse subtract with carry immediate

rsc-reg/imm-shift - Reverse subtract with carry immediate shift

rsc-reg/reg-shift - Reverse subtract with carry register shift

sbc-imm - Subtract with carry immediate

sbc-reg/imm-shift - Subtract with carry immediate shift

sbc-reg/reg-shift - Subtract with carry register shift

smlal - Multiply long and accumulate (signed)

smull - Multiply long (signed)

stmda - Store multiple registers (postindex, decrement)

stmda-sw - Store multiple registers (postindex, decrement, switch)

stmda-sw-wb - Store multiple registers (postindex, decrement, switch, writeback)

stmda-wb - Store multiple registers (postindex, decrement, writeback)

stmdb - Store multiple registers (preindex, decrement)

stmdb-sw - Store multiple registers (preindex, decrement, switch)

stmdb-sw-wb - Store multiple registers (preindex, decrement, switch, writeback)

stmdb-wb - Store multiple registers (preindex, decrement, writeback)

stmia - Store multiple registers (postindex, increment)

stmia-sw - Store multiple registers (postindex, increment, switch)

stmia-sw-wb - Store multiple registers (postindex, increment, switch, writeback)

stmia-wb - Store multiple registers (postindex, increment, writeback)

stmib - Store multiple registers (preindex, increment)

stmib-sw - Store multiple registers (preindex, increment, switch)

stmib-sw-wb - Store multiple registers (preindex, increment, switch, writeback)

stmib-wb - Store multiple registers (preindex, increment, writeback)

str-post-dec-imm-offset - Store word (postindex, decrement), immediate offset

str-post-dec-nonpriv-imm-offset - Store word (postindex, decrement, nonpriv), immediate offset

str-post-dec-nonpriv-reg-offset - Store word (postindex, decrement, nonpriv), register offset

str-post-dec-reg-offset - Store word (postindex, decrement), register offset

str-post-inc-imm-offset - Store word (postindex, increment), immediate offset

str-post-inc-nonpriv-imm-offset - Store word (postindex, increment, nonpriv), immediate offset

str-post-inc-nonpriv-reg-offset - Store word (postindex, increment, nonpriv), register offset

str-post-inc-reg-offset - Store word (postindex, increment), register offset

str-pre-dec-imm-offset - Store word (preindex, decrement), immediate offset

str-pre-dec-reg-offset - Store word (preindex, decrement), register offset

str-pre-dec-wb-imm-offset - Store word (preindex, decrement, writeback), immediate offset

str-pre-dec-wb-reg-offset - Store word (preindex, decrement, writeback), register offset

str-pre-inc-imm-offset - Store word (preindex, increment), immediate offset

str-pre-inc-reg-offset - Store word (preindex, increment), register offset

str-pre-inc-wb-imm-offset - Store word (preindex, increment, writeback), immediate offset

str-pre-inc-wb-reg-offset - Store word (preindex, increment, writeback), register offset

strb-post-dec-imm-offset - Store byte (postindex, decrement), immediate offset

strb-post-dec-nonpriv-imm-offset - Store byte (postindex, decrement, nonpriv), immediate offset

strb-post-dec-nonpriv-reg-offset - Store byte (postindex, decrement, nonpriv), register offset

strb-post-dec-reg-offset - Store byte (postindex, decrement), register offset

strb-post-inc-imm-offset - Store byte (postindex, increment), immediate offset

strb-post-inc-nonpriv-imm-offset - Store byte (postindex, increment, nonpriv), immediate offset

strb-post-inc-nonpriv-reg-offset - Store byte (postindex, increment, nonpriv), register offset

strb-post-inc-reg-offset - Store byte (postindex, increment), register offset

strb-pre-dec-imm-offset - Store byte (preindex, decrement), immediate offset

strb-pre-dec-reg-offset - Store byte (preindex, decrement), register offset

strb-pre-dec-wb-imm-offset - Store byte (preindex, decrement, writeback), immediate offset

strb-pre-dec-wb-reg-offset - Store byte (preindex, decrement, writeback), register offset

strb-pre-inc-imm-offset - Store byte (preindex, increment), immediate offset

strb-pre-inc-reg-offset - Store byte (preindex, increment), register offset

strb-pre-inc-wb-imm-offset - Store byte (preindex, increment, writeback), immediate offset

strb-pre-inc-wb-reg-offset - Store byte (preindex, increment, writeback), register offset

strh-post-dec-imm-offset - Store halfword (postdecrement), immediate offset

strh-post-dec-reg-offset - Store halfword (postdecrement), register offset

strh-post-inc-imm-offset - Store halfword (postindex, increment), immediate offset

strh-post-inc-reg-offset - Store halfword (postindex, increment), register offset

strh-pre-dec-imm-offset - Store halfword (predecrement), immediate offset

strh-pre-dec-reg-offset - Store halfword (predecrement), register offset

strh-pre-dec-wb-imm-offset - Store halfword (predec, writeback), immediate offset

strh-pre-dec-wb-reg-offset - Store halfword (predec, writeback), register offset

strh-pre-inc-imm-offset - Store halfword (preincrement), immediate offset

strh-pre-inc-reg-offset - Store halfword (preincrement), register offset

strh-pre-inc-wb-imm-offset - Store halfword (preinc, writeback), immediate offset

strh-pre-inc-wb-reg-offset - Store halfword (preinc, writeback), register offset

sub-imm - Subtract immediate

sub-reg/imm-shift - Subtract immediate shift

sub-reg/reg-shift - Subtract register shift

swi - Software interrupt

swp - Swap word

swpb - Swap byte

teq-imm - Test equal immediate

teq-reg/imm-shift - Test equal immediate shift

teq-reg/reg-shift - Test equal register shift

tst-imm - Test immediate

tst-reg/imm-shift - Test immediate shift

tst-reg/reg-shift - Test register shift

umlal - Multiply long and accumulate (unsigned)

umull - Multiply long (unsigned)


Macro Instructions

Macro instructions for each machine:

arm7tdmi - ARM 7TDMI core

Individual macro-instructions descriptions



This documentation was machine generated from the cgen cpu description files for this architecture.
http://sources.redhat.com/cgen/