{"id":268608,"date":"2015-11-20T02:51:02","date_gmt":"2015-11-19T23:51:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=268608"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=268608","title":{"rendered":"\u041f\u043e\u043b\u0432\u0435\u043a\u0430 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u0430\u043c\u00bb (1966\u20142016): \u043f\u0440\u043e\u0448\u043b\u043e\u0435, \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435, \u0431\u0443\u0434\u0443\u0449\u0435\u0435"},"content":{"rendered":"<p>       <a href=\"https:\/\/xkcd.com\/927\/\"><img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/comment_images\/e1e\/960\/02b\/e1e96002b5abca7c2355bb45a7b51f40.png\" alt=\"\u041a\u0414\u041f\u0412\"\/><\/a><\/p>\n<h2><font color=\"#888\">\u041f\u0440\u043e\u0448\u043b\u043e\u0435<\/font><\/h2>\n<p>  \u041f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 1962 \u0433., \u043a\u043e\u0433\u0434\u0430 \u0432 \u041a\u0435\u043c\u0431\u0440\u0438\u0434\u0436\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/CPL_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29\">CPL<\/a> (\u00abCambridge Programming Language\u00bb) \u2014 \u00ab\u0443\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c\u00bb ALGOL-60. \u041a \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u044f\u0437\u044b\u043a\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f \u0430\u0441\u043f\u0438\u0440\u0430\u043d\u0442 \u041c\u0430\u0440\u0442\u0438\u043d \u0420\u0438\u0447\u0430\u0440\u0434\u0441; \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u042f\u041f \u0435\u043c\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u043a\u0435\u043c\u0431\u0440\u0438\u0434\u0436\u0441\u043a\u0438\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/EDSAC\">EDSAC-2<\/a> \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Atlas_%28%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%29\">Atlas-2<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 CPL \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.<\/p>\n<p>  \u0414\u0438\u0441\u0441\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u041c\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u00ab\u0441\u0430\u043c\u043e-\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u043c\u0443\u0441\u044f\u00bb CPL: \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u041c\u0430\u0440\u0442\u0438\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 CPL, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0442\u043e\u0433\u0434\u0430\u0448\u043d\u0435\u043c \u043c\u0430\u043a\u0440\u043e\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435. \u041f\u0435\u0440\u0435\u043d\u043e\u0441 CPL \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432 \u0434\u0432\u0430 \u0448\u0430\u0433\u0430: <\/p>\n<ol>\n<li>\u0412\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u00ab\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u043e\u0433\u043e CPL\u00bb;<\/li>\n<li>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u00ab\u043f\u043e\u043b\u043d\u043e\u0433\u043e CPL\u00bb.<\/li>\n<\/ol>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u041c\u0430\u0440\u0442\u0438\u043d \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f, \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/BCPL\">BCPL<\/a> \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b <i>\u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434<\/i>, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u041c\u0430\u0440\u0442\u0438\u043d\u043e\u043c <a href=\"https:\/\/en.wikipedia.org\/wiki\/O-code\">\u00abOCODE\u00bb<\/a>.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">OCODE \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/b><\/p>\n<div class=\"spoiler_text\">\n<table>\n<tr>\n<th>OCODE<\/th>\n<th>\u00ab\u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430\u00bb (\u00abprocode\u00bb)<\/th>\n<th><\/th>\n<\/tr>\n<tr>\n<td>\n<pre> 94 5 L1 83 73 69 86 69 95 4 42 0 42 0 40 2 14 83 42 0 42 1 40 2 14 83 42 2 40 3 42 1 15 92 85 L5 90 L6 42 1 40 4 40 2 14 83 40 4 42 1 14 80 4  90 5 40 4 40 5 88 L6 91 4 42 2 40 3 42 1 15 92 85 L7 90 L8 40 4 40 2 14 8 87 L9 40 4 42 2 11 92 85 L11 90 L10 42 0 40 6 40 2 14 83 40 4 40 6 14 80 6 90 L11 40 6 40 3 22 86 L10 91 6 90 L9 40 4 42 1 14 80 4 90 L7 40 4 40 5 88 L8 91 4 97 103 0 <\/pre>\n<\/td>\n<td>\n<pre> ENTRY 5 L1  'S' 'I' 'E' 'V' 'E' SAVE 4 LN 0 LN 0 LP 2 PLUS STIND LN 0 LN 1 LP 2 PLUS STIND LN 2 LP 3 LN 1 MINUS STORE JUMP L5 LAB L6 LN 1 LP 4 LP 2 PLUS STIND LP 4 LN 1 PLUS SP 4 LAB L5 LP 4 LP 5 ENDFOR L6 STACK 4 LN 2 LP 3 LN 1 MINUS STORE JUMP L7 LAB L8 LP 4 LP 2 PLUS RV JF L9 LP 4 LN 2 MULT STORE JUMP L11 LAB L10 LN 0 LP 6 LP 2 PLUS STIND LP 4 LP 6 PLUS SP 6 LAB L11 LP 6 LP 3 LS JT L10 STACK 6 LAB L9 LP 4 LN 1 PLUS SP 4 LAB L7 LP 4 LP 5 ENDFOR L8 STACK 4 RTRN ENDPROC 0 <\/pre>\n<\/td>\n<td><nobr>; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<br \/>  ; \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 (\u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438 \u0434\u0432\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435)<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 0<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d 0, \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 2-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434 \u043d\u0438\u043c<br \/>  ; \u0432\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0434\u043b\u044f 1-\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 2<br \/>  ; \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 3-\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L5<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L6<br \/>  ; \u0432\u0437\u044f\u0442\u044c 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443 1<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 4-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 1, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; L5: \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L6, \u0435\u0441\u043b\u0438 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 &lt;= 5-\u043e\u043c\u0443<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0447\u0435\u0442\u044b\u0440\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430<br \/>  ; \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 3-\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L7<br \/>  ; L8: \u0441\u043b\u043e\u0436\u0438\u0442\u044c 4-\u044b\u0439 \u0438 2-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443; \u0435\u0441\u043b\u0438 \u044d\u0442\u043e 0, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a L9<br \/>  ; \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430 \u0434\u0432\u0430<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L11<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L10<br \/>  ; \u0432\u0437\u044f\u0442\u044c 6-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443 0<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 6-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 4-\u044b\u0439, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437-\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L11<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L10, \u0435\u0441\u043b\u0438 7-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 4-\u043e\u0433\u043e<br \/>  ; \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0448\u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L9<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 4-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 1, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; L10: \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a L8, \u0435\u0441\u043b\u0438 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 &lt;= 5-\u043e\u043c\u0443<br \/>  ; \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430; \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<br \/>  <\/nobr><\/td>\n<\/tr>\n<\/table>\n<p>(\u0414\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043c\u0435\u0441\u0442\u0430, \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443. \u041c\u0430\u0440\u0442\u0438\u043d \u0432 \u0441\u0432\u043e\u0451\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e BCPL \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435.)<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 BCPL:  <\/p>\n<blockquote>\n<pre> LET sieve(workvec, vecsize) BE {   workvec!0 := 0   workvec!1 := 0   FOR i = 2 TO vecsize-1 DO workvec!i := 1   FOR i = 2 TO vecsize-1 DO     IF workvec!i DO     { LET j = 2 * i       WHILE j &lt; vecsize DO       { workvec!j := 0         j := j + i       }     } } <\/pre>\n<\/blockquote>\n<p>\u0412 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 OCODE \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0438\u0441\u0435\u043b \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 (\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430\u0431\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u043f\u043e\u0447\u0442\u0438 \u0443\u0434\u0432\u043e\u0438\u043b\u0441\u044f), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u043b\u0438 \u043e\u043f\u043a\u043e\u0434 <code>ENDFOR<\/code> \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430 <code>LE JT<\/code>.<\/p>\n<p>  \u0421\u0440\u0435\u0434\u0438 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432\u00bb OCODE \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043c\u0435\u0442\u043a\u0438 \u0432 \u043d\u0451\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u2014 \u0442.\u0435. \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0441\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043d\u0435\u0439 \u043c\u0435\u0442\u043a\u0438.<\/p><\/div>\n<\/div>\n<p> \u2014 \u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, <i>\u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/i>, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u0430 \u0444\u0430\u0439\u043b \u0441 \u0442\u0430\u043a\u0438\u043c \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u043e\u043c \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. OCODE \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a: \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 OCODE \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0441\u044f, \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0444\u0430\u0439\u043b\u0430 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0431\u0430\u0439\u0442\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b\u0430 \u0431\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/747\/478\/77c\/74747877cccb0b9083061836347ccd70.jpg\" width=\"200\" align=\"right\" title=\"Trinity College, Cambridge\"\/>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL<sup>(1)<\/sup> \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 OCODE, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e: <\/p>\n<ol>\n<li>\u0412\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u0430<sup>(2)<\/sup> (\u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u0445\u043e\u0442\u044c \u043d\u0430 \u0411\u0435\u0439\u0441\u0438\u043a\u0435);<\/li>\n<li>\u0410\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440,<sup>(3)<\/sup> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 BCPL, \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b;<\/li>\n<li>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u043c (2) \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL (1), \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u0435\u043c\u0443 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 (3), \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430<sup>(4)<\/sup>;\n<ul>\n<li>\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 (2) \u043d\u0430\u043c \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d.<\/li>\n<\/ul>\n<\/li>\n<li>\u041f\u0440\u043e\u0433\u043d\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 (4) \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 (1), \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430.<\/li>\n<\/ol>\n<p>  \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043e\u0437\u043d\u0430\u0447\u0430\u043b, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0441\u0430\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f; \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f BCPL \u0431\u044b\u043b\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u043a 1967 \u0433. \u2014 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0431\u044b\u043b\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f CPL, \u043d\u0430\u0447\u0430\u0442\u0430\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0440\u0430\u043d\u044c\u0448\u0435!<\/p>\n<p>  \u0414\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430 BCPL \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u043b\u0438 \u041a\u0435\u043d\u0430 \u0422\u043e\u043c\u043f\u0441\u043e\u043d\u0430 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%B8_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29\">\u0411\u0438<\/a>, \u0430 \u0442\u043e\u0442 \u2014 \u043a\u043e\u043b\u043b\u0435\u0433\u0443 \u041a\u0435\u043d\u0430, \u0414\u0435\u043d\u043d\u0438\u0441\u0430 \u0420\u0438\u0442\u0447\u0438, \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0421\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437 BCPL \u043f\u043e\u0448\u043b\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c <code>{<\/code>\u0444\u0438\u0433\u0443\u0440\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438<code>}<\/code> \u0431\u043b\u043e\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 BCPL <a href=\"http:\/\/www.catb.org\/jargon\/html\/B\/BCPL.html\">\u0431\u044b\u043b\u0430<\/a> <a href=\"http:\/\/stackoverflow.com\/questions\/602237\/where-does-hello-world-come-from\">\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430<\/a> \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 <a href=\"http:\/\/www.cl.cam.ac.uk\/~mr10\/BCPL\/cintcode\/com\/hello.b\">\u00abHello, World!\u00bb<\/a>.  <\/p>\n<blockquote>\n<pre> GET &quot;libhdr&quot;  LET start() = VALOF { writef(&quot;Hello*n&quot;)   RESULTIS 0 } <\/pre>\n<\/blockquote>\n<p>\u0411\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u0430\u044f \u043d\u0430\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 BCPL \u0432\u043e\u0448\u0451\u043b \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e: OCODE \u2014 \u043f\u0435\u0440\u0432\u0430\u044f <i>\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4\">\u00ab\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u00bb<\/a> (ISA)<\/i>, \u0442.\u0435. \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430\u00bb, \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u043d\u0438 \u043a \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0441 \u0435\u0451 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438. BCPL, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Write_once,_run_anywhere\">\u00abWrite once, run anywhere\u00bb<\/a> (<i>WORA<\/i>): \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 BCPL \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0432 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0438 \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 OCODE-\u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440.<a name=\"habracut\"><\/a><\/p>\n<p>  \u0421\u0430\u043c BCPL \u0438 \u0435\u0433\u043e OCODE \u0442\u0430\u043a \u0438 \u043d\u0435 \u0437\u0430\u0432\u043e\u0435\u0432\u0430\u043b\u0438 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0421\u043e\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u043e\u0433\u043e \u041a\u043e\u0440\u043e\u043b\u0435\u0432\u0441\u0442\u0432\u0430, \u043d\u043e \u0438\u0434\u0435\u044f <i>WORA<\/i> \u043f\u0440\u0438\u0436\u0438\u043b\u0430\u0441\u044c. \u0412 1974 \u0433. \u0443\u0436\u0435 \u043d\u0430 \u041a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0435, \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A8%D0%B2%D0%B5%D0%B9%D1%86%D0%B0%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%B2%D1%8B%D1%81%D1%88%D0%B0%D1%8F_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%88%D0%BA%D0%BE%D0%BB%D0%B0_%D0%A6%D1%8E%D1%80%D0%B8%D1%85%D0%B0\">ETH Z\u00fcrich<\/a>, \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u041d\u0438\u043a\u043b\u0430\u0443\u0441\u0430 \u0412\u0438\u0440\u0442\u0430 \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u00abPascal-P\u00bb \u2014 \u0441 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0435\u0439 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u00abp-\u043a\u043e\u0434\u00bb, \u0438 \u0437\u0430\u0442\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0435\u0439 \u044d\u0442\u043e\u0433\u043e \u00abp-\u043a\u043e\u0434\u0430\u00bb \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Pascal-P \u0443\u0436\u0435 \u043f\u043e \u0434\u0440\u0443\u0433\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043e\u043a\u0435\u0430\u043d\u0430, \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%B0%D0%BB%D0%B8%D1%84%D0%BE%D1%80%D0%BD%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%B2_%D0%A1%D0%B0%D0%BD-%D0%94%D0%B8%D0%B5%D0%B3%D0%BE\">UCSD<\/a>, \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u041e\u0421 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/UCSD_p-System\">p-System<\/a> (1978), \u0433\u0434\u0435 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u043e\u0431\u0449\u0435: \u043f\u0430\u0441\u043a\u0430\u043b\u0435\u0432\u0441\u043a\u0438\u0439 p-\u043a\u043e\u0434 <i>\u0441\u0430\u043c \u044f\u0432\u043b\u044f\u043b\u0441\u044f<\/i> \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0430 \u044f\u0434\u0440\u043e \u041e\u0421 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u043c p-\u043a\u043e\u0434\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u00ab\u043d\u0430 \u0433\u043e\u043b\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435\u00bb. \u0412\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b p-System \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e p-\u043a\u043e\u0434\u0430, \u0438 \u0434\u043b\u044f \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u0438 p-System \u043a \u043d\u043e\u0432\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0451 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 p-\u043a\u043e\u0434\u0430 \u2014 \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0447\u0435\u0433\u043e!<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 p-\u043a\u043e\u0434\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<table>\n<tr>\n<td>\n<pre> 0000: D8      p2_0:   SLDL    1 0001: 00              SLDC    0 0002: 9A              STO 0003: 02              SLDC    2 0004: CC 03           STL     3 0006: DA      p2_2:   SLDL    3 0007: 31              SLDC    49 0008: C8              LEQI 0009: A1 12           FJP     p2_5 000B: D8              SLDL    1 000C: DA              SLDL    3 000D: 01              SLDC    1 000E: 32              SLDC    50 000F: 88              CHK 0010: 01              SLDC    1 0011: 95              SBI 0012: A4 01           IXA     1 0014: 01              SLDC    1 0015: 9A              STO 0016: DA              SLDL    3 0017: 01              SLDC    1 0018: 82              ADI 0019: CC 03           STL     3 001B: B9 F6           UJP     p2_2 001D: 02      p2_5:   SLDC    2 001E: CC 03           STL     3 0020: DA      p2_4:   SLDL    3 0021: 31              SLDC    49 0022: C8              LEQI 0023: A1 2F           FJP     p2_1 0025: D8              SLDL    1 0026: DA              SLDL    3 0027: 01              SLDC    1 0028: 32              SLDC    50 0029: 88              CHK 002A: 01              SLDC    1 002B: 95              SBI 002C: A4 01           IXA     1 002E: F8              SIND    0 002F: A1 1C           FJP     p2_6 0031: 02              SLDC    2 0032: DA              SLDL    3 0033: 8F              MPI 0034: CC 02           STL     2 0036: D9      p2_3:   SLDL    2 0037: 32              SLDC    50 0038: C9              LESI 0039: A1 12           FJP     p2_6 003B: D8              SLDL    1 003C: D9              SLDL    2 003D: 01              SLDC    1 003E: 32              SLDC    50 003F: 88              CHK 0040: 01              SLDC    1 0041: 95              SBI 0042: A4 01           IXA     1 0044: 00              SLDC    0 0045: 9A              STO 0046: D9              SLDL    2 0047: DA              SLDL    3 0048: 82              ADI 0049: CC 02           STL     2 004B: B9 F4           UJP     p2_3 004D: DA      p2_6:   SLDL    3 004E: 01              SLDC    1 004F: 82              ADI 0050: CC 03           STL     3 0052: B9 F2           UJP     p2_4 0054: AD 00   p2_1:   RNP     0 <\/pre>\n<\/td>\n<td><nobr>; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 0<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443\u0441\u044f \u043f\u043e\u0434 \u043d\u0438\u043c<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 2<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 (\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e)<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e<\/p>\n<p>  ; \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 49?<br \/>  ; \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 p2_5<\/p>\n<p>  &nbsp;<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21163 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043c\u0435\u0436\u0434\u0443 1 \u0438 50<\/p>\n<p>  ; \u0432\u044b\u0447\u0435\u0441\u0442\u044c 1 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430, \u0442.\u0435. \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163<br \/>  ; \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u0438\u043d\u0434\u0435\u043a\u0441 \u2014 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f,<br \/>  ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u0431\u0430\u0437\u0430 \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0440\u0430\u0437\u043c\u0435\u0440 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u2014 \u043e\u0434\u043d\u043e \u0441\u043b\u043e\u0432\u043e<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043f\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440<br \/>  ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043c\u0435\u0442\u043a\u0435 p2_2<\/p>\n<p>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0432\u043e\u0439\u043a\u0443 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21163<\/p>\n<p>  &nbsp;<br \/>  ; \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 49?<br \/>  ; \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 p2_1<\/p>\n<p>  &nbsp;<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21163 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043c\u0435\u0436\u0434\u0443 1 \u0438 50<\/p>\n<p>  &nbsp;<br \/>  ; \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u043a \u0438 \u0432\u044b\u0448\u0435<br \/>  ; \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u043e \u043f\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e 0 \u043e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f<br \/>  ; \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 p2_5<\/p>\n<p>  &nbsp;<br \/>  ; \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163 \u043d\u0430 \u0434\u0432\u0430<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043d\u0443\u0442\u0440\u044c \u0441\u0442\u0435\u043a\u043e\u0432\u043e\u0433\u043e \u043a\u0430\u0434\u0440\u0430<\/p>\n<p>  &nbsp;<br \/>  ; \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 50?<br \/>  ; \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 p2_6<\/p>\n<p>  &nbsp;<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21162 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043c\u0435\u0436\u0434\u0443 1 \u0438 50<\/p>\n<p>  &nbsp;<br \/>  ; \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043c\u0435\u043d\u044c\u0448\u0435<br \/>  ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162, \u0431\u0430\u0437\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u2014 \u043a\u0430\u043a \u0432\u044b\u0448\u0435<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u043b\u044c \u043f\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440<br \/>  ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043c\u0435\u0442\u043a\u0435 p2_3<\/p>\n<p>  &nbsp;<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440<br \/>  ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043c\u0435\u0442\u043a\u0435 p2_4<br \/>  ; \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 0 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441\u043e \u0441\u0442\u0435\u043a\u0430<br \/>  <\/nobr><\/td>\n<\/tr>\n<\/table>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 \u041f\u0430\u0441\u043a\u0430\u043b\u0435:  <\/p>\n<blockquote>\n<pre> const data_size = 50; type data_array = array[1..data_size] of boolean;  procedure sieve(var workvec: data_array); var i, j: integer; begin   workvec[1] := false;   for i := 2 to data_size-1 do workvec[i] := true;   for i := 2 to data_size-1 do     if workvec[i] then begin       j := 2 * i;       while j &lt; data_size do begin         workvec[j] := false;         j := j + i;       end     end end; <\/pre>\n<\/blockquote>\n<p>\u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 OCODE, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0446\u0435\u043b\u044b\u043c\u0438 \u0438 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, p-\u043a\u043e\u0434 \u041f\u0430\u0441\u043a\u0430\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u0443\u0434\u0430 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0441\u0442\u0440\u043e\u043a\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u00ab\u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b\u00bb (\u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0435\u043d\u0435\u0435 \u0447\u0435\u043c \u0432 \u043e\u0434\u043d\u043e \u0441\u043b\u043e\u0432\u043e), \u0437\u0430\u043f\u0438\u0441\u0438, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0438 \u0442.\u0434.; \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. \u0414\u0440\u0443\u0433\u043e\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u00ab\u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u0435\u043a\u00bb \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0438 \u00ab\u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440\u00bb \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b.<\/p>\n<p>  \u0414\u043b\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 p-\u043a\u043e\u0434\u0430 \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0435\u0441\u0442\u044c \u00ab\u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u043e\u043f\u043a\u043e\u0434\u044b\u00bb \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445, \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.  <\/div>\n<\/div>\n<p>  p-System \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Apple II \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u043e\u0442 IBM, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 IBM PC (1981), <a href=\"http:\/\/ia902601.us.archive.org\/BookReader\/BookReaderImages.php?zip=\/27\/items\/byte-magazine-1981-10\/1981_10_BYTE_06-10_Local_Networks_jp2.zip&amp;file=1981_10_BYTE_06-10_Local_Networks_jp2\/1981_10_BYTE_06-10_Local_Networks_0029.jp2\">\u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b\u0438\u0441\u044c<\/a> \u0441 p-System \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u041e\u0421; \u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 1979 \u0433., Western Digital \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043b\u0430 \u043c\u0438\u043d\u0438\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u044b <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pascal_MicroEngine\">Pascal MicroEngine<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 p-\u043a\u043e\u0434\u0430 \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c p-\u043a\u043e\u0434 \u0438\u0437 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430\u00bb \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.<\/p>\n<p>  \u0425\u043e\u0442\u044f \u043a \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u044b\u043c p-System \u0443\u0436\u0435 \u0438\u0441\u0447\u0435\u0437\u043b\u0430 \u0441 \u0440\u044b\u043d\u043a\u0430, \u043e\u043d\u0430 \u0443\u0441\u043f\u0435\u043b\u0430 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u0442\u044c \u0414\u0436\u0435\u0439\u043c\u0441\u0430 \u0413\u043e\u0441\u043b\u0438\u043d\u0433\u0430 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432 1996 \u0433. <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Java_Virtual_Machine\">\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b Java<\/a>. <i>\u00abWrite once, run anywhere!\u00bb<\/i> \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u043e\u0441\u044c \u0432 \u0440\u0430\u0441\u043a\u0440\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0441\u043b\u043e\u0433\u0430\u043d, \u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430\u00bb (<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4_Java\">\u00ab\u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430\u00bb<\/a>) \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0432 \u0434\u0432\u0443\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445:<\/p>\n<ul>\n<li>\u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 (<a href=\"https:\/\/ru.wikipedia.org\/wiki\/JIT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F\">JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f<\/a> \u0432 JDK 1.1, 1997 \u0433.)<\/li>\n<li>\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438:\n<ul>\n<li><a href=\"http:\/\/www.cpushack.com\/CIC\/announce\/1997\/SunmicroJava701CPU.html\">Sun microJava701<\/a> (1998)<\/li>\n<li><a href=\"http:\/\/www.eetimes.com\/document.asp?doc_id=1140565\">Sun MAJC 5200<\/a> (1999)<\/li>\n<li><a href=\"http:\/\/www.ic72.com\/pdf_file\/a\/71784.pdf\">aJile aJ-100<\/a> (2000)<\/li>\n<li><a href=\"http:\/\/java.epicentertech.com\/Archive_Embedded\/Imsys%20Technologies\/Cjip_Techref.pdf\">Imsys Cjip<\/a> (2000)<\/li>\n<li><a href=\"https:\/\/www.arm.com\/about\/newsroom\/9621.php\">ARM Jazelle<\/a> (2001)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>  \u041d\u0435\u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u00ab\u0431\u0430\u0439\u0442\u043a\u043e\u0434-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432\u00bb \u2014 \u043d\u0438 \u0434\u043b\u044f p-\u043a\u043e\u0434\u0430, \u043d\u0438 \u0434\u043b\u044f Java \u2014 \u043d\u0435 \u0441\u0442\u0430\u043b \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u043c. (\u0421\u044e\u0434\u0430 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438 \u0438 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/IAPX_432\">Intel iAPX 432<\/a> (1981) \u2014 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0410\u0434\u044b.) \u0411\u0430\u0439\u0442\u043a\u043e\u0434 Java, \u043a\u0430\u043a \u0438 p-\u043a\u043e\u0434 \u0412\u0438\u0440\u0442\u0430, \u043a\u0430\u043a \u0438 OCODE \u2014 \u0432\u0441\u0435 \u043e\u043d\u0438 <i>\u0441\u0442\u0435\u043a-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435<\/i>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0421\u0442\u0435\u043a \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\u00bb \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d; \u0443 \u00ab\u0436\u0435\u043b\u0435\u0437\u043d\u043e\u0433\u043e\u00bb \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u0438 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u2014 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0436\u0435. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u00ab\u0432 \u0436\u0435\u043b\u0435\u0437\u0435\u00bb \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0438\u0445 \u043f\u043e \u00ab\u0436\u0435\u043b\u0435\u0437\u043d\u044b\u043c\u00bb \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c, \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043d\u0438\u043c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0443\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 \u00ab\u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0435\u00bb \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u2014 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u043e\u043b\u0443\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u0438\u043a\u043e\u0432\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 ISA, \u0438 \u043d\u0430 \u043d\u0451\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044e \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430, \u2014 \u0447\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u0436\u0435 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u00ab\u0432 \u0436\u0435\u043b\u0435\u0437\u0435\u00bb. \u0412\u043d\u043e\u0432\u044c \u0438 \u0432\u043d\u043e\u0432\u044c \u043c\u0435\u0447\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0439\u0442\u0438-\u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a\u00bb \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u2014 \u0445\u043e\u0442\u044c \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u043e \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0441\u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u043e.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430 Java<\/b><\/p>\n<div class=\"spoiler_text\">\n<table>\n<tr>\n<td>\n<pre>   2a be 3c 2a 03 03 54 2a 04 03 54 05 3d 1c 1b a2 00 0d 2a 1c 04 54 84 02 01 a7 ff f4 05 3d 1c 1b a2 00 23 2a 1c 33 99 00 17 05 1c 68 3e 1d 1b a2 00 0e 2a 1d 03 54 1d 1c 60 3e a7 ff f3 84 02 01 a7 ff de b1 <\/pre>\n<\/td>\n<td>\n<pre> private static void sieve(boolean[]);  Code:     0: aload_0          \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0441\u0441\u044b\u043b\u043a\u0443, \u0432\u0437\u044f\u0442\u0443\u044e \u0438\u0437 \u0441\u0442\u0435\u043a\u043e\u0432\u043e\u0433\u043e \u043a\u0430\u0434\u0440\u0430 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 0, \u0442.\u0435. \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440     1: arraylength      \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0434\u043b\u0438\u043d\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430     2: istore_1         \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 1 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441\u043e \u0441\u0442\u0435\u043a\u0430     3: aload_0            4: iconst_0         \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e -- \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 0     5: iconst_0           6: bastore          \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0438\u043b\u0438 \u0431\u0443\u043b\u0435\u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u043e\u043b\u044c \u043f\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443     7: aload_0            8: iconst_1           9: iconst_0    10: bastore          \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u043e\u043b\u044c \u043f\u043e \u0438\u043d\u0434\u0435\u0441\u0443 1    11: iconst_2          12: istore_2         \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 2 \u0446\u0435\u043b\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2    13: iload_2          \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435    14: iload_1          \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21161    15: if_icmpge  28    \/\/ \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0434\u0432\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430; \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &gt;= \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 28    18: aload_0           19: iload_2           20: iconst_1          21: bastore          \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0438\u043b\u0438 \u0431\u0443\u043b\u0435\u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439    22: iinc       2, 1  \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443    25: goto       13    \/\/ \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 13    28: iconst_2          29: istore_2         \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162 \u0446\u0435\u043b\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2    30: iload_2           31: iload_1    32: if_icmpge  67    \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21162 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21161, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 67    35: aload_0           36: iload_2           37: baload           \/\/ \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0433\u043e \u0438\u043b\u0438 \u0431\u0443\u043b\u0435\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439    38: ifeq       61    \/\/ \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 61    41: iconst_2          42: iload_2           43: imul             \/\/ \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162 \u043d\u0430 \u0434\u0432\u0430    44: istore_3         \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 3    45: iload_3           46: iload_1           47: if_icmpge  61    \/\/ \u0435\u0441\u043b\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21163 &gt;= \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21161, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 61    50: aload_0           51: iload_3           52: iconst_0          53: bastore          \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0438\u043b\u0438 \u0431\u0443\u043b\u0435\u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u043e\u043b\u044c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163    54: iload_3           55: iload_2           56: iadd             \/\/ \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162    57: istore_3         \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440    58: goto       45    \/\/ \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 45    61: iinc       2, 1  \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443    64: goto       30    \/\/ \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 30    67: return           \/\/ \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b <\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434:  <\/p>\n<pre><code class=\"java\">    private static void sieve(boolean[] workvec) {         int vecsize = workvec.length;         workvec[0] = false;         workvec[1] = false;         for(int i = 2; i&lt;vecsize; i++)             workvec[i] = true;         for(int i = 2; i&lt;vecsize; i++)             if(workvec[i]) {                 int j = 2 * i;                 while(j &lt; vecsize) {                     workvec[j] = false;                     j = j + i;                 }             }     } <\/code><\/pre>\n<p>  \u0411\u0430\u0439\u0442\u043a\u043e\u0434 \u0435\u0449\u0451 \u0432 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438, \u0447\u0435\u043c p-\u043a\u043e\u0434 \u0412\u0438\u0440\u0442\u0430, \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0431\u044b\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>iflt<\/code> (\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u043d\u0443\u043b\u0451\u043c \u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434) \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0440\u043e\u0439\u043a\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 <code>SLDC 0; GEQI; FJP<\/code>, \u0430 <code>iinc<\/code> \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>SLDL; SLDC; ADI; STL<\/code>.  <\/div>\n<\/div>\n<p>  \u0415\u0441\u0442\u044c, \u0432\u043f\u0440\u043e\u0447\u0435\u043c, \u0438 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0443\u044e ISA, \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u043c\u043e\u0433\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u2014 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e ISA, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0434\u043b\u044f \u043d\u0435\u0451, \u0438 \u0434\u043e\u0436\u0438\u0434\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u041f\u041e \u043f\u043e\u0434 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443. \u0422\u0430\u043a\u0438\u043c \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c\u00bb \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/IA-32\">IA-32<\/a>: \u043e\u0431\u044a\u0451\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u041f\u041e \u043f\u0435\u0440\u0435\u0432\u0435\u0448\u0438\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0433\u043e\u0434\u044b \u043e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e ISA, \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Pentium_Pro\">Pentium Pro<\/a> (1995), \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 Intel, \u043f\u043e \u0441\u0443\u0442\u0438, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u00ab\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f\u00bb \u0441\u0442\u0430\u0440\u043e\u0439 ISA. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 IA-32, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0434 \u0432\u043e\u0441\u0435\u043c\u044c\u044e \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438\u00bb \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RISC\">RISC<\/a>-\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0434 40 \u00ab\u0436\u0435\u043b\u0435\u0437\u043d\u044b\u043c\u0438\u00bb \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438; \u0438 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u044d\u0442\u0438 RISC-\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Crusoe\">Transmeta Crusoe<\/a> (2000), \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0438\u043b \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441, \u0438\u0434\u0435\u044f \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 ISA \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0430 \u0435\u0449\u0451 \u0434\u0430\u043b\u044c\u0448\u0435: \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b IA-32, \u043d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 ISA \u2014 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0443 Transmeta \u0431\u044b\u043b \u00ab\u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437\u0435\u0446\u00bb Crusoe \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430 Java.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 IA-32<\/b><\/p>\n<div class=\"spoiler_text\">\n<table>\n<tr>\n<th>\u041c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434<\/th>\n<th>\u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/th>\n<\/tr>\n<tr>\n<td>\n<pre>    55 89 e5 56 66 c7 01 00 00 b8 02 00 00 00 be 02 00 00 00 eb 05  c6 04 31 01 46  39 d6 7c f7 eb 01  40  39 d0 7d 17  80 3c 01 00 74 f5  8d 34 00 eb 06  c6 04 31 00 01 c6  39 d6 7c f6 eb e4  5e 5d c3 <\/pre>\n<\/td>\n<td>\n<pre> \t.type\t_ZL5sievePbi,@function _ZL5sievePbi:                           # \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0432 ecx, \u0434\u043b\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 -- \u0432 edx # %entry \tpushl\t%ebp                    # \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ebp \tmovl\t%esp, %ebp              # \u0442\u0435\u043f\u0435\u0440\u044c ebp \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 \tpushl\t%esi                    # \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 esi \tmovw\t$0, (%ecx)              # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 ecx \tmovl\t$2, %eax                #    (\u0442.\u0435. \u0434\u0432\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u044b \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439) \tmovl\t$2, %esi                # \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0432\u043e\u0439\u043a\u0443 \u0432 eax \u0438 \u0432 esi \tjmp\t.LBB1_1                 # \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_1 .LBB1_2:                    # %for.body \tmovb\t$1, (%ecx,%esi)         # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 ecx+esi \tincl\t%esi                    # \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c esi \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 .LBB1_1:                    # %for.cond \tcmpl\t%edx, %esi              # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c esi \u0438 edx \tjl\t.LBB1_2                 # \u0435\u0441\u043b\u0438 edx &lt; esi, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_2 \tjmp\t.LBB1_4                 # \u0438\u043d\u0430\u0447\u0435 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_4 .LBB1_3:                    # %for.inc.11 \tincl\t%eax                    # \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c eax \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 .LBB1_4:                    # %for.cond.4 \tcmpl\t%edx, %eax              # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c eax \u0438 edx \tjge\t.LBB1_9                 # \u0435\u0441\u043b\u0438 edx &gt;= esi, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_9 # %for.body.7 \tcmpb\t$0, (%ecx,%eax)         # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u043d\u0443\u043b\u0451\u043c \u0431\u0430\u0439\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 ecx+esi \tje\t.LBB1_3                 # \u0435\u0441\u043b\u0438 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a .LBB1_3 # %if.then \tleal\t(%eax,%eax), %esi       # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 esi \u0443\u0434\u0432\u043e\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 eax \tjmp\t.LBB1_7                 # \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_7 .LBB1_8:                    # %while.body \tmovb\t$0, (%ecx,%esi)         # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 ecx+esi \taddl\t%eax, %esi              # \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c eax \u043a esi .LBB1_7:                    # %while.cond \tcmpl\t%edx, %esi              # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c esi \u0438 edx \tjl\t.LBB1_8                 # \u0435\u0441\u043b\u0438 edx &lt; esi, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_8 \tjmp\t.LBB1_3                 # \u0438\u043d\u0430\u0447\u0435 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 .LBB1_3 .LBB1_9:                    # %for.cond.cleanup.6 \tpopl\t%esi                    # \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0436\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 esi \tpopl\t%ebp                    # \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0436\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ebp \tretl                            # \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b <\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0435\u0435, \u0447\u0435\u043c \u0432 \u043b\u044e\u0431\u043e\u043c \u0438\u0437 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432.<\/p><\/div>\n<\/div>\n<p>  \u0412\u0440\u044f\u0434 \u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430\u00bb \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f ISA \u0431\u044b\u043b\u0430 \u043d\u0435 \u0441\u0442\u0435\u043a\u043e\u0432\u043e\u0439, \u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432\u043e\u0439. \u041c\u0430\u0440\u0442\u0438\u043d \u0420\u0438\u0447\u0430\u0440\u0434\u0441 \u043d\u0430 \u0437\u0430\u043c\u0435\u043d\u0443 \u0441\u0432\u043e\u0435\u043c\u0443 OCODE \u0441\u0430\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u043e\u0432\u0443\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432\u0443\u044e \u0443\u043d\u0438-ISA \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"http:\/\/www.gtoal.com\/languages\/bcpl\/amiga\/bcpl\/booting.txt\">INTCODE<\/a> (1972). INTCODE \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0440\u043e\u0441\u0442: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u0432\u043e\u0441\u0435\u043c\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438; \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e, \u043b\u0438\u0431\u043e \u0434\u0432\u0430 \u0441\u043b\u043e\u0432\u0430. \u0412 1980 \u0433. \u041c\u0430\u0440\u0442\u0438\u043d\u043e\u043c \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0439 \u0443\u043d\u0438-ISA, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f 16-\u0431\u0438\u0442\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432. \u041d\u043e\u0432\u0430\u044f \u0443\u043d\u0438-ISA \u2014 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0441 \u0448\u0435\u0441\u0442\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438, \u043d\u043e \u0441 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0438 \u043c\u0435\u043d\u0435\u0435 \u043e\u0440\u0442\u043e\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434 \u2014 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Cintcode, \u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0430\u0441\u044c \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c\u044e: \u0432 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0430\u0445 <a href=\"http:\/\/chrisacorns.computinghistory.org.uk\/docs\/Acorn\/Misc\/Acornsoft_MorefromthemicrowithBCPL.pdf\">\u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u043b\u043e\u0441\u044c<\/a>, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Cintcode \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0442\u0440\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0435\u043c \u0431\u0443\u0434\u0443\u0447\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0435 \u043a\u043e\u0434\u044b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/MOS_Technology_6502\">6502<\/a>. \u0414\u043b\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/BBC_Micro\">BBC Micro<\/a> \u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Amiga\">Amiga<\/a> \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c\u044e \u041e\u0421, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Cintcode \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 Cintcode<\/b><\/p>\n<div class=\"spoiler_text\">\u0420\u0435\u0433\u0438\u0441\u0442\u0440 <code>P<\/code> \u2014 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u0442\u0435\u043a\u0430; \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>P[3]<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432, <code>P[4]<\/code> \u2014 \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443.<\/p>\n<pre>  0: 10      L0        ; A := 0  1: DB      ST0P3     ; P[3][0] := A    (\u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430)  2: DD      ST1P3     ; P[3][1] := A     (\u043e\u0431\u043d\u0443\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430)  3: 0F      LM1       ; A := -1  4: C4      AP4       ; A := A + P[4]    (\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u043b\u0438\u043d\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430)  5: A6      SP6       ; P[6] := A       (\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e)  6: 12      L2        ; B := A; A := 2  7: A5      SP5       ; P[5] := A  8: 5C0A    JLS 10    ; IF B&lt;A GOTO 19 10: 11      L1        ; A := 1 11: 83      LP3       ; B := A; A := P[3] 12: 9A      STP5      ; P[5][A] := B (\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 P[5]) 13: B5      XCH       ; A := B 14: C5      AP5       ; A := A + P[5] 15: A5      SP5       ; P[5] := A     (\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 P[5] \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443) 16: 86      LP6       ; B := A; A := P[6] 17: 9CF8    JLE -8    ; IF B&lt;=A GOTO 10 19: 0F      LM1       ; A := -1 20: C4      AP4       ; A := A + P[4] 21: A6      SP6       ; P[6] := A      (\u0442\u0430 \u0436\u0435 \u0441\u0430\u043c\u0430\u044f \u0432\u0435\u0440\u0445\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0446\u0438\u043a\u043b\u0430) 22: 12      L2        ; B := A; A := 2 23: A5      SP5       ; P[5] := A 24: 5C1B    JLS 27    ; IF B&lt;A GOTO 52 26: 83      LP3       ; A := P[3] 27: D8      RVP5      ; A := P[5][A] (\u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 P[5]) 28: 1E11    JEQ0 17   ; IF A=0 GOTO 46 30: 85      LP5       ; A := P[5] 31: 12      L2        ; B := A; A := 2 32: 34      MUL       ; A := A * B               (\u0443\u0434\u0432\u043e\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 P[5]) 33: A7      SP7       ; P[7] := A 34: 84      LP4       ; B := A; A := P[4]              (\u0432 A \u0434\u043b\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) 35: BC0A    JGE 10    ; IF B&gt;=A GOTO 46 37: 10      L0        ; A := 0 38: 87      LP7       ; B := A; A := P[7] 39: 98      STP3      ; P[3][A] := B    (\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0443\u043b\u044c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 P[7]) 40: 87      LP7       ; A := P[7] 41: C5      AP5       ; A := A + P[5] 42: A7      SP7       ; P[7] := A        (\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 P[7] \u043d\u0430 P[5]) 43: 84      LP4       ; B := A; A := P[4]              (\u0432 A \u0434\u043b\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) 44: 5CF8    JLS -8    ; IF B&lt;A GOTO 37 46: 11      L1        ; A := 1 47: C5      AP5       ; A := A + P[5] 48: A5      SP5       ; P[5] := A     (\u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 P[5] \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443) 49: 86      LP6       ; B := A; A := P[6]    (A \u043d\u0430 1 \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u043b\u0438\u043d\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430) 50: 9CE7    JLE -25   ; IF B&lt;=A GOTO 26 52: 7B      RTN <\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <a href=\"http:\/\/www.cl.cam.ac.uk\/~mr10\/BCPL\/cintcode\/\">\u0441\u0432\u0435\u0436\u0435\u0439 (2014) \u0432\u0435\u0440\u0441\u0438\u0438 BCPL Cintcode System<\/a> \u0438\u0437 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 BCPL. \u041a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432 Cintcode \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0434\u0432\u043e\u0439\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f (\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c A \u0438 B \u0441\u0440\u0430\u0437\u0443) \u0438 \u0434\u0432\u043e\u0439\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u044b\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f (\u0430\u0434\u0440\u0435\u0441 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 A \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0435\u043a\u0435).<\/div>\n<\/div>\n<p>  \u0412\u0435\u0440\u0448\u0438\u043d\u043e\u0439 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0445 \u0443\u043d\u0438-ISA \u2014 \u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u044d\u0442\u043e \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0442\u0443\u043f\u0438\u043a\u043e\u043c \u0432 \u0438\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u2014 \u0441\u0442\u0430\u043b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Common_Intermediate_Language\">MSIL<\/a> (2001; \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f CIL). MSIL \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 Java, \u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u044f\u0434 <a href=\"http:\/\/stackoverflow.com\/questions\/95163\/differences-between-msil-and-java-bytecode\">\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439<\/a>. \u041f\u043e\u043f\u044b\u0442\u043e\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c MSIL \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u0437\u043d\u0430\u044e, \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u043e\u0441\u044c; Microsoft \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0430\u0441\u044c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0443 Java \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. MSIL \u0442\u0430\u043a \u0438 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u00ab\u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c Microsoft-\u043e\u0432\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u00bb, \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445. <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 MSIL<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre> .method private hidebysig static         void  sieve(bool[] workvec) cil managed {   .maxstack  3   .locals init ([0] int32 vecsize,                 [1] int32 i,                 [2] int32 V_2,                 [3] int32 j)   IL_0000:  \/* 02   |     *\/ ldarg.0              \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u21160 (\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439)   IL_0001:  \/* 8E   |     *\/ ldlen                \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435)   IL_0002:  \/* 69   |     *\/ conv.i4              \/\/ \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0432 int32 (\u0446\u0435\u043b\u043e\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c)   IL_0003:  \/* 0A   |     *\/ stloc.0              \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21160   IL_0004:  \/* 02   |     *\/ ldarg.0              \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440   IL_0005:  \/* 16   |     *\/ ldc.i4.0             \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 0 (\u0446\u0435\u043b\u043e\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c)   IL_0006:  \/* 16   |     *\/ ldc.i4.0   IL_0007:  \/* 9C   |     *\/ stelem.i1            \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0431\u0430\u0439\u0442\u043e\u0432 \u043d\u043e\u043b\u044c \u043f\u043e \u043d\u0443\u043b\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443   IL_0008:  \/* 02   |     *\/ ldarg.0   IL_0009:  \/* 17   |     *\/ ldc.i4.1             \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 1 (\u0446\u0435\u043b\u043e\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c)   IL_000a:  \/* 16   |     *\/ ldc.i4.0   IL_000b:  \/* 9C   |     *\/ stelem.i1            \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0431\u0430\u0439\u0442\u043e\u0432 (int8) \u043d\u043e\u043b\u044c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 1   IL_000c:  \/* 18   |     *\/ ldc.i4.2   IL_000d:  \/* 0B   |     *\/ stloc.1              \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0432\u043e\u0439\u043a\u0443 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21161   IL_000e:  \/* 2B   | 08  *\/ br.s       IL_0018   \/\/ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 IL_0019   IL_0010:  \/* 02   |     *\/ ldarg.0   IL_0011:  \/* 07   |     *\/ ldloc.1              \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439   IL_0012:  \/* 17   |     *\/ ldc.i4.1   IL_0013:  \/* 9C   |     *\/ stelem.i1            \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0431\u0430\u0439\u0442\u043e\u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443   IL_0014:  \/* 07   |     *\/ ldloc.1   IL_0015:  \/* 17   |     *\/ ldc.i4.1   IL_0016:  \/* 58   |     *\/ add                  \/\/ \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439   IL_0017:  \/* 0B   |     *\/ stloc.1              \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e   IL_0018:  \/* 07   |     *\/ ldloc.1   IL_0019:  \/* 06   |     *\/ ldloc.0              \/\/ \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21160   IL_001a:  \/* 32   | F4  *\/ blt.s      IL_0010   \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21161 &lt; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21160, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a IL_0010   IL_001c:  \/* 18   |     *\/ ldc.i4.2   IL_001d:  \/* 0C   |     *\/ stloc.2              \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0432\u043e\u0439\u043a\u0443 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162   IL_001e:  \/* 2B   | 1B  *\/ br.s       IL_003b   \/\/ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 IL_003b   IL_0020:  \/* 02   |     *\/ ldarg.0   IL_0021:  \/* 08   |     *\/ ldloc.2   IL_0022:  \/* 90   |     *\/ ldelem.i1            \/\/ \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439   IL_0023:  \/* 2C   | 12  *\/ brfalse.s   IL_0037  \/\/ \u0435\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a IL_0037   IL_0025:  \/* 18   |     *\/ ldc.i4.2   IL_0026:  \/* 08   |     *\/ ldloc.2   IL_0027:  \/* 5A   |     *\/ mul                  \/\/ \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162 \u043d\u0430 \u0434\u0432\u0430   IL_0028:  \/* 0D   |     *\/ stloc.3              \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21163   IL_0029:  \/* 2B   | 08  *\/ br.s       IL_0033   \/\/ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 IL_0033   IL_002b:  \/* 02   |     *\/ ldarg.0   IL_002c:  \/* 09   |     *\/ ldloc.3   IL_002d:  \/* 16   |     *\/ ldc.i4.0   IL_002e:  \/* 9C   |     *\/ stelem.i1            \/\/ \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 0 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21163   IL_002f:  \/* 09   |     *\/ ldloc.3   IL_0030:  \/* 08   |     *\/ ldloc.2   IL_0031:  \/* 58   |     *\/ add                  \/\/ \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162   IL_0032:  \/* 0D   |     *\/ stloc.3              \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u21162   IL_0033:  \/* 09   |     *\/ ldloc.3   IL_0034:  \/* 06   |     *\/ ldloc.0   IL_0035:  \/* 32   | F4  *\/ blt.s      IL_002b   \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21163 &lt; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21160, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a IL_002b   IL_0037:  \/* 08   |     *\/ ldloc.2   IL_0038:  \/* 17   |     *\/ ldc.i4.1   IL_0039:  \/* 58   |     *\/ add                  \/\/ \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21162   IL_003a:  \/* 0C   |     *\/ stloc.2              \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e   IL_003b:  \/* 08   |     *\/ ldloc.2   IL_003c:  \/* 08   |     *\/ ldloc.0   IL_003d:  \/* 32   | E1  *\/ blt.s      IL_0020   \/\/ \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u21162 &lt; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u21160, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a IL_0020   IL_003f:  \/* 2A   |     *\/ ret                  \/\/ \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b } <\/pre>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C# \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430 Java \u043b\u0438\u0448\u044c \u0437\u0430\u043c\u0435\u043d\u043e\u0439 <code>boolean<\/code>\u2192<code>bool<\/code>. \u0420\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043c\u0435\u0436\u0434\u0443 Java-\u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u043c \u0438 MSIL \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043d\u0435 \u0441\u043e\u0441\u0435\u0434\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0435\u0434\u0438\u043d\u043e\u043c \u0441\u0442\u0435\u043a\u043e\u0432\u043e\u043c \u043a\u0430\u0434\u0440\u0435, \u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0438\u043f\u043e\u043c (\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435\/\u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0441\u0441\u044b\u043b\u043a\u0430, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0442.\u0434.), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 MSIL, \u043a\u0430\u043a <code>add<\/code>, \u00ab\u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u043d\u044b\u00bb, \u0442.\u0435. \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435; \u0430 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u2014 \u0432 \u0442\u0438\u043f int32) \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u044f\u0432\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430. \u0423\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u0435 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e MSIL \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 MSIL-\u043a\u043e\u0434\u0430 \u043d\u0435 \u0438\u043c\u0435\u043b\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0432 MSIL \u043d\u0435\u0442 \u00ab\u043c\u0430\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439\u00bb, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 <code>iflt<\/code> \u0438\u043b\u0438 <code>iinc<\/code>.  <\/div>\n<\/div>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0435 \u0432 \u044d\u0442\u043e\u043c \u0442\u044b\u0441\u044f\u0447\u0435\u043b\u0435\u0442\u0438\u0438 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0445 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0435\u043d\u0442\u043e\u0432 \u0432 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0435 \u044f\u0437\u044b\u043a\u0438\u00bb \u043d\u0435 \u0431\u044b\u043b\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/3a0\/08a\/f06\/3a008af065db0a8f3de75cf3dcbb78ce.jpg\" align=\"right\" width=\"240\" title=\"C++\"\/><\/p>\n<h2><font color=\"#888\">\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435<\/font><\/h2>\n<p>  \u0412 2000 \u041a\u0440\u0438\u0441 \u041b\u0430\u0442\u0442\u043d\u0435\u0440, \u043c\u0430\u0433\u0438\u0441\u0442\u0440\u0430\u043d\u0442 \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BB%D0%BB%D0%B8%D0%BD%D0%BE%D0%B9%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%B2_%D0%A3%D1%80%D0%B1%D0%B0%D0%BD%D0%B5-%D0%A8%D0%B0%D0%BC%D0%BF%D0%B5%D0%B9%D0%BD%D0%B5\">UIUC<\/a>, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0438\u043f\u043b\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430\u00bb <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Low_Level_Virtual_Machine\">LLVM<\/a>, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u00ab\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u043e\u0432\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0442 \u043a\u043e\u0434 \u043d\u0430 \u042f\u0412\u0423 \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u00ab\u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u00bb <i>(intermediate representation, IR)<\/i>, \u2014 \u0438 \u00ab\u0431\u044d\u043a\u0435\u043d\u0434\u043e\u0432\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0442 IR \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 ISA.<br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, LLVM-IR, \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 <i>\u0444\u043e\u0440\u043c\u0430 \u0441 \u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f\u043c\u0438<\/i> (<a href=\"https:\/\/ru.wikipedia.org\/wiki\/SSA\">\u00abSSA-\u0444\u043e\u0440\u043c\u0430\u00bb<\/a>): \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b, \u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043e\u043d\u043e \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u0422\u0430\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u0437\u0430\u043c\u0435\u043d\u0443 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0438\u043b\u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D1%91%D1%80%D1%82%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4\">\u00ab\u043c\u0451\u0440\u0442\u0432\u044b\u0445\u00bb<\/a> \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0438 \u0442.\u0434.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 LLVM-IR<\/b><\/p>\n<div class=\"spoiler_text\">\u041a\u043e\u0434 \u0440\u0430\u0437\u0431\u0438\u0442 \u043d\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B1%D0%BB%D0%BE%D0%BA\">\u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438<\/a> (BB), \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043c\u0435\u0442\u043a\u0438 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 (\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e). \u0412 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 BB \u043c\u0435\u0442\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b. \u0422\u043e\u0447\u043a\u0430 \u2014 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u043c\u0435\u0442\u043e\u043a. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 BB \u0432\u0441\u0435\u0445 \u0435\u0433\u043e <i>\u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432<\/i>, \u0442.\u0435. \u0432\u0441\u0435 BB, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439.<\/p>\n<pre> ; Function Attrs: minsize noinline nounwind optsize define internal fastcc void @_ZL5sievePbi(i8* nocapture %workvec, i32 %vecsize) #0 { ; #0 -- \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u044b \u0432\u044b\u0448\u0435) entry:   store i8 0, i8* %workvec, align 1, !tbaa !1                    ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e   %arrayidx1 = getelementptr inbounds i8, i8* %workvec, i32 1    ; \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430   store i8 0, i8* %arrayidx1, align 1, !tbaa !1                  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435   br label %for.cond                                             ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 BB  for.cond:                                         ; preds = %for.body, %entry   %i.0 = phi i32 [ 2, %entry ], [ %inc, %for.body ] ; %i.0 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2, \u0435\u0441\u043b\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 BB \u043f\u0440\u0438\u0448\u043b\u0438 \u0438\u0437 %entry, \u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 %inc, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u0438\u0437 %for.body   %cmp = icmp slt i32 %i.0, %vecsize ; \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c %i.0 \u0438 %vecsize \u043a\u0430\u043a \u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0446\u0435\u043b\u044b\u0435, \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 %cmp \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 1 \u043b\u0438\u0431\u043e 0   br i1 %cmp, label %for.body, label %for.cond.4                 ; \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a %for.body \u043b\u0438\u0431\u043e %for.cond.4  for.body:                                         ; preds = %for.cond   %arrayidx2 = getelementptr inbounds i8, i8* %workvec, i32 %i.0 ; \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 %i.0-\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430   store i8 1, i8* %arrayidx2, align 1, !tbaa !1                  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435   %inc = add nuw nsw i32 %i.0, 1                                 ; \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c %inc \u0441\u0443\u043c\u043c\u0443 %i.0 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u044b ; nuw \u0438 nsw \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0438\u043b\u0438 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435), \u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d   br label %for.cond                                             ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 BB  for.cond.4:                                       ; preds = %for.cond, %for.inc.11   %i3.0 = phi i32 [ %inc12, %for.inc.11 ], [ 2, %for.cond ] ; %i3.0 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2, \u0435\u0441\u043b\u0438 \u043a \u044d\u0442\u043e\u043c\u0443 BB \u043f\u0440\u0438\u0448\u043b\u0438 \u0438\u0437 %for.body, \u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 %inc12, \u0435\u0441\u043b\u0438 \u0438\u0437 %for.inc.11   %cmp5 = icmp slt i32 %i3.0, %vecsize                           ; \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c %i3.0 \u0438 %vecsize \u043a\u0430\u043a \u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0446\u0435\u043b\u044b\u0435   br i1 %cmp5, label %for.body.7, label %for.cond.cleanup.6      ; \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u0435\u0441\u043b\u0438 %i3.0 \u043c\u0435\u043d\u044c\u0448\u0435 %vecsize  for.cond.cleanup.6:                               ; preds = %for.cond.4   ret void                                                       ; \u043f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044e \u0446\u0438\u043a\u043b\u0430, \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438  for.body.7:                                       ; preds = %for.cond.4   %arrayidx8 = getelementptr inbounds i8, i8* %workvec, i32 %i3.0   %0 = load i8, i8* %arrayidx8, align 1, !tbaa !1, !range !5     ; \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0431\u0430\u0439\u0442 \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 %i3.0   %tobool = icmp eq i8 %0, 0                                     ; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u043d\u0443\u043b\u044e   br i1 %tobool, label %for.inc.11, label %if.then  if.then:                                          ; preds = %for.body.7   %mul = shl nsw i32 %i3.0, 1                                    ; \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c %mul \u0443\u0434\u0432\u043e\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 %i3.0   br label %while.cond                                           ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 BB  while.cond:                                       ; preds = %while.body, %if.then   %j.0 = phi i32 [ %mul, %if.then ], [ %add, %while.body ]   %cmp9 = icmp slt i32 %j.0, %vecsize                            ; \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c %j.0 \u0438 %vecsize \u043a\u0430\u043a \u0437\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0446\u0435\u043b\u044b\u0435   br i1 %cmp9, label %while.body, label %for.inc.11              ; \u0435\u0441\u043b\u0438 %j.0 &lt; %vecsize, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a %while.body  while.body:                                       ; preds = %while.cond   %arrayidx10 = getelementptr inbounds i8, i8* %workvec, i32 %j.0   store i8 0, i8* %arrayidx10, align 1, !tbaa !1                 ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0432 %j.0-\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430   %add = add nsw i32 %j.0, %i3.0                                 ; \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c %add \u0441\u0443\u043c\u043c\u0443 %j.0 \u0438 %i3.0   br label %while.cond                                           ; \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c\u0443 BB  for.inc.11:                                       ; preds = %while.cond, %for.body.7   %inc12 = add nuw nsw i32 %i3.0, 1                              ; \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c %inc12 \u0441\u0443\u043c\u043c\u0443 %i3.0 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u044b   br label %for.cond.4 } <\/pre>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 IA-32 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 LLVM \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0433\u043e IR \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u0432 \u043e\u0431\u043e\u0438\u0445 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0430\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442, \u0445\u043e\u0442\u044f \u043f\u043e\u0440\u044f\u0434\u043e\u043a BB \u0438 \u0438\u0437\u043c\u0435\u043d\u0451\u043d.<\/p>\n<p>  <code>!tbaa !1<\/code> \u2014 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f <a href=\"https:\/\/en.wikipedia.org\/wiki\/Alias_analysis\">alias analysis<\/a>; <code>!range !5<\/code> \u2014 \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0435\u0433\u043e \u0436\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u0434\u043b\u044f <code>bool<\/code> \u2014 0 \u043b\u0438\u0431\u043e 1).<\/p>\n<p>  \u0421\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u044f\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0438\u043f\u044b \u0432\u0441\u0435\u0445 \u0435\u0451 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u2014 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u00ab\u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c\u0430\u00bb \u0432 \u0441\u0442\u0438\u043b\u0435 MSIL.<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C++:  <\/p>\n<pre><code>static void sieve(bool workvec[], int vecsize) {     workvec[0] = false;     workvec[1] = false;     for(int i = 2; i&lt;vecsize; i++)         workvec[i] = true;     for(int i = 2; i&lt;vecsize; i++)         if(workvec[i]) {             int j = 2 * i;             while(j &lt; vecsize) {                 workvec[j] = false;                 j = j + i;             }         } } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 LLVM-IR \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043a\u043e\u0434\u0430 \u0438\u0437 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0432 \u0431\u044d\u043a\u0435\u043d\u0434, \u0430 \u043d\u0435 \u043a\u0430\u043a \u0443\u043d\u0438-ISA, \u2014 \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0432 \u0440\u043e\u043b\u0438 \u0443\u043d\u0438-ISA \u0435\u0441\u0442\u044c <a href=\"http:\/\/lists.cs.uiuc.edu\/pipermail\/llvmdev\/2011-October\/043719.html\">\u0440\u044f\u0434 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432<\/a>. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043c\u043e\u0433\u0443\u0442 \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e LLVM-IR: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f 32-\u0431\u0438\u0442\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 LLVM-IR, \u043d\u0435\u0436\u0435\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f 64-\u0431\u0438\u0442\u043d\u043e\u0439; \u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f Windows \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 LLVM-IR, \u043d\u0435\u0436\u0435\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f Linux. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, LLVM-IR \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d: \u043b\u044e\u0431\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a LLVM \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e \u0432\u0430\u0436\u043d\u044b\u0445 \u0435\u043c\u0443 \u042f\u041f \u043d\u0430 \u0432\u0430\u0436\u043d\u044b\u0445 \u0435\u043c\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e LLVM-IR, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0435\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430, \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0431\u044d\u043a\u0435\u043d\u0434\u0430, \u0438 \u043d\u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u0412-\u0442\u0440\u0435\u0442\u044c\u0438\u0445, LLVM-IR \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u0434 \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9D%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5\">\u00ab\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c\u00bb<\/a> \u2014 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u044d\u043a\u0435\u043d\u0434 \u0432\u043f\u0440\u0430\u0432\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u043b\u044e\u0431\u044b\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u00ab\u0432\u044b\u0436\u0430\u0442\u044c\u00bb \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u041a\u043e\u0434 \u0441 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u0421\u0438 \u0438\u043b\u0438 C++ \u043e\u0431\u044b\u0447\u043d\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0434 \u0441 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043d\u0430 LLVM-IR \u2014 \u0442.\u0435. \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0435 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434, \u0430 \u0431\u044d\u043a\u0435\u043d\u0434, \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u0434 \u0441 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0442 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 <i>\u00abWrite once, run anywhere\u00bb<\/i>, \u043f\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0443\u043d\u0438-ISA. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, Google, \u044f\u0432\u043b\u044f\u044f\u0441\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 LLVM, \u0441\u043e\u0447\u043b\u0430 LLVM-IR \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u044b\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u042f\u041f, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 LLVM. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 31 (2013), Google Chrome <a href=\"http:\/\/habrahabr.ru\/post\/180117\/\">\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 PNaCl<\/a> \u2014 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 LLVM-IR \u0441\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0438 \u0431\u0435\u0437 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439.<\/p>\n<p>  \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b: \u0447\u0435\u043c PNaCl-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043b\u0443\u0447\u0448\u0435 Java-\u0430\u043f\u043b\u0435\u0442\u043e\u0432, \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043b\u0435\u0442 \u0440\u0430\u043d\u044c\u0448\u0435 \u0434\u043b\u044f \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0446\u0435\u043b\u0438 \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439? (\u041a\u0414\u041f\u0412 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0442\u043e\u043f\u0438\u043a\u0430 \u043a\u0430\u043a \u0440\u0430\u0437 \u0432 \u0442\u0435\u043c\u0443.) \u041c\u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0434\u0432\u0430 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 PNaCl: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, LLVM-IR, \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441\u043e \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u043c \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u043c Java, \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043a\u043e\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442 PNaCl-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0412\u0442\u043e\u0440\u043e\u0439 \u0438, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0441\u0442\u044c \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u0430\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u0430 LLVM: \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Java \u0435\u0451 \u0445\u043e\u0437\u044f\u0435\u0432\u0430 (Sun \u0438 \u0437\u0430\u0442\u0435\u043c Oracle) \u0441\u0443\u0434\u0438\u043b\u0438\u0441\u044c \u0431\u044b\u043b\u043e \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0432\u0441\u0442\u0440\u0435\u0447\u043d\u044b\u043c, \u0438 \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441 Google. LLVM \u0438 \u0435\u0433\u043e IR, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043a\u0440\u044b\u0442\u044b; \u0438 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, Google \u0437\u0430\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430\u0445 \u0432 \u0441\u0432\u043e\u0439 PNaCl \u0432\u0441\u044f\u043a\u0438\u0435 \u043f\u043b\u044e\u0448\u043a\u0438 \u0438 \u043d\u043e\u0432\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 LLVM; \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432\u043f\u0440\u0430\u0432\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0432\u043e\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 PNaCl-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0431\u043e\u044f\u0442\u044c\u0441\u044f \u0441\u0443\u0434\u0435\u0431\u043d\u044b\u0445 \u0438\u0441\u043a\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u0443 Google \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 PNaCl \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u0430\u043f\u0440\u043e\u0442\u0438\u0432: Mozilla \u0434\u043b\u044f \u0442\u043e\u0439 \u0436\u0435 \u0441\u0430\u043c\u043e\u0439 \u0446\u0435\u043b\u0438 \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u043b\u043d\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0441\u0432\u043e\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0443\u043d\u0438-ISA \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"http:\/\/habrahabr.ru\/post\/174175\/\">asm.js<\/a> (2013). \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f asm.js \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 \u0432\u0438\u0434\u0435 <a href=\"http:\/\/kripken.github.io\/emscripten-site\/\">\u043d\u043e\u0432\u043e\u0433\u043e \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u0434\u043b\u044f LLVM<\/a>. \u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 asm.js \u0438 PNaCl \u0448\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0438 \u0432 Google Chrome \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 asm.js \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0434\u0430\u0436\u0435 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PNaCl \u2014 \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 28 (2013).<\/p>\n<p>  asm.js \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u0443\u044e \u0438\u0434\u0435\u044e: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430 \u043d\u0451\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 (\u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0440\u0435\u0437\u0430\u043d\u043d\u043e\u043c) JavaScript, \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 JavaScript. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 asm.js \u0438 \u00ab\u043d\u0430 \u043b\u0435\u0442\u0443\u00bb \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u2014 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0432\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 JavaScript \u00ab\u0432 \u043b\u043e\u0431\u00bb. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 asm.js, \u0438 \u043d\u043e\u0432\u044b\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u00bb JavaScript: \u0435\u0441\u043b\u0438 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043d\u0435\u0442 \u043f\u0440\u043e\u043b\u043e\u0433\u0430 <code>&quot;use asm&quot;;<\/code>, \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u00ab\u043f\u043e-\u0441\u0442\u0430\u0440\u0438\u043d\u043a\u0435\u00bb.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 asm.js<\/b><\/p>\n<div class=\"spoiler_text\">\u0422\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C++, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Emscripten:<\/p>\n<pre><code class=\"javascript\">function __ZL5sievePbi($workvec,$vecsize) {  $workvec = $workvec|0;  \/\/ \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 |0  $vecsize = $vecsize|0;  var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $i1 = 0, $j = 0, label = 0, sp = 0;  sp = STACKTOP;  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) &gt;= (STACK_MAX|0)) abort();  $0 = $workvec;  $1 = $vecsize;  $2 = $0;  HEAP8[$2&gt;&gt;0] = 0;       \/\/ \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0443\u043b\u0435\u0432\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 &gt;&gt;0  $3 = $0;  $4 = ((($3)) + 1|0);    \/\/ \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u043a \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439  HEAP8[$4&gt;&gt;0] = 0;  $i = 2;  while(1) {   $5 = $i;   $6 = $1;   $7 = ($5|0)&lt;($6|0);    \/\/ \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445   if (!($7)) {    break;   }   $8 = $i;   $9 = $0;   $10 = (($9) + ($8)|0);   HEAP8[$10&gt;&gt;0] = 1;   $11 = $i;   $12 = (($11) + 1)|0;   $i = $12;  }  $i1 = 2;  while(1) {   $13 = $i1;   $14 = $1;   $15 = ($13|0)&lt;($14|0);   if (!($15)) {    break;   }   $16 = $i1;   $17 = $0;   $18 = (($17) + ($16)|0);   $19 = HEAP8[$18&gt;&gt;0]|0; \/\/ \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u0431\u0443\u043b\u0435\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430   $20 = $19&1;   L8: do {    if ($20) {     $21 = $i1;     $22 = $21&lt;&lt;1;     $j = $22;     while(1) {      $23 = $j;      $24 = $1;      $25 = ($23|0)&lt;($24|0);      if (!($25)) {       break L8;      }      $26 = $j;      $27 = $0;      $28 = (($27) + ($26)|0);      HEAP8[$28&gt;&gt;0] = 0;      $29 = $j;      $30 = $i1;      $31 = (($29) + ($30))|0;      $j = $31;     }    }   } while(0);   $32 = $i1;   $33 = (($32) + 1)|0;   $i1 = $33;  }  STACKTOP = sp;return; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u0433\u0434\u0430 asm.js \u0432 \u0441\u0432\u043e\u0451\u043c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u00ab\u0443\u0442\u044b\u043a\u0430\u043b\u0441\u044f\u00bb \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f JavaScript (\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 64-\u0431\u0438\u0442\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, SIMD-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0438 \u0442.\u043f.), \u2014 \u0442\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 JavaScript. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c asm.js \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c JavaScript \u2014 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u0438\u043b\u0438\u0439 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 asm.js, \u043d\u043e \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u044f\u0437\u044b\u043a\u0430.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u043f\u0440\u0438\u0447\u0438\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e Java-\u0430\u043f\u043b\u0435\u0442\u043e\u0432 \u043d\u043e\u0432\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 LLVM, \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043a\u0438 asm.js <a href=\"http:\/\/habrahabr.ru\/post\/261205\/\">\u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442<\/a> \u0442\u0430\u043a\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442: <i>\u00ab\u0412 JavaScript \u0435\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0435\u0449\u0435 \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 API \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a DOM, \u0441\u0435\u0442\u044f\u043c, \u0441\u0435\u043d\u0441\u043e\u0440\u0430\u043c, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c \u0432\u0432\u043e\u0434\u0430 \u0438 \u0442.\u043f. \u0417\u0430 \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043a\u043e\u0435 \u0447\u0435\u043c \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b? \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f.\u00bb<\/i> <font color=\"#888\">(\u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0430)<\/font> \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u0434\u0432\u0438\u0436\u043a\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0438\u0437 asm.js \u0438 \u0438\u0437 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e\u00bb JavaScript; \u0438\u0445 \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u0432\u0430\u0436\u0434\u044b.<\/p>\n<h2><font color=\"#888\">\u0411\u0443\u0434\u0443\u0449\u0435\u0435<\/font><\/h2>\n<p>  \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u00ab\u0441\u044b\u0440\u044b\u043c\u00bb LLVM-IR, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0431\u044b\u043b\u043e \u0441\u0442\u0430\u0432\u043a\u0443 Google \u0438 Apple, \u0443 asm.js \u043d\u0435\u043c\u0430\u043b\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432; \u043d\u043e \u0435\u0441\u0442\u044c \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043a\u043e\u0434 \u043d\u0430 asm.js \u043d\u0435\u0438\u043c\u043e\u0432\u0435\u0440\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u2014 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u0438 \u0431\u0430\u0439\u0442! \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 asm.js \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u043e\u0440. \u041a\u0443\u0434\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0438\u0434\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE\">AST<\/a>, \u0430 \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437 \u043d\u0435\u0433\u043e \u043a\u043e\u0434 \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c JavaScript, \u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c AST. \u0422\u0430\u043a \u043b\u0435\u0442\u043e\u043c 2015 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a\u00bb \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"http:\/\/habrahabr.ru\/post\/260667\/\">WebAssembly<\/a>, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0432\u0448\u0438\u0439 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0438\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b asm.js (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 JavaScript-\u0434\u0432\u0438\u0436\u043a\u043e\u043c), \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0432\u0448\u0438\u0439 \u0434\u0432\u0430 \u0435\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430, \u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u043e\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430\u043c\u0438 (\u043a\u0430\u043a \u043f\u0440\u043e\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b  <a href=\"http:\/\/habrahabr.ru\/users\/vsb\/\" class=\"user_link\">vsb<\/a>, <i>\u00ab\u0418\u043b\u0438 \u0438\u0433\u0440\u0430 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u043e\u0431\u0449\u0435, \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0441 1 fps \u2014 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435\u0442, \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u0432 \u043d\u0435\u0451 \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442.\u00bb<\/i>) \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 WebAssembly \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Polyfill\">\u00ab\u0437\u0430\u043c\u0430\u0437\u043a\u0443\u00bb<\/a> \u2014 JavaScript-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u043e\u0434 \u043d\u0430 WebAssembly \u0438 \u00ab\u043d\u0430 \u043b\u0435\u0442\u0443\u00bb \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e \u043a\u043e\u0434 \u043d\u0430 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u00bb asm.js; \u0430 \u0435\u0433\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432 \u0443\u0436\u0435 \u0443\u043c\u0435\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 WebAssembly<\/b><\/p>\n<div class=\"spoiler_text\">\u0422\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C++, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 WebAssembly \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 LLVM:<\/p>\n<pre> _Z5sievePbi: \t.param i32                          # \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a $0 \u0438 $1 \t.param i32 \t.local i32, i32, i32, i32           # \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f $2, $3, $4, $5 # %entry \tblock   \tBB0_9               # \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0438\u043b\u0438 \u0446\u0438\u043a\u043b\u0430 -- \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \ti32.const\t$2, 0               # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u043b\u044c \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \ti32.store8\t$0, $2              # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \ti32.const\t$3, 1 \ti32.add \t$push0, $0, $3      # \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443--\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \ti32.store8\t$pop0, $2           # \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u043b\u044c \u043f\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044e \ti32.const\t$4, 2 \tset_local\t$5, $4 BB0_1:                          # %for.cond \tloop    \tBB0_3 \ti32.ge_s\t$push1, $5, $1      # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c--\u0434\u043b\u0438\u043d\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \tbr_if   \t$pop1, BB0_3 # %for.body \ti32.add \t$push7, $0, $5      # $pushN \u0438 $popN -- &quot;\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0435&quot; \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \ti32.store8\t$pop7, $3           # \u0434\u043b\u044f \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f (\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439) \ti32.add \t$5, $5, $3          # \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \tbr      \tBB0_1 BB0_3:                          # %for.cond.4 \tloop    \tBB0_9 \tblock   \tBB0_8 \tblock   \tBB0_4 \tblock   \tBB0_3               # \u043a\u043e\u043d\u0435\u0446 \u0431\u043b\u043e\u043a\u0430 \u0442\u0430\u043c \u0436\u0435, \u0433\u0434\u0435 \u043d\u0430\u0447\u0430\u043b\u043e (?\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0446\u0438\u043a\u043b\u0430?) \ti32.lt_s\t$push2, $4, $1 \tbr_if   \t$pop2, BB0_4 \tbr      \tBB0_9 BB0_4:                          # %for.body.7 \ti32.add \t$push3, $0, $4 \ti32.load8_u\t$5, $pop3           # \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u0438\u0437 $4 \ti32.eq  \t$push4, $5, $2      # \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043d\u0443\u043b\u0451\u043c \tbr_if   \t$pop4, BB0_8 # %if.then \ti32.shl \t$5, $4, $3          # \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044c $4 \u0432\u043b\u0435\u0432\u043e \u043d\u0430 \u0431\u0438\u0442, \u0442.\u0435. \u0443\u0434\u0432\u043e\u0438\u0442\u044c BB0_6:                          # %while.cond \tloop    \tBB0_8 \ti32.ge_s\t$push5, $5, $1 \tbr_if   \t$pop5, BB0_8 # %while.body \ti32.add \t$push6, $0, $5 \ti32.store8\t$pop6, $2 \ti32.add \t$5, $5, $4 \tbr      \tBB0_6 BB0_8:                          # %for.inc.11 \ti32.add \t$4, $4, $3 \tbr      \tBB0_3 BB0_9:                          # %for.cond.cleanup.6 \treturn <\/pre>\n<p>  \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u043a \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u043e\u043c LLVM-IR \u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 IA-32, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439; \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u043d\u0430 WebAssembly \u043e\u043d \u043f\u043e\u043a\u0430 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442, \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0439 \u043b\u0438\u0441\u0442\u0438\u043d\u0433.<\/p>\n<p>  \u041e\u0441\u043e\u0431\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u043d\u044b\u0435  <a href=\"http:\/\/habrahabr.ru\/users\/veg\/\" class=\"user_link\">VEG<\/a> \u043f\u043e\u0441\u043b\u0435 \u043b\u0435\u0442\u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0441\u0441-\u0440\u0435\u043b\u0438\u0437\u0430 \u2014 <i>\u00ab\u0424\u043e\u0440\u043c\u0430\u0442 \u0443 WebAssembly \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434.\u00bb<\/i> \u2014 \u043d\u0435 \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043b\u0438\u0441\u044c.<\/div>\n<\/div>\n<p>  \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 WebAssembly \u0441\u0442\u0430\u043b\u0430 Google \u2014 \u043c\u043e\u043b, \u0432 \u043d\u043e\u0432\u043e\u043c \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435\u00bb \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 LLVM \u0431\u0443\u0434\u0435\u0442 \u0443\u0447\u0442\u0451\u043d \u0432\u0435\u0441\u044c \u043e\u043f\u044b\u0442, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0432 \u0445\u043e\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 PNaCl. \u0421\u0430\u043c \u0436\u0435 PNaCl \u043e\u043d\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c. \u0414\u0440\u0443\u0433\u043e\u0439 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, Mozilla, \u043e\u0441\u043e\u0431\u043e \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442, \u0447\u0442\u043e WebAssembly, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 asm.js, \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u2014 \u043d\u0438 \u043d\u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c, \u043d\u0438 \u043d\u0430 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u2014 \u043d\u0438 \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u042f\u041f; \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c\u0441\u044f, \u043c\u043e\u043b, \u0447\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0434\u0435\u0441\u044f\u0442\u043e\u043a-\u0434\u0440\u0443\u0433\u043e\u0439 \u043b\u0435\u0442 JavaScript \u043e\u0442\u043e\u0439\u0434\u0451\u0442 \u0432 \u043d\u0435\u0431\u044b\u0442\u0438\u0435, \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e WebAssembly \u0441\u0442\u0430\u043d\u0435\u0442 \u00ab\u0440\u043e\u0434\u043d\u044b\u043c\u00bb \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u041f\u041a \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u043b\u0438 \u044d\u0442\u043e\u0442 \u00ab\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0430\u0447\u043e\u043a\u00bb \u0432 1980-\u0445, \u043a\u043e\u0433\u0434\u0430 \u043e\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u043e\u0432 \u043d\u0430 \u0411\u0435\u0439\u0441\u0438\u043a\u0435 \u0438 \u041f\u0430\u0441\u043a\u0430\u043b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u041f\u041e \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u043a \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2014 \u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u0442\u0430\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u041f\u041a, \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u044f \u043d\u0438 \u043e\u0434\u043d\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u00ab\u043a\u0430\u043a \u043c\u043d\u0435 \u0432\u0441\u0451 \u044d\u0442\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c?\u00bb<br \/>  \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0443\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438 \u043c\u0430\u043b\u0435\u0439\u0448\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e JavaScript; \u043d\u0443 \u0438 \u043a\u0430\u043a\u043e\u0439 \u0441\u043c\u044b\u0441\u043b \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430?<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/01f\/3c1\/704\/01f3c17047a4c2d06defe457b06bf42b.jpg\" align=\"right\" width=\"270\" title=\"Mobile Computing\"\/> \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043e\u0436\u0438\u0432\u0438\u043b\u0438\u0441\u044c. \u0415\u0441\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u00ab\u0432 \u0436\u0435\u043b\u0435\u0437\u0435\u00bb \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435\u00bb, \u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u2014 \u0440\u0430\u0434\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0430\u044e\u0442\u0441\u044f \u2014 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0440\u0430\u0441\u0442\u0438 \u0432 \u0440\u0430\u0437\u044b! WebAssembly \u0445\u043e\u0442\u044c \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a, \u043d\u043e \u043d\u0435 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439; \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u0442\u044c \u0448\u0430\u043d\u0441, \u0447\u0442\u043e \u0435\u0433\u043e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0433\u043b\u0430 \u0431\u044b \u0441\u0442\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439, \u0447\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0445 \u0443\u043d\u0438-ISA. \u0421\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0442\u043e, \u0447\u0442\u043e \u0435\u0434\u0438\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043c\u043e\u0433 \u0431\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0432\u0441\u044e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u2014 \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a x86 \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0438\u043b \u043c\u0438\u0440 \u041f\u041a. \u0414\u043e \u00ab\u0433\u0435\u0433\u0435\u043c\u043e\u043d\u0438\u0438\u00bb x86, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u041f\u041a \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 Prince of Persia \u0431\u044b\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f \u041f\u041a Amiga, Amstrad, Apple II, Atari, FM Towns, IBM PC, Macintosh Quadra, NEC PC-9801, SAM Coup\u00e9, \u0438 Sharp X68000; \u043d\u043e \u0441 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u043b\u043e\u0432\u043e\u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u00ab\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u041f\u041a\u00bb \u0441\u0442\u0430\u043b\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u00ab\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f x86\u00bb. \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u00ab\u0435\u0434\u0438\u043d\u0430\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0430\u044f ISA\u00bb \u043e\u0442\u0432\u044f\u0437\u0430\u043b\u0430 \u0431\u044b \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u041f\u041e, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (OEM), \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432: OEM-\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b \u043e\u0442 \u043b\u044e\u0431\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439, \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u043d\u0435\u0439\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439; \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0442\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u043c\u0438. \u0412 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0441\u0447\u0451\u0442\u0435 \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c, \u0435\u0441\u043b\u0438 \u043b\u044e\u0431\u0430\u044f \u0438\u0437 \u043d\u0443\u0436\u043d\u044b\u0445 \u0435\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0438\u0437 \u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<p>  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0435\u0434\u0438\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0436\u0451\u0441\u0442\u043a\u0438\u0435 \u0440\u0430\u043c\u043a\u0438: \u0432 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0444\u0438\u0447\u0443, \u043f\u043e\u043a\u0430 \u043e\u043d\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0432 \u00ab\u0435\u0434\u0438\u043d\u0443\u044e ISA\u00bb \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f\u043c\u0438. \u0414\u0430\u043b\u0435\u0435, \u043f\u043e \u043c\u0435\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u044b \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c \u0432 \u044f\u0437\u044b\u043a \u0442\u0430\u043a\u0438\u0435 \u0444\u0438\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0435\u043c\u0443 \u0432\u044b\u0433\u043e\u0434\u043d\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 Intel \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043d\u043e\u043b\u044c; \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 ARM \u2014 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043d\u043e\u043b\u044c: \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b ARM \u0441\u043e\u0447\u043b\u0438, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u043b\u0443\u0447\u0448\u0435 \u043f\u0435\u0440\u0435\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u0442\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0437\u0430\u0432\u0435\u0434\u043e\u043c\u043e \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0439. \u0412-\u0442\u0440\u0435\u0442\u044c\u0438\u0445, \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a\u0438? WebAssembly <a href=\"https:\/\/github.com\/WebAssembly\/design\/issues\/273\">\u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f<\/a> \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0443\u044e ISA \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u2014 \u0442\u0430\u043c \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0435\u0449\u0451 \u0441\u0438\u043b\u044c\u043d\u0435\u0435, \u0447\u0435\u043c \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 Intel \u0438 ARM.<\/p>\n<p>  \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u0432\u0441\u0435 \u044d\u0442\u0438 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u043f\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e WebAssembly \u043f\u0440\u0438\u0436\u0438\u0432\u0451\u0442\u0441\u044f, \u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0431\u0440\u043e\u0448\u0435\u043d \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0443 \u043b\u0435\u0442, \u043a\u0430\u043a PNaCl, \u0438 \u043d\u0435 \u043e\u0431\u043e\u0441\u043e\u0431\u0438\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u0438\u0448\u0443, \u043a\u0430\u043a Java \u0438 MSIL.<br \/>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c.        \t<\/p>\n<div class=\"polling\">\n<form action=\"\/json\/polling\/\" class=\"poll\" method=\"post\">\n<div class=\"poll_title\">\u041c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430\u00bb \u0441\u0442\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439?<\/div>\n<p>  \t\t<input type=\"hidden\" name=\"post_id\" value=\"270379\"\/> \t\t<input type=\"hidden\" name=\"polling_question_id\" value=\"14231\"\/>  \t\t<\/p>\n<table class=\"answer\">\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv69771\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"69771\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv69771\">\u0434\u0430<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv69773\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"69773\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv69773\">\u043d\u0435\u0442<\/label> \t\t\t\t<\/td>\n<\/tr>\n<\/table>\n<p class=\"total\">\u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b. \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442.<\/p>\n<\/p><\/form>\n<p class=\"for_users_only_msg\">\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a href=\"https:\/\/habrahabr.ru\/auth\/login\/\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/p>\n<\/p><\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/270379\/\"> http:\/\/habrahabr.ru\/post\/270379\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       <a href=\"https:\/\/xkcd.com\/927\/\"><img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/comment_images\/e1e\/960\/02b\/e1e96002b5abca7c2355bb45a7b51f40.png\" alt=\"\u041a\u0414\u041f\u0412\"\/><\/a><\/p>\n<h2><font color=\"#888\">\u041f\u0440\u043e\u0448\u043b\u043e\u0435<\/font><\/h2>\n<p>  \u041f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 1962 \u0433., \u043a\u043e\u0433\u0434\u0430 \u0432 \u041a\u0435\u043c\u0431\u0440\u0438\u0434\u0436\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/CPL_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29\">CPL<\/a> (\u00abCambridge Programming Language\u00bb) \u2014 \u00ab\u0443\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c\u00bb ALGOL-60. \u041a \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u044f\u0437\u044b\u043a\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f \u0430\u0441\u043f\u0438\u0440\u0430\u043d\u0442 \u041c\u0430\u0440\u0442\u0438\u043d \u0420\u0438\u0447\u0430\u0440\u0434\u0441; \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u042f\u041f \u0435\u043c\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0433\u0434\u0430 \u043a\u0435\u043c\u0431\u0440\u0438\u0434\u0436\u0441\u043a\u0438\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/EDSAC\">EDSAC-2<\/a> \u0437\u0430\u043c\u0435\u043d\u0438\u043b\u0438 \u043d\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Atlas_%28%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%29\">Atlas-2<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 CPL \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.<\/p>\n<p>  \u0414\u0438\u0441\u0441\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u041c\u0430\u0440\u0442\u0438\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u00ab\u0441\u0430\u043c\u043e-\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u043c\u0443\u0441\u044f\u00bb CPL: \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u041c\u0430\u0440\u0442\u0438\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 CPL, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0442\u043e\u0433\u0434\u0430\u0448\u043d\u0435\u043c \u043c\u0430\u043a\u0440\u043e\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435. \u041f\u0435\u0440\u0435\u043d\u043e\u0441 CPL \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432 \u0434\u0432\u0430 \u0448\u0430\u0433\u0430: <\/p>\n<ol>\n<li>\u0412\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u00ab\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u043e\u0433\u043e CPL\u00bb;<\/li>\n<li>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u00ab\u043f\u043e\u043b\u043d\u043e\u0433\u043e CPL\u00bb.<\/li>\n<\/ol>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u041c\u0430\u0440\u0442\u0438\u043d \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f, \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/BCPL\">BCPL<\/a> \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b <i>\u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434<\/i>, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u044b\u0439 \u041c\u0430\u0440\u0442\u0438\u043d\u043e\u043c <a href=\"https:\/\/en.wikipedia.org\/wiki\/O-code\">\u00abOCODE\u00bb<\/a>.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">OCODE \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/b><\/p>\n<div class=\"spoiler_text\">\n<table>\n<tr>\n<th>OCODE<\/th>\n<th>\u00ab\u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430\u00bb (\u00abprocode\u00bb)<\/th>\n<th><\/th>\n<\/tr>\n<tr>\n<td>\n<pre> 94 5 L1 83 73 69 86 69 95 4 42 0 42 0 40 2 14 83 42 0 42 1 40 2 14 83 42 2 40 3 42 1 15 92 85 L5 90 L6 42 1 40 4 40 2 14 83 40 4 42 1 14 80 4  90 5 40 4 40 5 88 L6 91 4 42 2 40 3 42 1 15 92 85 L7 90 L8 40 4 40 2 14 8 87 L9 40 4 42 2 11 92 85 L11 90 L10 42 0 40 6 40 2 14 83 40 4 40 6 14 80 6 90 L11 40 6 40 3 22 86 L10 91 6 90 L9 40 4 42 1 14 80 4 90 L7 40 4 40 5 88 L8 91 4 97 103 0 <\/pre>\n<\/td>\n<td>\n<pre> ENTRY 5 L1  'S' 'I' 'E' 'V' 'E' SAVE 4 LN 0 LN 0 LP 2 PLUS STIND LN 0 LN 1 LP 2 PLUS STIND LN 2 LP 3 LN 1 MINUS STORE JUMP L5 LAB L6 LN 1 LP 4 LP 2 PLUS STIND LP 4 LN 1 PLUS SP 4 LAB L5 LP 4 LP 5 ENDFOR L6 STACK 4 LN 2 LP 3 LN 1 MINUS STORE JUMP L7 LAB L8 LP 4 LP 2 PLUS RV JF L9 LP 4 LN 2 MULT STORE JUMP L11 LAB L10 LN 0 LP 6 LP 2 PLUS STIND LP 4 LP 6 PLUS SP 6 LAB L11 LP 6 LP 3 LS JT L10 STACK 6 LAB L9 LP 4 LN 1 PLUS SP 4 LAB L7 LP 4 LP 5 ENDFOR L8 STACK 4 RTRN ENDPROC 0 <\/pre>\n<\/td>\n<td><nobr>; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<br \/>  ; \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 (\u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438 \u0434\u0432\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435)<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 0<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d 0, \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 2-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434 \u043d\u0438\u043c<br \/>  ; \u0432\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0434\u043b\u044f 1-\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430<br \/>  ; \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u0441\u0442\u0435\u043a \u0447\u0438\u0441\u043b\u043e 2<br \/>  ; \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 3-\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L5<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L6<br \/>  ; \u0432\u0437\u044f\u0442\u044c 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443 1<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 4-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 1, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; L5: \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L6, \u0435\u0441\u043b\u0438 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 &lt;= 5-\u043e\u043c\u0443<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0447\u0435\u0442\u044b\u0440\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430<br \/>  ; \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 3-\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L7<br \/>  ; L8: \u0441\u043b\u043e\u0436\u0438\u0442\u044c 4-\u044b\u0439 \u0438 2-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0435\u043a\u0430<br \/>  ; \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443; \u0435\u0441\u043b\u0438 \u044d\u0442\u043e 0, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a L9<br \/>  ; \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u044c 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430 \u0434\u0432\u0430<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L11<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L10<br \/>  ; \u0432\u0437\u044f\u0442\u044c 6-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443 0<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 6-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 4-\u044b\u0439, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437-\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L11<br \/>  ; \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043c\u0435\u0442\u043a\u0435 L10, \u0435\u0441\u043b\u0438 7-\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 4-\u043e\u0433\u043e<br \/>  ; \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0448\u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432; \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 L9<br \/>  ; \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u0442\u044c \u043a 4-\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u0441\u0442\u0435\u043a\u0430 1, \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e<br \/>  ; L10: \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a L8, \u0435\u0441\u043b\u0438 4-\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0435\u043a\u0430 &lt;= 5-\u043e\u043c\u0443<br \/>  ; \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430; \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b<br \/>  <\/nobr><\/td>\n<\/tr>\n<\/table>\n<p>(\u0414\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043c\u0435\u0441\u0442\u0430, \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443. \u041c\u0430\u0440\u0442\u0438\u043d \u0432 \u0441\u0432\u043e\u0451\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043f\u043e BCPL \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435.)<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 BCPL:  <\/p>\n<blockquote>\n<pre> LET sieve(workvec, vecsize) BE {   workvec!0 := 0   workvec!1 := 0   FOR i = 2 TO vecsize-1 DO workvec!i := 1   FOR i = 2 TO vecsize-1 DO     IF workvec!i DO     { LET j = 2 * i       WHILE j &lt; vecsize DO       { workvec!j := 0         j := j + i       }     } } <\/pre>\n<\/blockquote>\n<p>\u0412 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 OCODE \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0438\u0441\u0435\u043b \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 (\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430\u0431\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043e\u043f\u043a\u043e\u0434\u043e\u0432 \u043f\u043e\u0447\u0442\u0438 \u0443\u0434\u0432\u043e\u0438\u043b\u0441\u044f), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u043b\u0438 \u043e\u043f\u043a\u043e\u0434 <code>ENDFOR<\/code> \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430 <code>LE JT<\/code>.<\/p>\n<p>  \u0421\u0440\u0435\u0434\u0438 \u00ab\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432\u00bb OCODE \u0443\u043d\u0438\u043a\u0430\u043b\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043c\u0435\u0442\u043a\u0438 \u0432 \u043d\u0451\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u2014 \u0442.\u0435. \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0441\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043d\u0435\u0439 \u043c\u0435\u0442\u043a\u0438.<\/p><\/div>\n<\/div>\n<p> \u2014 \u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, <i>\u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/i>, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u0430 \u0444\u0430\u0439\u043b \u0441 \u0442\u0430\u043a\u0438\u043c \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u043e\u043c \u0432 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. OCODE \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a: \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 OCODE \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0441\u044f, \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0444\u0430\u0439\u043b\u0430 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0431\u0430\u0439\u0442\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b\u0430 \u0431\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/747\/478\/77c\/74747877cccb0b9083061836347ccd70.jpg\" width=\"200\" align=\"right\" title=\"Trinity College, Cambridge\"\/>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL<sup>(1)<\/sup> \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 OCODE, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e: <\/p>\n<ol>\n<li>\u0412\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434\u0430<sup>(2)<\/sup> (\u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u0445\u043e\u0442\u044c \u043d\u0430 \u0411\u0435\u0439\u0441\u0438\u043a\u0435);<\/li>\n<li>\u0410\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440,<sup>(3)<\/sup> \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 BCPL, \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b;<\/li>\n<li>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0434 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u043c (2) \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 BCPL (1), \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u0435\u043c\u0443 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 (3), \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430<sup>(4)<\/sup>;\n<ul>\n<li>\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 (2) \u043d\u0430\u043c \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d.<\/li>\n<\/ul>\n<\/li>\n<li>\u041f\u0440\u043e\u0433\u043d\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 (4) \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 (1), \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430.<\/li>\n<\/ol>\n<p>  \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043e\u0437\u043d\u0430\u0447\u0430\u043b, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0441\u0430\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f; \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f BCPL \u0431\u044b\u043b\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u043a 1967 \u0433. \u2014 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0431\u044b\u043b\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f CPL, \u043d\u0430\u0447\u0430\u0442\u0430\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0440\u0430\u043d\u044c\u0448\u0435!<\/p>\n<p>  \u0414\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430 BCPL \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u043b\u0438 \u041a\u0435\u043d\u0430 \u0422\u043e\u043c\u043f\u0441\u043e\u043d\u0430 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%B8_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29\">\u0411\u0438<\/a>, \u0430 \u0442\u043e\u0442 \u2014 \u043a\u043e\u043b\u043b\u0435\u0433\u0443 \u041a\u0435\u043d\u0430, \u0414\u0435\u043d\u043d\u0438\u0441\u0430 \u0420\u0438\u0442\u0447\u0438, \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0421\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437 BCPL \u043f\u043e\u0448\u043b\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c <code>{<\/code>\u0444\u0438\u0433\u0443\u0440\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438<code>}<\/code> \u0431\u043b\u043e\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 BCPL <a href=\"http:\/\/www.catb.org\/jargon\/html\/B\/BCPL.html\">\u0431\u044b\u043b\u0430<\/a> <a href=\"http:\/\/stackoverflow.com\/questions\/602237\/where-does-hello-world-come-from\">\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430<\/a> \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 <a href=\"http:\/\/www.cl.cam.ac.uk\/~mr10\/BCPL\/cintcode\/com\/hello.b\">\u00abHello, World!\u00bb<\/a>.  <\/p>\n<blockquote>\n<pre> GET &quot;libhdr&quot;  LET start() = VALOF { writef(&quot;Hello*n&quot;)   RESULTIS 0 } <\/pre>\n<\/blockquote>\n<p>\u0411\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u0430\u044f \u043d\u0430\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 BCPL \u0432\u043e\u0448\u0451\u043b \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e: OCODE \u2014 \u043f\u0435\u0440\u0432\u0430\u044f <i>\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4\">\u00ab\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u00bb<\/a> (ISA)<\/i>, \u0442.\u0435. \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430\u00bb, \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u043d\u0438 \u043a \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0441 \u0435\u0451 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438. BCPL, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Write_once,_run_anywhere\">\u00abWrite once, run anywhere\u00bb<\/a> (<i>WORA<\/i>): \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 BCPL \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0432 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0438 \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 OCODE-\u043a\u043e\u0434\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-268608","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/268608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=268608"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/268608\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=268608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=268608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=268608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}