Генерация высококачественного кода для программ, написанных на СИ | страница 8
¦ push AX add DX,DX ¦
¦ mov AX,j5 add DX,AX ¦
¦ imul AX,AX,5 xchg AX,DX ¦
¦ mov BX,AX cwd ¦
¦ pop AX idiv SI ¦
¦ cwd mov I5,AX ¦
¦ idiv BX cmp k5,0 ¦
¦ mov i5,AX jnle L00e3 ¦
¦ cmp k5,0 ¦
¦ jg @10 ¦
+-------------------------------------------------------------+
¦ MICROSOFT WATCOM ¦
¦ C 5.0 C 6.0 ¦
¦ (46) (91) ¦
+-------------------------------------------------------------+
¦ mov j5,10000 mov j5,0 ¦
¦ mov k5,0 mov DI,10000 ¦
¦ mov CX,30000 L4 dec DI ¦
¦ sub SI,SI imul AX,DI,3 ¦
¦ $0265: inc j5 ¦
¦ sub CX,3 imul BX,j5,5 ¦
¦ add SI,5 cwd ¦
¦ mov AX,CX idiv BX ¦
¦ cwd mov i5,AX ¦
¦ idiv SI test DI,DI ¦
¦ mov DI,AX jg L4 ¦
¦ or CX,CX ¦
¦ jg $0265 ¦
¦ mov i5,DI ¦
+-------------------------------------------------------------+
¦ Компилятор Microsoft C 5.0 выполнил снижение мощности на ¦
¦ константном выражении и разместил в регистрах все ¦
¦ переменные внутри простого цикла, включая вычисляемое ¦
¦ значение i5. Высокая степень проведенного анализа цикла ¦
¦ демонстрируется тем, что заключительные состояния k5 и j5 ¦