{"id":322437,"date":"2021-04-30T21:00:59","date_gmt":"2021-04-30T21:00:59","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=322437"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=322437","title":{"rendered":"\u0423\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432?"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/554910\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ih\/i6\/iw\/ihi6iwiy7wna07-gag5fy5ywyce.png\"><\/div>\n<p><\/a><\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u043c\u0435\u043b\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0441 \u0432\u044b\u0432\u043e\u0434\u0430\u043c\u0438, \u0430 \u043b\u0443\u0447\u0448\u0435 \u043f\u0440\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0437\u0433\u044f\u043b\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u0433\u043e \u0432 \u0438\u043d\u043e\u043c \u0441\u0432\u0435\u0442\u0435, \u043d\u043e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u0432\u0430\u0448\u0443 \u043e\u0441\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0444\u0435\u0440\u0435.<a name=\"habracut\"><\/a><\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432 \u043b\u0443\u0447\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0438\u0448\u0435\u0432\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0447\u0430\u0449\u0435 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0435\u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u043d\u043e \u043f\u0435\u0434\u0430\u043d\u0442\u0438\u0447\u043d\u043e\u0435, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u043d\u043e\u0435 \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u043d\u0438\u0448\u0438. <\/p>\n<p>  \u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043d\u0435\u043f\u0440\u043e\u0441\u0442. \u041e\u043d \u043d\u0435\u0434\u0440\u0443\u0436\u0435\u043b\u044e\u0431\u0435\u043d. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0438 \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0441\u043e\u043f\u0440\u044f\u0436\u0435\u043d\u043e \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u2014 \u0442\u0430\u043a\u043e\u0432\u043e \u043e\u0431\u0449\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0435 \u043c\u043d\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u044d\u0442\u043e \u043c\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u043b\u043e\u0445\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u044f\u0437\u044b\u043a\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u042d\u0442\u043e\u0442 \u0441\u0442\u0438\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0437\u0430\u0441\u0442\u0440\u044f\u043b \u0432 50-\u0445, \u043e\u043d \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438, \u0432\u0431\u0438\u0440\u0430\u044f \u0432 \u0441\u0435\u0431\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b. \u041e\u043d \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 API \u0438 DOM. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441 \u0442\u0435\u043c \u0436\u0435 \u0443\u0441\u043f\u0435\u0445\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u0435\u0440\u0445 \u043d\u0435\u0433\u043e \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438.<\/p>\n<p>  \u0427\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u044f \u0434\u0430\u0436\u0435 \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d, \u0447\u0442\u043e \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u043c\u043e\u0436\u0435\u0442 \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u0434 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u043e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0431\u0435\u0437 \u043f\u043e\u043c\u043e\u0449\u0438 \u0433\u0443\u0433\u043b\u0430. \u0412\u043e\u0442 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435?<\/p>\n<h2><font color=\"#3AC1EF\">1. GUI<\/font><\/h2>\n<p>  \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043e\u043a\u043d\u043e \u0441 WinAPI \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0446\u0438\u043a\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u041f\u0440\u043e\u0448\u0443 \u0432\u0430\u0441, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u043d\u0438\u043c \u0438 \u043e\u0442\u0432\u0435\u0442\u044c\u0442\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043b\u0438 \u043e\u043d \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0432\u0438\u0434\u043e\u0432 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u0438\u043b\u0438 \u0436\u0435 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435?<\/p>\n<pre><code class=\"bash\">nMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD     LOCAL wc:WNDCLASSEX       ; \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0435\u043a\u0435      LOCAL msg:MSG     LOCAL hwnd:HWND      mov   wc.cbSize,SIZEOF WNDCLASSEX      ; \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0447\u043b\u0435\u043d\u0430\u0445 wc      mov   wc.style, CS_HREDRAW or CS_VREDRAW     mov   wc.lpfnWndProc, OFFSET WndProc     mov   wc.cbClsExtra,NULL     mov   wc.cbWndExtra,NULL     push  hInstance     pop   wc.hInstance     mov   wc.hbrBackground,COLOR_WINDOW+1     mov   wc.lpszMenuName,NULL     mov   wc.lpszClassName,OFFSET ClassName     invoke LoadIcon,NULL,IDI_APPLICATION     mov   wc.hIcon,eax     mov   wc.hIconSm,eax     invoke LoadCursor,NULL,IDC_ARROW     mov   wc.hCursor,eax     invoke RegisterClassEx, addr wc        ; \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 window      invoke CreateWindowEx,NULL,         ADDR ClassName, ADDR AppName,\\         WS_OVERLAPPEDWINDOW,\\         CW_USEDEFAULT, CW_USEDEFAULT,\\         CW_USEDEFAULT, CW_USEDEFAULT,\\         NULL, NULL, hInst, NULL     mov   hwnd,eax     invoke ShowWindow, hwnd,CmdShow        ; \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043e\u043a\u043d\u043e \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435      invoke UpdateWindow, hwnd              ; \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c      .WHILE TRUE                            ; \u0432\u0445\u043e\u0434 \u0432 \u0446\u0438\u043a\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439                  invoke GetMessage, ADDR msg,NULL,0,0                 .BREAK .IF (!eax)                 invoke TranslateMessage, ADDR msg                 invoke DispatchMessage, ADDR msg    .ENDW     mov     eax,msg.wParam                 ; \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043a\u043e\u0434\u0430 \u0432\u044b\u0445\u043e\u0434\u0430 \u0432 eax      ret WinMain endp<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 MASM32, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e \u0441\u0443\u0442\u0438, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u043e\u0432\u0435\u0440\u0445 Microsoft Assembler. \u041e\u043d \u0447\u0443\u0434\u0435\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 WinAPI \u0438 \u043f\u0440\u043e\u0441\u0442 \u0432 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0438. \u0418 \u0445\u043e\u0442\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435 \u0435\u0449\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0445, \u0447\u0438\u0441\u0442\u044b\u0445 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0434\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: Iczelion&#8217;s Win32 Assembly Homepage, Tutorial 3: A Simple Window. <a href=\"http:\/\/win32assembly.programminghorizon.com\/tut3.html\">win32assembly.programminghorizon.com\/tut3.html<\/a>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 MASM32, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e \u0441\u0443\u0442\u0438, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043f\u043e\u0432\u0435\u0440\u0445 Microsoft Assembler. \u041e\u043d \u0447\u0443\u0434\u0435\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 WinAPI \u0438 \u043f\u0440\u043e\u0441\u0442 \u0432 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0438. \u0418 \u0445\u043e\u0442\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435 \u0435\u0449\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0445, \u0447\u0438\u0441\u0442\u044b\u0445 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0434\u0430\u0435\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: Iczelion&#8217;s Win32 Assembly Homepage, Tutorial 3: A Simple Window. <a href=\"http:\/\/win32assembly.programminghorizon.com\/tut3.html\">win32assembly.programminghorizon.com\/tut3.html<\/a>  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">2. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/font><\/h2>\n<p>  \u041d\u0438\u0436\u0435 \u0434\u0430\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u201cadd\u201d \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0445 \u0441\u0443\u043c\u043c\u0443.<\/p>\n<pre><code class=\"bash\">(module   (func $add (param $lhs i32) (param $rhs i32) (result i32)     get_local $lhs     get_local $rhs     i32.add)   (export &quot;add&quot; (func $add)) )<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e WebAssembly. \u0418 \u0445\u043e\u0442\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0435\u0433\u043e \u0438\u0434\u0435\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0432\u0435\u0431 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430, \u043e\u043d \u0438 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u0412 \u043d\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0432\u0435\u0431, \u0438 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0441\u0430\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: \u043f\u0440\u0438\u043c\u0435\u0440\u044b WebAssembly \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430: <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\">developer.mozilla.org\/en-US\/docs\/WebAssembly<\/a>.  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e WebAssembly. \u0418 \u0445\u043e\u0442\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0435\u0433\u043e \u0438\u0434\u0435\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0432\u0435\u0431 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430, \u043e\u043d \u0438 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u0412 \u043d\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u0432\u0435\u0431, \u0438 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0441\u0430\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: \u043f\u0440\u0438\u043c\u0435\u0440\u044b WebAssembly \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430: <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\">developer.mozilla.org\/en-US\/docs\/WebAssembly<\/a>.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">3. \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b<\/font><\/h2>\n<p>  \u042d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 TPK. \u041e\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u043a\u043b\u043e\u0432, \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<\/p>\n<pre><code class=\"bash\">1   c@VA t@IC x@\u00bdC y@RC z@NC 2   INTEGERS +5 \u2192c 3           \u2192t 4       +t      TESTA Z 5       -t 6               ENTRY Z 7   SUBROUTINE 6\u2192z 8       +tt\u2192y\u2192z 9       +tx\u2192y\u2192x 10  +z+cx   CLOSE WRITE 1  11  a@\/\u00bd b@MA c@GA d@OA e@PA f#HA i@VE x@ME 12  INTEGERS +20 \u2192b +10 \u2192c +400 \u2192d +999 \u2192e +1 \u2192f 13  LOOP 10n 14      n\u2192x 15  +b-x\u2192x 16      x\u2192q 17  SUBROUTINE 5 \u2192aq 18  REPEAT n 16      +c \u2192i 20  LOOP 10n 21      +an SUBROUTINE 1 \u2192y 22      +d-y TESTA Z 23      +i SUBROUTINE 3 24      +e SUBROUTINE 4 25              CONTROL X 26              ENTRY Z 27      +i SUBROUTINE 3 28      +y SUBROUTINE 4 29              ENTRY X 30      +i\u2192f\u2192i 31  REPEAT n 32  ENTRY A CONTROL A WRITE 2 START 2<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u041f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0410\u043b\u0438\u043a\u0430 \u0413\u043b\u0435\u043d\u043d\u0438 \u2014 AUTOCODE\u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432. <br \/>  \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a: The Early Development Of Programming Languages by Donald E. Knuth, Luis Trabb Pardo, 1976.<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, TPK \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00abTypical Pardo Knuth\u00bb (\u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u041f\u0430\u0440\u0434\u043e \u041a\u043d\u0443\u0442, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f) \u042d\u0442\u043e \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043e\u043d \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435.  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u041f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0410\u043b\u0438\u043a\u0430 \u0413\u043b\u0435\u043d\u043d\u0438 \u2014 AUTOCODE\u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432. <br \/>  \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a: The Early Development Of Programming Languages by Donald E. Knuth, Luis Trabb Pardo, 1976.<br \/>  \u041a\u0441\u0442\u0430\u0442\u0438, TPK \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00abTypical Pardo Knuth\u00bb (\u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u041f\u0430\u0440\u0434\u043e \u041a\u043d\u0443\u0442, \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f) \u042d\u0442\u043e \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u043e\u043d \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">4. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0443\u043f\u0435\u0440\u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b.<\/p>\n<pre><code class=\"bash\">v0 = my_vector              \/\/ \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e int64 r0 = get_len ( v0 ) int64 r0 = round_u2 ( r0 ) float v0 = set_len ( r0 , v0 ) while ( uint64 r0 &gt; 4) { \tuint64 r0 &gt; &gt;= 1 \tfloat v1 = shift_reduce ( r0 , v0 ) \tfloat v0 = v1 + v0 } \/\/ \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u043a\u0430\u043b\u044f\u0440\u043e\u043c \u0432 v0 <\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u044f\u0437\u044b\u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 ForwardCom. \u0410\u0433\u043d\u0435\u0440 \u0424\u043e\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u0447\u0435\u0433\u043e, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0436\u0438\u0432\u044b\u043c \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u0441, \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u043e\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043a\u0430\u043a \u0431\u043e\u043b\u0435\u0435 \u0434\u0440\u0443\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432. \u041f\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443, \u043e\u043d \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432, \u043d\u043e \u0440\u0430\u0437 \u0421\u0438 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043b\u044e\u0434\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u0435\u043d, \u0447\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u0442\u043e \u0438\u0434\u0435\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u0431\u043e\u043b\u0435\u0435 \u0421\u0438-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u0438\u0437 ForwardCom: An open-standard instruction set for high-performance microprocessors by Agner Fog.  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u044f\u0437\u044b\u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 ForwardCom. \u0410\u0433\u043d\u0435\u0440 \u0424\u043e\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u043f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u0447\u0435\u0433\u043e, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043c\u0430\u043d\u0443\u0430\u043b\u043e\u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0436\u0438\u0432\u044b\u043c \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u0441, \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u043e\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043a\u0430\u043a \u0431\u043e\u043b\u0435\u0435 \u0434\u0440\u0443\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432. \u041f\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443, \u043e\u043d \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432, \u043d\u043e \u0440\u0430\u0437 \u0421\u0438 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043b\u044e\u0434\u0435\u0439 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u0435\u043d, \u0447\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u0442\u043e \u0438\u0434\u0435\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u0431\u043e\u043b\u0435\u0435 \u0421\u0438-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430 \u0438\u0437 ForwardCom: An open-standard instruction set for high-performance microprocessors by Agner Fog.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">5. \u0415\u0449\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u042d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Eight_queens_puzzle\">\u0437\u0430\u0434\u0430\u0447\u0438 \u043e \u0432\u043e\u0441\u044c\u043c\u0438 \u0444\u0435\u0440\u0437\u044f\u0445<\/a> \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c. \u0415\u0433\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d\u043e \u043d\u0435 \u043e\u0431\u043e\u0433\u0430\u0449\u0435\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0432\u0440\u043e\u0434\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0438\u043b\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<pre><code class=\"bash\">GET &quot;LIBHDR&quot;  GLOBAL $(         COUNT: 200         ALL: 201 $)  LET TRY(LD, ROW, RD) BE         TEST ROW = ALL THEN                 COUNT := COUNT + 1         ELSE $(                 LET POSS = ALL &amp; ~(LD | ROW | RD)                 UNTIL POSS = 0 DO $(                         LET P = POSS &amp; -POSS                         POSS := POSS - P                         TRY(LD + P &lt;&lt; 1, ROW + P, RD + P &gt;&gt; 1)                 $)         $)  LET START() = VALOF $(         ALL := 1         FOR I = 1 TO 12 DO $(                 COUNT := 0                 TRY(0, 0, 0)                 WRITEF(&quot;%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N&quot;, I, COUNT)                 ALL := 2 * ALL + 1         $)         RESULTIS 0 $)<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u0417\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u2013 \u044d\u0442\u043e BCPL \u2013 \u044f\u0437\u044b\u043a, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u043e\u0434\u0438\u043b\u0441\u044f B \u0438 \u0421\u0438. \u0410 \u0438\u0437 \u0421\u0438, \u043a\u0430\u043a \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b C++, Java, C# \u0438 \u0434\u0430\u0436\u0435 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 JavaScript. \u042d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0441\u0442\u0430\u0440. \u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u043d \u043f\u043e\u0441\u043b\u0435 Fortran, Algol, Cobol, Lisp, APL. \u0415\u0433\u043e \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430, \u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Hello World \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 BCPL. \u0422\u043e \u0436\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0435\u0440\u0432\u043e\u0439 MMORPG.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: BCPL From Wikipedia, the free encyclopedia.  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u0417\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u2013 \u044d\u0442\u043e BCPL \u2013 \u044f\u0437\u044b\u043a, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u043e\u0434\u0438\u043b\u0441\u044f B \u0438 \u0421\u0438. \u0410 \u0438\u0437 \u0421\u0438, \u043a\u0430\u043a \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b C++, Java, C# \u0438 \u0434\u0430\u0436\u0435 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 JavaScript. \u042d\u0442\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0441\u0442\u0430\u0440. \u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u043d \u043f\u043e\u0441\u043b\u0435 Fortran, Algol, Cobol, Lisp, APL. \u0415\u0433\u043e \u0441\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0430, \u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Hello World \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 BCPL. \u0422\u043e \u0436\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0435\u0440\u0432\u043e\u0439 MMORPG.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: BCPL From Wikipedia, the free encyclopedia.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">6. \u041e\u041e\u041f (\u0441 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438)<\/font><\/h2>\n<p>  \u0412\u043e\u0442 <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/assembly\/\">\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 .NET<\/a> (\u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043e\u043c \u0432 \u00ab\u044f\u0437\u044b\u043a\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430\u00bb). \u041e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0441 \u043e\u0434\u043d\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c, \u0438\u043c\u0435\u044e\u0449\u0438\u043c \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u201cHello World\u201d.<\/p>\n<pre><code class=\"bash\">\/\/ Metadata version: v2.0.50215 .assembly extern mscorlib {   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )   .ver 2:0:0:0 } .assembly sample {   .custom instance void [mscorlib]System.Runtime.CompilerServices     .CompilationRelaxationsAttribute::.ctor(int32) =       ( 01 00 08 00 00 00 00 00 )   .hash algorithm 0x00008004   .ver 0:0:0:0 } .module sample.exe \/\/ MVID: {A224F460-A049-4A03-9E71-80A36DBBBCD3} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003       \/\/ WINDOWS_CUI .corflags 0x00000001    \/\/  ILONLY \/\/ Image base: 0x02F20000  \/\/ =============== CLASS MEMBERS DECLARATION ===================  .class public auto ansi beforefieldinit Hello        extends [mscorlib]System.Object {   .method public hidebysig static void  Main(string[] args) cil managed   {     .entrypoint     \/\/ \u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u0434\u0430       13 (0xd)     .maxstack  8     IL_0000:  nop     IL_0001:  ldstr      &quot;Hello World!&quot;     IL_0006:  call       void [mscorlib]System.Console::WriteLine(string)     IL_000b:  nop     IL_000c:  ret   } \/\/ \u043a\u043e\u043d\u0435\u0446 \u043c\u0435\u0442\u043e\u0434\u0430 Hello::Main    .method public hidebysig specialname rtspecialname           instance void  .ctor() cil managed   {     \/\/ \u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u0434\u0430       7 (0x7)     .maxstack  8     IL_0000:  ldarg.0     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()     IL_0006:  ret   } \/\/ \u043a\u043e\u043d\u0435\u0446 \u043c\u0435\u0442\u043e\u0434\u0430 Hello::.ctor  } \/\/ \u043a\u043e\u043d\u0435\u0446 \u043a\u043b\u0430\u0441\u0441\u0430 Hello <\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u0414\u0430, \u044d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435. \u042d\u0442\u043e ILAsm (\u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u044f\u0437\u044b\u043a .NET.<br \/>  \u0412\u044b \u0432\u043e\u043b\u044c\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 .NET: GUI, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2013 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439. \u0414\u0430, \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0441\u0447\u0443\u0440 \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u043c \u0438 \u043d\u0435\u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u043c, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u043c\u043e\u0449\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u041f\u043e\u043c\u0438\u043c\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u043d \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/framework\/tools\/ilasm-exe-il-assembler\">docs.microsoft.com\/en-us\/dotnet\/framework\/tools\/ilasm-exe-il-assembler<\/a>.<br \/>  \u0411\u0435\u0441\u0441\u043e\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u0440\u0435\u043a\u043b\u0430\u043c\u0430: \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043d\u0430\u0447\u0430\u043b \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0432 ILAsm \u043c\u0430\u043a\u0440\u043e\u0441\u044b, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f MILasm. \u042d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438. \u0421 \u043d\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f, \u0445\u043e\u0442\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430 \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0433\u043e\u0442\u043e\u0432 \u0432\u0432\u0438\u0434\u0443 \u043d\u0430\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e.  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u0414\u0430, \u044d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435. \u042d\u0442\u043e ILAsm (\u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u044f\u0437\u044b\u043a .NET.<br \/>  \u0412\u044b \u0432\u043e\u043b\u044c\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 .NET: GUI, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2013 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439. \u0414\u0430, \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0441\u0447\u0443\u0440 \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u043c \u0438 \u043d\u0435\u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u043c, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u043c\u043e\u0449\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430. \u041f\u043e\u043c\u0438\u043c\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043e\u043d \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/framework\/tools\/ilasm-exe-il-assembler\">docs.microsoft.com\/en-us\/dotnet\/framework\/tools\/ilasm-exe-il-assembler<\/a>.<br \/>  \u0411\u0435\u0441\u0441\u043e\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u0440\u0435\u043a\u043b\u0430\u043c\u0430: \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043d\u0430\u0447\u0430\u043b \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0432 ILAsm \u043c\u0430\u043a\u0440\u043e\u0441\u044b, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f MILasm. \u042d\u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438. \u0421 \u043d\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0438\u0433\u0440\u0430\u0442\u044c\u0441\u044f, \u0445\u043e\u0442\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430 \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0433\u043e\u0442\u043e\u0432 \u0432\u0432\u0438\u0434\u0443 \u043d\u0430\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">7. \u041e\u041e\u041f (\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438)<\/font><\/h2>\n<p>  \u042d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440 TCP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u043d\u0435\u043c \u0435\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u044b, \u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u043d \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435.<\/p>\n<pre><code class=\"bash\">Namespace current addSubspace: #SimpleTCP! Namespace current: SimpleTCP!  &quot;A simple TCP server&quot; Object subclass: #Server   instanceVariableNames: 'serverSocket socketHandler'   classVariableNames: ''   poolDictionaries: ''   category: ''!  !Server class methodsFor: 'instance creation'!  new: aServerSocket handler: aHandler   | simpleServer |   simpleServer := super new.   simpleServer socket: aServerSocket.   simpleServer handler: aHandler.   simpleServer init.   ^simpleServer !!  !Server methodsFor: 'initialization'!  init   ^self !!  !Server methodsFor: 'accessing'!  socket   ^serverSocket !  socket: aServerSocket   serverSocket := aServerSocket.   ^self !  handler   ^socketHandler !  handler: aHandler   socketHandler := aHandler.   ^self !!  !Server methodsFor: 'running'!  run   | s |   [     serverSocket waitForConnection.     s := (serverSocket accept).     self handle: s   ] repeat !  !Server methodsFor: 'handling'!  handle: aSocket   socketHandler handle: aSocket !!<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u041f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 GNU SmallTalk \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u043b\u0438\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u043d\u043d\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u041e\u041e\u041f. \u0423 \u043d\u0435\u0433\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u043d\u043e \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u044d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u043d\u0435 \u0438\u043c\u0435\u0435\u0442. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u0430\u043b\u0435\u043a \u043e\u0442 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: Building a simple chat server with GNU Smalltalk using class inheritance \u0438\u0437 <a href=\"http:\/\/smalltalk.gnu.org\/wiki\/examples\">smalltalk.gnu.org\/wiki\/examples<\/a>\\  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u042d\u0442\u043e \u043d\u0435 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440. \u041f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 GNU SmallTalk \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u043b\u0438\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0430\u043d\u043d\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u041e\u041e\u041f. \u0423 \u043d\u0435\u0433\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u043d\u043e \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0433\u043e \u044d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u043d\u0435 \u0438\u043c\u0435\u0435\u0442. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u0430\u043b\u0435\u043a \u043e\u0442 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: Building a simple chat server with GNU Smalltalk using class inheritance \u0438\u0437 <a href=\"http:\/\/smalltalk.gnu.org\/wiki\/examples\">smalltalk.gnu.org\/wiki\/examples<\/a>\\  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0435 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438. \u0414\u0430, \u043a\u043e\u0434 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0438\u0437\u043e\u0432, \u043d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u043d\u0430\u0441\u0442\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438, \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u0438 \u043c\u0430\u043a\u0440\u043e\u0441\u0430\u043c\u0438, \u0441\u0434\u0435\u043b\u0430\u0432 \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c.<\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u0440\u0443\u0434\u043d\u043e, \u0438 \u043e\u043d \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0440\u0435\u0437\u043c\u0435\u0440\u043d\u043e \u043f\u0435\u0434\u0430\u043d\u0442\u0438\u0447\u0435\u043d. \u041f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0443\u0440\u043e\u0432\u0435\u043d\u044c.<\/p>\n<p>  <a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=Bright_Translate&amp;utm_campaign=uvereny,_chto_otlichite_assembler_ot_drugix_yazykov\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ou\/g5\/kh\/oug5kh6sjydt9llengsiebnp40w.png\"><\/a><\/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=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/554910\/\"> https:\/\/habr.com\/ru\/company\/ruvds\/blog\/554910\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/554910\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ih\/i6\/iw\/ihi6iwiy7wna07-gag5fy5ywyce.png\"><\/div>\n<p><\/a><\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u043c\u0435\u043b\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0432 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430, \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u0441 \u0432\u044b\u0432\u043e\u0434\u0430\u043c\u0438, \u0430 \u043b\u0443\u0447\u0448\u0435 \u043f\u0440\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0437\u0433\u044f\u043b\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u0433\u043e \u0432 \u0438\u043d\u043e\u043c \u0441\u0432\u0435\u0442\u0435, \u043d\u043e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442 \u0432\u0430\u0448\u0443 \u043e\u0441\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0444\u0435\u0440\u0435.<\/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-322437","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322437","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=322437"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322437\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=322437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=322437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=322437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}