"Филипп Н.Хислей. Генерация высококачественного кода для программ, написанных на СИ " - читать интересную книгу автора

|ђ€‘“ЌЋЉ 1: ‚뤥«Ґ­ЁҐ ®ЎйЁе Ї®¤ўла ¦Ґ­Ё© |
+-------------------------------+
|€б室­л© ⥪бв ­  ‘Ё BORLAND LATTICE |
| Turbo C 1.5 MS-DOS C 3.2 |
+-------------------------------+
|if((h3 + k3) " 0 || mov AX,h3 mov AX,h3 |
| (h3 + k3) ъ 5) add AX,k3 add AX,k3 |
| printf("Common\ jl @18 js L0187 |
| subexpression\ mov AX,h3 cmp AX,5 |
| elimination"); add AX,k3 jle L0193 |
| cmp AX,5 L0187: |
| jle @17 mov AX,01.0000 |
| @18: push AX |
| mov AX,offset s@ call printf |
| push AX add SP,2 |
| call printf L0193: |
| mov SP,BP |
| @17: |
+-------------------------------+
|Њ­®Ј®Єа в­лҐ ўе®¦¤Ґ­Ёп ўлзЁб«Ґ­Ё© § ¬Ґ­повбп §­ зҐ­ЁҐ¬, |
|Є®в®а®Ґ пў«пҐвбп १г«мв в®¬ Ґ¤Ё­б⢥­­®Ј® ўе®¦¤Ґ­Ёп |
|ўлзЁб«Ґ­Ёп. Borland Turbo C ўлзЁб«пҐв §­ зҐ­ЁҐ ўл¤Ґ«Ґ­­®Ј® |
|ўла ¦Ґ­Ёп h3+k3 ¤ў ¦¤л, в®Ј¤  Є Є LATTICE MS-DOS C Ё ¤агЈЁҐ |
|ЇаЁ¬Ґ­по⠢뤥«Ґ­ЁҐ ®ЎйЁе Ї®¤ўла ¦Ґ­Ё© Ё ўлзЁб«пов |
|ўла ¦Ґ­ЁҐ в®«мЄ® ®¤Ё­ а §. |
L-------------------------------
"‘­Ё¦Ґ­ЁҐ ¬®й­®бвЁ" Ї®¤а §г¬Ґў Ґв § ¬ҐйҐ­ЁҐ ®ЇҐа жЁ©, Є®в®алҐ вॡгов
Ў®«м襣® ўаҐ¬Ґ­Ё ўлЇ®«­Ґ­Ёп, Ў®«ҐҐ Ўлбвал¬Ё. Љ®¬ЇЁ«пв®а ¬®¦Ґв ЇаЁ¬Ґ­пвм
б­Ё¦Ґ­ЁҐ ¬®й­®бвЁ ­ҐбЄ®«мЄЁ¬Ё бЇ®б®Ў ¬Ё. Ќ ЇаЁ¬Ґа, ЇаЁ¬Ґ­пп б­Ё¦Ґ­ЁҐ
¬®й­®бвЁ Є бЈҐ­ҐаЁа®ў ­­®¬г Є®¤г, Є®¬ЇЁ«пв®а ¬®¦Ґв Ї®¤¬Ґ­пвм ®ЇҐа жЁЁ,
Є®в®алҐ г¬­®¦ ов Ё«Ё ¤Ґ«пв жҐ«лҐ зЁб«  ­  б⥯Ґ­Ё ¤ў®©ЄЁ, ®ЇҐа жЁп¬Ё б¤ўЁЈ .
"“¤ «Ґ­ЁҐ ­Ґ¤®бвЁ¦Ё¬®Ј® Є®¤ " - ҐйҐ ®¤Ё­ ¬Ґв®¤ ®ЇвЁ¬Ё§ жЁЁ.
ЌҐ¤®бвЁ¦Ё¬л© Є®¤ - нв® ­ҐЄ®в®а п Ї®б«Ґ¤®ў вҐ«м­®бвм Ё­бвагЄжЁ© Їа®Ја ¬¬л,
Є®в®а п ­Ґ¤®бвЁ¦Ё¬  ­Ё Ї® ®¤­®¬г ЇгвЁ ў Їа®Ја ¬¬Ґ. Ћ­ ¬®¦Ґв ®Ўа §®ў вмбп Є Є
б«Ґ¤бвўЁҐ ЇаҐ¤л¤гйЁе ®ЇҐа жЁ© ®ЇвЁ¬Ё§ жЁЁ, Є®¤  гб«®ў­®© ®в« ¤ЄЁ, Ё«Ё з бвле
Ё§¬Ґ­Ґ­Ё© Їа®Ја ¬¬л ¬­®ЈЁ¬Ё Їа®Ја ¬¬Ёбв ¬Ё. ‘«Ґ¤гойЁҐ ®ЇҐа в®ал - нв®
ў аЁ ­в Є®¤  ¤«п Їа®ўҐаЄЁ Є®¬ЇЁ«пв®а  ­  ўлЇ®«­Ґ­ЁҐ нв®Ј® ¬Ґв®¤ 
®ЇвЁ¬Ё§ жЁЁ.
#define DEBUG 0
if(DEBUG)
printf("Debug Function\n");
Њ ­ЁдҐбв­лҐ Є®­бв ­вл з бв® ¬®Јгв бЄалў вм бгйҐбвў®ў ­ЁҐ ­Ґ¤®бвЁ¦Ё¬®Ј®
Є®¤ , ®б®ЎҐ­­® Ґб«Ё в Є®© Є®¤ ®ЇаҐ¤Ґ«пҐвбп ў­гваЁ ўЄ«оз Ґ¬®Ј®
д ©« -§ Ј®«®ўЄ .
"“¤ «Ґ­ЁҐ «Ёи­Ёе ЇаЁбў Ёў ­Ё©" ўЄ«оз Ґв ­ е®¦¤Ґ­ЁҐ Їа®¬Ґ¦гвЄ  ¦Ё§­Ё
ЇҐаҐ¬Ґ­­®© Ё г¤ «Ґ­ЁҐ ЇаЁбў Ёў ­Ё© нв®© ЇҐаҐ¬Ґ­­®©, Ґб«Ё нвЁ ЇаЁбў Ёў ­Ёп ­Ґ
¬®Јгв Ё§¬Ґ­Ёвм «®ЈЁЄг Їа®Ја ¬¬л. ќв®в ¬Ґв®¤ ®бў®Ў®¦¤ Ґв ®Ја ­ЁзҐ­­лҐ
аҐбгабл, в ЄЁҐ Є Є Їа®бва ­бвў® б⥪  Ё«Ё ¬ иЁ­­лҐ ॣЁбвал. ‚ б«Ґ¤го饩
Ї®б«Ґ¤®ў вҐ«м­®бвЁ Є®¬ ­¤:
a = 5;