;; done
(((call :foo))
 (
  :foo
  (var <- 5) ;; 2
  (ecx <- 7) ;; 3
  
  ;; +=
  ;; x
  (var += ecx) 
  (var -= 1) ;; have to maintain encoding
  (eax <- (print var)) ;; print 5
  ;; num
  (var += 2) ;; add 1
  (eax <- (print var)) ;; print 6
  
  ;; -=
  ;; x
  (ecx <- 7) ;; ecx got erased after print
  (var -= ecx)
  (var += 1) ;; add 1
  (eax <- (print var)) ;; print 3
  ;; num
  (var -= 2)
  (eax <- (print var)) ;; print 2
  
  ;; *=
  ;; x
  (ecx <- 3)
  (var *= ecx)
  (eax <- (print var)) ;; print 7
  ;; num
  (var *= 3)
  (var -= 2)
  (eax <- (print var)) ;; print 21
  
  (return)
  ))
