GQ ·ì ÿ4 Heading-4‚˜:A fÿÿÙ;Xt­Éå;Ws¬ÙBookman…N {€/footingd ÿÿÿÿ@3ôÿÿÿÿ  âñââPalatino1 Heading-1‚ A fÿÿ0Ù;Xt­Éå;Ws¬ÙBookman2 Heading-2‚ A fÿÿÙ;Xt­Éå;Ws¬ÙBookman]´ 83 Heading-3‚ A fÿÿÙ;Xt­Éå;Ws¬ÙBookman]´ 8PMain Paragraph â;XtŽ­Éã;Wp©âPalatino…R {€/Hanging indent Ž* A fÿÿ-Ù--UÙPalatino]´ 8 /Paragraph - no spaceA fÿÿÙ;Xt­Éå;Ws¬ÙPalatino]´ 8 /Programd ‚   A fÿÿ  â;Xt­Éå;Ws¬ÈâCourierŒ¨‚‚ /Program - light˜A fÿÿ  â;Xt­Éå;Ws¬ÈâCourier]´ 8 BBold   Helvetica IItaliced ÿÿÿÿ@3ôÿÿÿÿ 0Geneva¤@ž¨ÄU Underlineÿÿÿÿ@3ôÿÿÿÿ  GenevaUªªªªUUUUªª/Bold-underlined@3ôÿÿÿÿ  ChicagoªªªªUUUUªª5computer ÿÿÿÿ@3ôÿÿÿÿ 0CourierA/Computer - light˜A fÿÿ0 CourierË@ž[ÀKKeystled ‚   A fÿÿ0 Helvetica@žZ$;Ê~Ñÿÿ~Ñÿÿµ µÿþ¯3Ê ‚ 3Ê 4 1J8¡–Ø¡šÿý ˜ +&Cond ™ —4I1b8¡–Ø¡šÿý ˜)300 ™ —4a1q8¡–Ø¡šÿý ˜)I ™ —4p1°8¡–Ø¡šÿý ˜)OpCode ™ —4¯1Á8¡–Ø¡šÿý ˜)<S ™ —4À18¡–Ø¡šÿý ˜)$Rn ™ —4ÿ1?8¡–Ø¡šÿý ˜)@Rd ™ —4>1Ã8¡–Ø¡šÿý ˜)J Operand 2 ™ —¡–Ø¡šÿþ ˜ ( 31 ™ —¡–Ø¡šÿþ ˜).28 ™ —¡–Ø¡šÿþ  ˜)27 26 ™ —¡–Ø¡šÿþ ˜)25 ™ —¡–Ø¡šÿþ ˜)24 ™ —¡–Ø¡šÿþ ˜)321 ™ —¡–Ø¡šÿþ ˜)20 ™ —¡–Ø¡šÿþ ˜)19 ™ —¡–Ø¡šÿþ ˜)016 ™ —¡–Ø¡šÿþ ˜)15 ™ —¡–Ø¡šÿþ ˜)112 ™ —¡–Ø¡šÿþ ˜)11 ™ —¡–Ø¡šÿþ ˜){0 ™ — ƒÿAHelvetica para ­z A fÿÿ â;XtŽ­Éã;Wp©â Helvetica =F œœPœœP œ$œP4œ8œPJœNœPZœ^œPiœmœP€œ„œP™œœPªœ®œPœƜPÝœáœPñœõœPœ œP%œ)œP6œ:œ0000 EQ (EQual) 0001 NE (NEver) 0010 CS (Carry Set) 0011 CC (Carry Clear) 0100 MI (MInus) 0101 PL (PLus) 0110 VS (oVerflow Set) 0111 VC (oVerflow Clear) 1000 HI (HIgher) 1001 LS (Lower or Same) 1010 GE (Greater or Equal) 1011 LT (Less Than) 1100 GT (Greater Than) 1101 LE (Less than or Equal) 1110 AL (ALways) 1111 NV (NeVer)  v v ‰ ” q n š ¥ t § ® Š › ¸ } w   œœP œ œPœœPœœP$œ(œP-œ1œP6œ:œP?œCœPHœLœPQœUœPZœ^œPcœgœPlœpœPuœyœP~œ‚œP‡œ‹œ0000 AND 0001 EOR 0010 SUB 0011 RSB 0100 ADD 0101 ADC 0110 SBC 0111 RSC 1000 TST 1001 TEQ 1010 CMP 1011 CMN 1100 ORR 1101 MOV 1110 BIC 1111 MVN  R Q R Q R R R R O P S T Q S L S!/ Force Normal‚ ­z A fÿÿChicago ƒªCo-processor data transfers  ²  ‰ª›S: Set condition codes. If this bit is set to 0, the condition codes are not altered after the instruction has executed. If it is set to 1, they are altered. p à0 · ªRn: First operand register.    2¾ ‚ Œ 2¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0i8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)25 ™ —4h0w8¡–¡šÿþ ˜) 24 ™ —¡–¡šÿþ ˜)23 ™ —4v0»8¡–¡šÿþ ˜(²0 ™ —¡–¡šÿý ˜ ($Cond ™ —¡–¡šÿý  ˜)4101 ™ —¡–¡šÿý ˜)"L ™ —¡–¡šÿý ˜)Offset ™ —  ƒÿNn Uª›I: Immediate operand bit. This defines exactly what Operand 2 is. If the I bit is 0, Operand 2 is a register, with the register number held in bits 0 to 3 and the shift applied to that register in bits 4 to 11. If the I bit is 1, Operand 2 is an immediate value, with bits 0 to 7 holding the 8 bit value, and bits 8 to 11 holding the shift applied to that value. p áy Øn Í \ ªRd: Destination register.  … , ª ›L: Link bit. 0=Branch, 1=Branch with link , Ã$ ƒªCo-processor data operations i ¾"K KE2¾ ‚ 2¾ 4 0A8¡–Ø¡šÿþ ˜ + 31 ™ —¡–Ø¡šÿþ ˜)(28 ™ —4@0’8¡–Ø¡šÿþ ˜)27 ™ —¡–Ø¡šÿþ ˜)C22 ™ —4‘0 8¡–Ø¡šÿþ ˜)21 ™ —4ž0­8¡–Ø¡šÿþ ˜) 20 ™ —4¬0ã8¡–Ø¡šÿþ ˜)19 ™ —¡–Ø¡šÿþ ˜)(16 ™ —4â08¡–Ø¡šÿþ ˜)15 ™ —¡–Ø¡šÿþ ˜)(12 ™ —40O8¡–Ø¡šÿþ ˜)11 ™ —¡–Ø¡šÿþ ˜)+8 ™ —4N0…8¡–Ø¡šÿþ ˜)7 ™ —¡–Ø¡šÿþ ˜)(4 ™ —¡–Ø¡šÿþ ˜)3 ™ —4„0»8¡–Ø¡šÿþ ˜)(0 ™ —¡–Ø¡šÿý ˜ (&Cond ™ —¡–Ø¡šÿý ˜)>000000 ™ —¡–Ø¡šÿý ˜)@A ™ —¡–Ø¡šÿý ˜) S ™ —¡–Ø¡šÿý ˜) Rn ™ —¡–Ø¡šÿý ˜)6Rd ™ —¡–Ø¡šÿý ˜)5Rs ™ —¡–Ø¡šÿý ˜)/1001 ™ —¡–Ø¡šÿý  ˜):Rm ™ — ƒÿ#< )ª›A: Accumulate bit. 0=multiply, 1=multiply with accumulate < 0© ©£2¾ ‚ 2¾ 4 0A8¡–Ø¡šÿþ ˜ + 31 ™ —¡–Ø¡šÿþ ˜)(28 ™ —4@0\8¡–Ø¡šÿþ ˜)27 ™ —¡–Ø¡šÿþ ˜) 26 ™ —4[0j8¡–Ø¡šÿþ ˜)25 ™ —4h0w8¡–Ø¡šÿþ ˜) 24 ™ —4v0…8¡–Ø¡šÿþ ˜)23 ™ —4ƒ0’8¡–Ø¡šÿþ ˜) 22 ™ —4‘0 8¡–Ø¡šÿþ ˜)21 ™ —4ž0­8¡–Ø¡šÿþ ˜) 20 ™ —4¬0ã8¡–Ø¡šÿþ ˜)19 ™ —¡–Ø¡šÿþ ˜)(16 ™ —4â08¡–Ø¡šÿþ ˜)15 ™ —¡–Ø¡šÿþ ˜)(12 ™ —¡–Ø¡šÿþ ˜)11 ™ —40»8¡–Ø¡šÿþ ˜)—0 ™ —¡–Ø¡šÿý ˜ (%Cond ™ —¡–Ø¡šÿý ˜)101 ™ —¡–Ø¡šÿý ˜)I ™ —¡–Ø¡šÿý ˜) P ™ —¡–Ø¡šÿý ˜) U ™ —¡–Ø¡šÿý ˜) B ™ —¡–Ø¡šÿý ˜) W ™ —¡–Ø¡šÿý ˜)L ™ —¡–Ø¡šÿý ˜)Rn ™ —¡–Ø¡šÿý ˜)7Rd ™ —¡–Ø¡šÿý ˜)]Offset ™ — ƒÿ&à àÚ2¾ ‚ 2¾ 4 0A8¡–Ø¡šÿþ ˜ + 31 ™ —¡–Ø¡šÿþ ˜)(28 ™ —4@0i8¡–Ø¡šÿþ ˜)27 ™ —¡–Ø¡šÿþ ˜)25 ™ —4h0w8¡–Ø¡šÿþ ˜) 24 ™ —4v0…8¡–Ø¡šÿþ ˜)23 ™ —4ƒ0’8¡–Ø¡šÿþ ˜) 22 ™ —4‘0 8¡–Ø¡šÿþ ˜)21 ™ —4ž0­8¡–Ø¡šÿþ ˜) 20 ™ —4¬0ã8¡–Ø¡šÿþ ˜)19 ™ —¡–Ø¡šÿþ ˜)(16 ™ —¡–Ø¡šÿþ ˜)15 ™ —4â0»8¡–Ø¡šÿþ ˜)Í0 ™ —¡–Ø¡šÿý ˜ (%Cond ™ —¡–Ø¡šÿý  ˜)3100 ™ —¡–Ø¡šÿý ˜)"P ™ —¡–Ø¡šÿý ˜) U ™ —¡–Ø¡šÿý ˜) S ™ —¡–Ø¡šÿý ˜)W ™ —¡–Ø¡šÿý ˜)L ™ —¡–Ø¡šÿý ˜)Rn ™ —¡–Ø¡šÿý ˜)b Register list ™ — ƒÿ'b Hª›S: PSR & Force user mode. 0=do not load PSR or force user mode. 1=load PSR or force user mode. b Ü i(Ö ÖÐ2¾ ‚ Œ 2¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0w8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)(24 ™ —¡–¡šÿþ ˜)23 ™ —4v0»8¡–¡šÿþ ˜(²0 ™ —¡–¡šÿý ˜ (&Cond ™ —¡–¡šÿý ˜)61111 ™ —¡–¡šÿýX ˜)bComment field (ignored by ARM) ™ —  ƒÿ)€ €z2¾ ‚ Œ 2¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0w8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)(24 ™ —4v0­8¡–¡šÿþ ˜)23 ™ —¡–¡šÿþ ˜)(20 ™ —4¬0ã8¡–¡šÿþ ˜)19 ™ —¡–¡šÿþ ˜)(16 ™ —4â08¡–¡šÿþ ˜)15 ™ —¡–¡šÿþ ˜)(12 ™ —40O8¡–¡šÿþ ˜)11 ™ —¡–¡šÿþ ˜)+8 ™ —4N0w8¡–¡šÿþ ˜)7 ™ —¡–¡šÿþ ˜)5 ™ —4v0…8¡–¡šÿþ ˜) 4 ™ —¡–¡šÿþ ˜)3 ™ —4„0»8¡–¡šÿþ ˜)(0 ™ —¡–¡šÿý ˜ ($Cond ™ —¡–¡šÿý ˜+61110 ™ —¡–¡šÿý ˜($}CP Opc ™ —¡–¡šÿý  ˜)?CRn ™ —¡–¡šÿý  ˜)5CRd ™ —¡–¡šÿý  ˜+6CP# ™ —¡–¡šÿý ˜)3CP ™ —¡–¡šÿý ˜) 0 ™ —¡–¡šÿý  ˜)CRm ™ —  ƒÿ* ±8 ª ›'ª+›MªQ›wª{›“ª–›CP Opc: Co-processor operation code. CRn: Co-processor operand register. CRd: Co-processor destination register. CP#: Co-processor number. CP: Co-processor information ` ÊQ n =+ä äÞ2¾ ‚ Œ 2¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0i8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)25 ™ —4h0w8¡–¡šÿþ ˜) 24 ™ —4v0…8¡–¡šÿþ ˜)23 ™ —4ƒ0’8¡–¡šÿþ ˜) 22 ™ —4‘0 8¡–¡šÿþ ˜)21 ™ —4ž0­8¡–¡šÿþ ˜) 20 ™ —4¬0ã8¡–¡šÿþ ˜)19 ™ —¡–¡šÿþ ˜)(16 ™ —4â08¡–¡šÿþ ˜)15 ™ —¡–¡šÿþ ˜)(12 ™ —40O8¡–¡šÿþ ˜)11 ™ —¡–¡šÿþ ˜)+8 ™ —¡–¡šÿþ ˜)7 ™ —4N0»8¡–¡šÿþ ˜)^0 ™ —¡–¡šÿý ˜ ($Cond ™ —¡–¡šÿý  ˜+3110 ™ —¡–¡šÿý ˜($kP ™ —¡–¡šÿý ˜+U ™ —¡–¡šÿý ˜) N ™ —¡–¡šÿý ˜($“W ™ —¡–¡šÿý ˜+L ™ —¡–¡šÿý ˜)Rn ™ —¡–¡šÿý  ˜($òCRd ™ —¡–¡šÿý  ˜+5CP# ™ —¡–¡šÿý ˜)IOffset ™ —  ƒÿ, ªN: Transfer Length.  m-Ô ÔÎ2¾ ‚ Œ 2¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0w8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)(24 ™ —4v0Ÿ8¡–¡šÿþ ˜)23 ™ —¡–¡šÿþ ˜)21 ™ —4ž0­8¡–¡šÿþ ˜) 20 ™ —4¬0ã8¡–¡šÿþ ˜)19 ™ —¡–¡šÿþ ˜)(16 ™ —4â08¡–¡šÿþ ˜)15 ™ —¡–¡šÿþ ˜)(12 ™ —40O8¡–¡šÿþ ˜)11 ™ —¡–¡šÿþ ˜)+8 ™ —4N0w8¡–¡šÿþ ˜)7 ™ —¡–¡šÿþ ˜)5 ™ —4v0…8¡–¡šÿþ ˜) 4 ™ —¡–¡šÿþ ˜)3 ™ —4„0»8¡–¡šÿþ ˜)(0 ™ —¡–¡šÿý ˜ ($Cond ™ —¡–¡šÿý ˜+71110 ™ —¡–¡šÿý ˜)(CP Opc ™ —¡–¡šÿý ˜),L ™ —¡–¡šÿý  ˜)CRn ™ —¡–¡šÿý ˜);Rd ™ —¡–¡šÿý  ˜($(CP# ™ —¡–¡šÿý ˜)3CP ™ —¡–¡šÿý ˜)1 ™ —¡–¡šÿý  ˜+CRm ™ —  ƒÿ.0 0 *\¾ ‚ Œ Œ \¾ 4 0A8¡–¡šÿþ ˜ + 31 ™ —¡–¡šÿþ ˜)(28 ™ —4@0w8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)(24 ™ —4v0O8¡–¡šÿþ ˜)23 ™ —¡–¡šÿþ ˜)Í8 ™ —4N0…8¡–¡šÿþ ˜)7 ™ —¡–¡šÿþ ˜)(4 ™ —¡–¡šÿþ ˜)3 ™ —4„0»8¡–¡šÿþ ˜)(0 ™ —¡–¡šÿý ˜ (%Cond ™ —¡–¡šÿý ˜)70001 ™ —¡–¡šÿý0 ˜)^xxxxxxxxxxxxxxxx ™ —¡–¡šÿý  ˜)°1xx1 ™ —¡–¡šÿý  ˜)7xxxx ™ —  Œ4> ZA8¡–¡šÿþ ˜ (< 31 ™ —¡–¡šÿþ ˜)(28 ™ —4>@Zi8¡–¡šÿþ ˜)27 ™ —¡–¡šÿþ ˜)25 ™ —4>hZw8¡–¡šÿþ ˜) 24 ™ —¡–¡šÿþ ˜(<o5 ™ —4>vZ…8¡–¡šÿþ ˜) 4 ™ —¡–¡šÿþ ˜)3 ™ —4>„Z»8¡–¡šÿþ ˜)(0 ™ —¡–¡šÿý ˜ (OCond ™ —¡–¡šÿý  ˜)2011 ™ —¡–¡šÿý< ˜)`xxxxxxxxxxxxxxxxxxxx ™ —¡–¡šÿý ˜)Ð1 ™ —¡–¡šÿý  ˜)xxxx ™ —   ƒÿ.ÒÒ ÒW(ÿþ6Òÿþ¾,Òÿþ¾,ÝèÿÑë)-cX€:06€= €  €  € € €> € €? €# €A €H  €B €& €C €! €)  € €+ €D €F €Eø€; € ø€@ € ÿÿÿÿ/ ~¯Çÿÿÿÿÿÿ€¹×ÿÿÿÿI¹ÜÆÿÿÿÿQ NÃÿÿÿÿÿÿ€"p œÂÿÿÿÿÿÿ€$ DÀÿþÿÿÿÿ€%Š ºÀÿþÿÿÿÿ€'Þ Âÿþÿÿÿÿ€(. _Àÿþÿÿÿÿ €* ÄÀÿþÿÿÿÿ € ,é Àÿþÿÿÿÿ € -> –Àÿþÿÿÿÿ € 0Ñ2Ñ.Ñ*F“ÿÿƒfÿÿƒfÿÿÿÿ€4ÿÿ233A# #… Arm Assembly Language programming #]5ÑÑÑÿÿF“ÿÿ‚®ÿÿ‚®ÿÿÿÿ€9ÿÿ788F …Å… # òG 0‡@ ‡Appendix C Instruction set á $ $q< ª±œCond: Condition field  yHD helv heading‚ ­z A fÿÿ â;XtŽ­Éã;Wp©ââ HelveticaI ƒªData Processing  iJ ƒªBranch and Branch with link  ³K! ƒ ªMultiply and multiply-accumulate ! ÒA  ªœ±œOpCode: Operation code ™ M ƒªSingle Data transfer @ N ƒªBlock data transfer  xO ƒªSoftware Interrupt  sP  ƒªCo-processor register transfers  ÇQ ƒUndefined instructions.  ”G H 5ªª›L: Load/Store bit. 0=Store to co-processor, 1=Load from co-processor. H RH/Helvetica 12 pt­z A fÿÿ â;XtŽ­Éã;Wp©â Helvetica…N {€I*.0 .ª›@eªu›@»ªÍ›@ñª›P: Pre/Post indexing. 0=post (offset added after transfer). 1=pre (offset added before transfer). U: Up/Down bit. 0=down (Offset subtracted from base). 1=Up (Offset added to base). B: Byte/Word bit. 0=transfer word, 1=transfer byte. W: Write-back. 0=No write back, 1=Write address into base. e ÁV Ž6 ö= H< G ./01235678LWHH ÿâÿä+6{ÞHH dç à ª`(Ñæ(¢¢$Ñê(¢¢ÆÑÞ(¢¢hÑÚ(¢¢ ÑÖ(¢¢¬ÑÒ ¢¢NÑÎ(¢¢ðÑÊ(¢¢’ÑÆ(¢¢4ÑÂ(¢¢ÖѾ(¢¢xѲ(¢¢Ñ®(¢¢¼Ѫ(¢¢^Ѧ(¢¢ Ñ¢(¢¢ ¢Ñž(¢¢ DÑš (( æÒ (ÉÉ ÐÊ(¢¢×Ѻ,yО ‘Ò,bb¥Ж(¢¢Ñ–,::©ÑJ,ÂÂãк,66¥ж(&&ÛÐÒ,˜˜о,44™в,JJÍЪ,<<ÑR(__SÐú,ZZ²Ñf(½½ Ñj(ôô"ÉÑr,€„&½Ò(êê'AÑz(””)+Ñ‚,ôø-¿ÑN(øø.·ц,003¯ÑF(èè3ßÓú(DD8ÇÓò  "> Ò $$?-Ò xx@QÑ6 @ÉÑ2 @ÕÑ. @ÙÑ*,>>@ÝÑ xxAÑ& A“Ñ AŸÑ A£Ñ,((A§Ñ,>>AÏÐÆ,88B Т(¢¢BEÑâ,..BçÐÂ,::CЮ,@@COЦ,>>CК,44CÍÑb,22DÑZ,22D3ÑV,>>DeÑB,22D£Ñ:,jjDÕÑ>(¢¢E?Ѷ,ppEáÑ^