ARM GAS  impl-branch.s 			page 1


   1              	/* --------------------------------------------------
   2              	   Define required labels for EGTAPI
   3              	   -------------------------------------------------- */
   4              	        .global main, Stop, CodeEnd, DataStart, DataEnd
   5              	
   6              	/* --------------------------------------------------
   7              	   Begin of the program instructions
   8              	   -------------------------------------------------- */
   9              		.text
  10              	main:
  11              	
  12 0000 000000E3 		movw	r0, #:lower16:there
  13 0004 000040E3 		movt	r0, #:upper16:there	// r0 = addr(there)
  14              	
  15 0008 00F0A0E1 		mov	pc, r0			// pc = addr(there)
  16              						// The CPU will branch to "there" !!!
  17              	
  18 000c 5C1101E3 		mov	r1, #4444		// These instructions are SKIPPED over !
  19 0010 5C2101E3 		mov	r2, #4444
  20 0014 5C3101E3 		mov	r3, #4444
  21              	
  22              	there:
  23 0018 5C4101E3 		mov	r4, #4444
  24 001c 5C5101E3 		mov	r5, #4444
  25 0020 5C6101E3 		mov	r6, #4444
  26              	
  27              	Stop:
  28              	CodeEnd:
  29 0024 0000A0E1 	    	nop
  30              	
  31              	/* --------------------------------------------------
  32              	   Begin of the permanent program variables
  33              	   -------------------------------------------------- */
  34              		.data
  35              	DataStart:
  36              	
  37 0000 04000000 	a:    .4byte  4        // a contains the value 4
  38 0004 05000000 	b:    .4byte  5        // b contains the value 5
  39 0008 00000000 	c:    .skip   4        // c is not initialized (will contain 0) 
  40              	
  41              	DataEnd:
  42              	
  43              		.end
ARM GAS  impl-branch.s 			page 2


DEFINED SYMBOLS
       impl-branch.s:10     .text:0000000000000000 main
       impl-branch.s:27     .text:0000000000000024 Stop
       impl-branch.s:28     .text:0000000000000024 CodeEnd
       impl-branch.s:35     .data:0000000000000000 DataStart
       impl-branch.s:41     .data:000000000000000c DataEnd
       impl-branch.s:22     .text:0000000000000018 there
       impl-branch.s:12     .text:0000000000000000 $a
       impl-branch.s:37     .data:0000000000000000 a
       impl-branch.s:38     .data:0000000000000004 b
       impl-branch.s:39     .data:0000000000000008 c
       impl-branch.s:39     .data:0000000000000008 $d

NO UNDEFINED SYMBOLS
