rewritten DO, ENDLOOP and LEAVE in assembly