QRC_ARMSIDE.PDF
《QRC_ARMSIDE.PDF》由会员分享,可在线阅读,更多相关《QRC_ARMSIDE.PDF(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ARMInstruction SetQuick Reference CardKey to TablescondRefer to Table Condition Field cond. Omit for unconditional execution.Refer to Table Addressing Mode 2.Refer to Table Flexible Operand 2. Shift and rotate are only available as part of Operand2.Refer to Table Addressing Mode 2 (Post-indexed only
2、).Refer to Table PSR fields.Refer to Table Addressing Mode 3.Either CPSR (Current Processor Status Register) or SPSR (Saved Processor Status Register)Refer to Table Addressing Mode 4 (Block load or Stack pop).SUpdates condition flags if S present.Refer to Table Addressing Mode 4 (Block store or Stac
3、k push).C*, V*Flag is unpredictable in Architecture v4 and earlier, unchanged in Architecture v5 and later.Refer to Table Addressing Mode 5.QSticky flag. Always updates on overflow (no S option). Read and reset using MRS and MSR.A comma-separated list of registers, enclosed in braces, and .x,yB mean
4、ing half-register 15:0, or T meaning 31:16.!Updates base register after data transfer if ! present.A 32-bit constant, formed by right-rotating an 8-bit value by an even number of bits.+/-+ or . (+ may be omitted.)A 10-bit constant, formed by left-shifting an 8-bit value by two bits.Refer to Table AR
5、M architecture versions.OperationAssemblerS updatesQ ActionMoveMoveMOVcondS Rd, N ZCRd := Operand2NOTMVNcondS Rd, N ZCRd := 0 xFFFFFFFF EOR Operand2PSR to register3MRScond Rd, Rd := PSRregister to PSR3MSRcond _, RmPSR := Rm (selected bytes only)immediate to PSR3MSRcond _, #PSR := immed_8r (selected
6、bytes only)40-bit accumulator to registerXS MRAcond RdLo, RdHi, AcRdLo := Ac31:0, RdHi := Ac39:32register to 40-bit accumulatorXS MARcond Ac, RdLo, RdHiAc31:0 := RdLo, Ac39:32 := RdHiArithmeticAddADDcondS Rd, Rn, N ZCVRd := Rn + Operand2with carryADCcondS Rd, Rn, N ZCVRd := Rn + Operand2 + Carrysatu
7、rating5EQADDcond Rd, Rm, RnQ Rd := SAT(Rm + Rn)double saturating5EQDADDcond Rd, Rm, RnQ Rd := SAT(Rm + SAT(Rn * 2)SubtractSUBcondS Rd, Rn, N ZCVRd := Rn Operand2with carrySBCcondS Rd, Rn, N ZCVRd := Rn Operand2 NOT(Carry)reverse subtractRSBcondS Rd, Rn, N ZCVRd := Operand2 Rnreverse subtract with ca
8、rryRSCcondS Rd, Rn, N ZCVRd := Operand2 Rn NOT(Carry)saturating5EQSUBcond Rd, Rm, RnQ Rd := SAT(Rm Rn)double saturating5EQDSUBcond Rd, Rm, RnQ Rd := SAT(Rm SAT(Rn * 2)Multiply2MULcondS Rd, Rm, RsN Z C*Rd := (Rm * Rs)31:0accumulate2MLAcondS Rd, Rm, Rs, RnN Z C*Rd := (Rm * Rs) + Rn)31:0unsigned longMU
9、MULLcondS RdLo, RdHi, Rm, RsN Z C* V*RdHi,RdLo := unsigned(Rm * Rs)unsigned accumulate longMUMLALcondS RdLo, RdHi, Rm, RsN Z C* V*RdHi,RdLo := unsigned(RdHi,RdLo + Rm * Rs)signed longMSMULLcondS RdLo, RdHi, Rm, RsN Z C* V*RdHi,RdLo := signed(Rm * Rs)signed accumulate longMSMLALcondS RdLo, RdHi, Rm,
10、RsN Z C* V*RdHi,RdLo := signed(RdHi,RdLo + Rm * Rs)signed 16 * 16 bit5ESMULxycond Rd, Rm, RsRd := Rmx * Rsysigned 32 * 16 bit5ESMULWycond Rd, Rm, RsRd := (Rm * Rsy)47:16signed accumulate 16 * 16 bit5ESMLAxycond Rd, Rm, Rs, RnQ Rd := Rn + Rmx * Rsysigned accumulate 32 * 16 bit5ESMLAWycond Rd, Rm, Rs,
11、 RnQ Rd := Rn + (Rm * Rsy)47:16signed accumulate long 16 * 16 bit5ESMLALxycond RdLo, RdHi, Rm, RsRdHi,RdLo := RdHi,RdLo + Rmx * RsyMultiply with internal 40-bit accumulateXS MIAcond Ac, Rm, RsAc := Ac + Rm * Rspacked halfwordXS MIAPHcond Ac, Rm, RsAc := Ac + Rm15:0 * Rs15:0 + Rm31:16 * Rs31:16halfwo
12、rdXS MIAxycond Ac, Rm, RsAc := Ac + Rmx * RsyCount leading zeroes5CLZcond Rd, RmRd := number of leading zeroes in RmLogicalTestTSTcond Rn, N ZCUpdate CPSR flags on Rn AND Operand2Test equivalenceTEQcond Rn, N ZCUpdate CPSR flags on Rn EOR Operand2ANDANDcondS Rd, Rn, N ZCRd := Rn AND Operand2EOREORco
13、ndS Rd, Rn, N ZCRd := Rn EOR Operand2ORRORRcondS Rd, Rn, N ZCRd := Rn OR Operand2Bit ClearBICcondS Rd, Rn, N ZCRd := Rn AND NOT Operand2CompareCompareCMPcond Rn, N ZCVUpdate CPSR flags on Rn Operand2negativeCMNcond Rn, N ZCVUpdate CPSR flags on Rn + Operand2No OpNo operationNOPNoneARM Instruction Se
14、tQuick Reference CardOperationAssemblerActionNotesBranchBranchBcond labelR15 := labellabel must be within 32Mb ofcurrent instruction.with linkBLcond labelR14 := R15 4, R15 := labellabel must be within 32Mb ofcurrent instruction.and exchange4T,5 BXcond RmR15 := Rm, Change to Thumb if Rm0 is 1with lin
15、k and exchange (1)5TBLX labelR14 := R15 4, R15 := label, Change to Thumb Cannot be conditional.label must be within 32Mb ofcurrent instruction.with link and exchange (2)5BLXcond RmR14 := R15 4, R15 := Rm31:1Change to Thumb if Rm0 is 1LoadWordLDRcond Rd, Rd := addressRd must not be R15.User mode priv
16、ilegeLDRcondT Rd, Rd must not be R15.branch ( 5T: and exchange)LDRcond R15, R15 := address31:1( 5T: Change to Thumb if address0 is 1)ByteLDRcondB Rd, Rd := ZeroExtendbyte from addressRd must not be R15.User mode privilegeLDRcondBT Rd, Rd must not be R15.signed4LDRcondSB Rd, Rd := SignExtendbyte from
17、 addressRd must not be R15.Halfword4LDRcondH Rd, Rd := ZeroExtenthalfword from addressRd must not be R15.signed4LDRcondSH Rd, Rd := SignExtendhalfword from addressRd must not be R15.Doubleword5E* LDRcondD Rd, Rd := address, R(d+1) := address + 4Rd must be even, and not R14.Load multiplePop, or Block
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QRC_ARMSIDE
限制150内