((
  :omg
  ;; (x <- s)
  ;; x
  (esi <- 3)
  (edi <- esi)
  (eax <- (print edi)) ;; print 1
  ;; num
  (edi <- 3)
  (eax <- (print edi)) ;; print 1
  ;; label
  (edi <- :omg) ;; what do we do with this?
  
  ;; (x <- (mem x n4))
  (eax <- (allocate 21 3))
  (esi <- eax)
  (edi <- (mem esi 4))
  ;; note the (mem esi 0) of the array is the only position that is not encoded
  (eax <- (print edi)) ;; print 1
  
  ;; ((mem x n4) <- x)
  (edi <- 5)
  ((mem esi 4) <- edi)
  (ecx <- (mem esi 4))
  (eax <- (print ecx)) ;; print 2
  
  ))
       