((
  ; compute the factorial of some small numbers
  (esi <- 12)
  (ebx <- 1)
  (ecx <- 3) ; the running factorial

  :loop
  (cjump ebx < esi :continue :done)
  :continue

  (ecx -= 1)
  (ecx >>= 1)
  (ecx *= ebx)
  (ecx <<= 1)
  (ecx += 1)
  (edi <- ecx)
  (eax <- (print edi))
  (ecx <- edi)
  (ebx += 1)
  (goto :loop)

  :done
))
