main:   
  AND  R0, R0, #0       
  ADD  R0, R0, #2  ;  The compiler assigns variable a an offset of 3
  STR  R0, R6, #3  ;  inLocal = 2;
                      
  AND  R0, R0, #0     
  ADD  R0, R0, #3  ;  inGlobal assigned to offset 0 in the global area
  STR  R0, R5, #0  ;  inGlobal = 3;
                      
  LDR  R0, R6, #3  ;  get value of inLocal : r0 contains original value
  ADD  R1, R0, #1  ;  increment inLocal
  STR  R1, R6, #3  ;  inLocal++ 
  
  LDR  R1, R5, #0  ;  get value of inGlobal
  NOT  R1          ;  ~inGlobal 
  AND  R2, R0, R1  ;  calculate inLocal & ~inGlobal
  STR  R2, R6, #4  ;  outLocalA = inLocal++ & ~inGlobal;
                   ;  The variable outLocalA is assigned an offset of 4
                      
  LDR  R0, R6, #3  ;  get value of inLocal
  LDR  R1, R5, #0  ;  get value of inGlobal
  ADD  R0, R0, R1  ;  calculate inLocal + inGlobal
                      
  LDR  R2, R6, #3  ;  get value of inLocal
  LDR  R3, R5, #0  ;  get value of inGlobal 
  NOT  R3             
  ADD  R3, R3, #1  ;  calculate -inGlobal
  ADD  R2, R2, R3  ;  calculate inLocal - inGlobal
  NOT  R2             
  ADD  R2, R2, #1  ;  calculate -(inLocal - inGlobal)
  ADD  R0, R0, R2  ;  (inLocal + inGlobal) - (inLocal - inGlobal)
  STR  R0, R6, #5  ;  outLocalB = (inLocal + inGlobal) - (inLocal - inGlobal);  
                   ;  The variable outLocalB is assigned an offset of 5
  :
  :
  <code for calling the function printf>
  :
  :