((x <- 0)

  (cjump x <= 8 :funcCall :done)

  :funcCall
  (eax <- x)
  (call :isdivbytwo)
  (eax <<= 1)
  (eax += 1)
  (eax <- (print eax))
  (x += 1)
  (goto :compare)
  :done

  :compare
  (eax &= 3)
  (cjump eax = 0 :yes :no)

  :no
  (eax <- 0)
  (return)
  :yes
  (eax <- 1)
  (return)) x -4 s
