"Генерация высококачественного кода для программ, написа" - читать интересную книгу автора (Хислей Филипп Н.) a[i] = 0;
¤ Ґв ЇаЁўҐ¤Ґл© Ё¦Ґ бᥬЎ«Ґал© Є®¤ Їа®жҐбб®а 80x86. Ћ Ј®а §¤® Ўлбв॥, 祬 ҐЈ® «®Ј, § ЇЁб л© ў ўЁ¤Ґ жЁЄ« Ё«Ё Ў®а ЁбвагЄжЁ© ҐЇ®б।б⢥®© § бл«ЄЁ ў Ї ¬пвм, Ё¬Ґо饣® ᮮ⢥вбвўгойго ¤«Ёг: mov CX,10000 mov i,CX sub AX,AX mov DI,offset a push DS pop ES cld rep stosw "ЊЁЁ¬Ё§ жЁп § Ј®«®ўЄ®ў ўл§®ў дгЄжЁ©" ¬®¦Ґв бгйҐб⢥® 㬥миЁвм ўаҐ¬п ўлЇ®«ҐЁп ў бвагЄвгаЁа®ў ®© Їа®Ја ¬¬Ґ. ЏаЁ ўл§®ўҐ дгЄжЁЁ Ї а ¬Ґвал ЇҐаҐ¤ овбп ўл§лў Ґ¬®© Ї®¤Їа®Ја ¬¬Ґ ў б⥪Ґ, 室п饬бп ў ®ЇҐа вЁў®© Ї ¬пвЁ. Ќ Ў®а ЁбвагЄжЁ© ҐЄ®в®але Їа®жҐбб®а®ў ᮤҐа¦Ёв ЁбвагЄжЁЁ, Є®в®алҐ Ї®¤¤Ґа¦Ёў ов Ї®вॡ®бвЁ ‘Ё Ё ¤агЈЁе бвагЄвгаЁа®ў ле п§лЄ®ў ўлб®Є®Ј® га®ўп ў гбв ®ўЄҐ ¤аҐб жЁЁ д३¬ б⥪ ЇҐаҐ¤ ўлЇ®«ҐЁҐ¬ Є®¤ дгЄжЁЁ Ё ў®ббв ®ў«ҐЁЁ б⥪®ў®Ј® д३¬ ЇҐаҐ¤ § ўҐа襨Ґ¬. Ќ зЁ п б Їа®жҐбб®а Intel 80186, ᥬҐ©бвў® ¬ЁЄа®Їа®жҐбб®а®ў 80x86 ЇаҐ¤®бв ў«пҐв ЁбвагЄжЁЁ ENTER Ё LEAVE ¤«п ®Ўа Ў®вЄЁ ўл§®ў®ў дгЄжЁ©. Џ®«Ґ§®бвм ЁбвагЄжЁЁ ENTER бЁ¦ Ґвбп, в Є Є Є ҐҐ ўлЇ®«ҐЁҐ § Ё¬ Ґв Ј®а §¤® Ў®«миҐ ўаҐ¬Ґле жЁЄ«®ў Їа®жҐбб®а , 祬 ўлЇ®«ҐЁҐ Ї®б«Ґ¤®ў ⥫м®бвЁ Є®¬ ¤, ®бгйҐбвў«пойЁе § бл«Єг ў б⥪ Ў §®ў®Ј® гЄ § вҐ«п Ё ўлзЁв ЁҐ Ґ®Ўе®¤Ё¬®Ј® Є®«ЁзҐбвў Ў ©в ¤«п д३¬ Ё§ гЄ § ⥫п б⥪ . пў«пҐвбп § ¤ ЁҐ Є®а४⮠®ЇаҐ¤Ґ«Ґ®Ј® Їа®в®Є®« ¤«п ЇҐаҐ¤ зЁ бв®«мЄЁе Ї а ¬Ґва®ў, бЄ®«мЄ® ў®§¬®¦®, ў ॣЁбва е. …б«Ё ¤®бвгЇ® ¤®бв в®з®Ґ Є®«ЁзҐбвў® ॣЁбва®ў зв®Ўл ЇҐаҐ¤ вм ўбҐ Ї а ¬Ґвал дгЄжЁЁ, Ё ўл§лў Ґ¬ п дгЄжЁп Ґ ЁбЇ®«м§гҐв «®Є «млҐ ЇҐаҐ¬ҐлҐ, в® ®вЇ ¤ Ґв Ґ®Ўе®¤Ё¬®бвм ЈҐҐа жЁЁ Є®¤ ¤«п Їа®«®Ј Ё нЇЁ«®Ј дгЄжЁЁ (®Ё ®Ўлз® г¦л ¤«п гбв ®ўЄЁ ¤аҐб жЁЁ д३¬ б⥪ ). Љ®¬ЇЁ«пв®а WATCOM C 6.0 ЁбЇ®«м§гҐв нв®в Ї®¤е®¤ (б¬. аЁб. 5). ‘гйҐб⢥®Ґ ЇаЁа 饨Ґ бЄ®а®бвЁ Ї®«гз Ґвбп Ї®в®¬г, зв® Ґ в®«мЄ® г¤ «повбп ЁбвагЄжЁЁ, ® Ё Ї®в®¬г, зв® Ї а ¬Ґвал 㦥 ॣЁбва®ўлҐ Ё ¬®Јгв ®Ўа Ў влў вмбп Ў®«ҐҐ нд䥪⨢®. -------------------------------- |ђ€‘“ЌЋЉ 5: ‘в஥ЁҐ § Ј®«®ўЄ ўл§®ў дгЄжЁЁ | +-------------------------------+ |€бе®¤л© вҐЄбв ‘Ё MICROSOFT WATCOM | |(x)-ўаҐ¬. жЁЄ«л C 5.0 C 6.0 | +-------------------------------+ |/*’Ґб⠢맮ў funcall funcall | | дгЄжЁЁ */ push bp push DX | |int funcall() mov BP,SP xor DX,DX | |{ sub SP,2 L4 mov AX,DX "- | | int i; push SI call dummy | | | sub SI,SI inc DX (23)| | for(i=0;i"20000;i++) $L20008: cmp DX,2000 | | | { dummy(i); } ; push SI "- jl L4 "- | |} call dummy | pop DX | |
|
|