编译器会首先判断一下while后面的条件在一开始是否满足,如果满足,会把while变成do .. while循环。如果不确定,就在前面加个if把整个do while包在里面。
然后do while的do变成标号,while变成一条 jnz指令,如果非零就跳回前面do的位置。