{"id":348199,"date":"2023-05-31T21:00:36","date_gmt":"2023-05-31T21:00:36","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=348199"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=348199","title":{"rendered":"<span>\u041d\u0435\u0442 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439? \u041d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u2014 \u0424\u043e\u0440\u0442-\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<h2>\u041d\u0435\u0442 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439? \u041d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u2014 \u0424\u043e\u0440\u0442-\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/h2>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434<br \/> <a href=\"https:\/\/compilercrim.es\/bootstrap\/branches\/\" rel=\"noopener noreferrer nofollow\">\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442:<\/a><br \/> 22 \u0438\u044e\u043d\u044f 2021 \u0433. \u00b7 36 \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u0435\u043d\u0438\u044f<\/p>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0440\u0438\u0438 <a href=\"https:\/\/compilercrim.es\/bootstrap\/\" rel=\"noopener noreferrer nofollow\">\u00ab\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u00bb<\/a> , \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u0441 512-\u0431\u0430\u0439\u0442\u043d\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0438 \u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u043e\u0441\u0442:<br \/> <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c FORTH \u0432 512 \u0431\u0430\u0439\u0442\u0430\u0445<\/a><br \/> \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0441\u0442:<br \/> <a href=\"https:\/\/compilercrim.es\/bootstrap\/asmless\/\" rel=\"noopener noreferrer nofollow\">\u0412\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f<\/a><\/p>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0441\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Miniforth, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043a\u0443\u0434\u0435\u043d. \u041e\u0434\u0438\u043d \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0434\u0430\u0436\u0435 <a href=\"https:\/\/www.reddit.com\/r\/Forth\/comments\/nxgg20\/fitting_a_forth_in_512_bytes\/h1eq4ok\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u044f\u0432\u0438\u043b<\/a> , \u0447\u0442\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0435\u0442\u0432\u0435\u0439 \u043d\u0435\u0442, \u043e\u043d \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u044b\u043c \u043f\u043e \u0422\u044c\u044e\u0440\u0438\u043d\u0433\u0443 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u0434\u043e\u0441\u0442\u043e\u0438\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0424\u043e\u0440\u0442\u043e\u043c! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u0442 \u0434\u0435\u043d\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u043e\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0448\u0438\u0431\u0430\u043b\u0438\u0441\u044c.<\/p>\n<p>\u0412 <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435<\/a> \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u044f\u0434\u0440\u043e Miniforth \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e. \u041f\u043e\u0434\u0432\u043e\u0434\u044f \u0438\u0442\u043e\u0433, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>+ - ! @ c! c@ dup drop swap emit u. &gt;r r&gt; [ ] : ; load s: <\/code><\/pre>\n<p>\u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043d\u0430 Forth, \u043d\u043e <code>load<\/code>\u043c\u043e\u0433\u0443\u0442 <code>s:<\/code>\u043d\u0443\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. <code>load ( u -- )<\/code>\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <a href=\"https:\/\/forth-standard.org\/standard\/block\/LOAD\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c<\/a> \u0438\u0437 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u043b\u043e\u0432 Block \u2014 \u043e\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0431\u043b\u043e\u043a <code>u<\/code>\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043a\u0430\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Forth. <a href=\"#load-difference\" rel=\"noopener noreferrer nofollow\"><sup>1<\/sup><\/a> \u042d\u0442\u043e \u0441\u043b\u043e\u0432\u043e \u0438\u043c\u0435\u0435\u0442 \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0433\u043e \u0424\u043e\u0440\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u043d\u0430 \u0434\u0438\u0441\u043a, \u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c <code>1 load<\/code>.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u044f \u0432\u043a\u043b\u044e\u0447\u0438\u043b <code>s: ( buf -- buf+len )<\/code>, \u0447\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 \u2014 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 <code>buf<\/code>. \u0410\u0434\u0440\u0435\u0441 \u043a\u043e\u043d\u0446\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a\u0435, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>s:<\/code>\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f Miniforth, \u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"#forth-style-assemblers\" rel=\"noopener noreferrer nofollow\">\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0432 \u0441\u0442\u0438\u043b\u0435 Forth,<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#disk-i-o\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a<\/a> \u0438<\/p>\n<\/li>\n<li>\n<p><a href=\"#branches\" rel=\"noopener noreferrer nofollow\">\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043d\u0430\u0448 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0435\u0442\u0432\u0435\u0439.<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043b\u044c\u0437\u044f \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431. \u0423 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u0432\u0435\u0439 \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c \u0424\u043e\u0440\u0442\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 Miniforth, \u0438 \u044f \u043d\u0430\u043c\u0435\u0440\u0435\u043d \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0439 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u043f\u043e\u043a\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0430\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041c\u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432.<\/p>\n<p>\u0422\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439  \u043d\u0435 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u043e \u0438\u043c\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b. \u0414\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 <a href=\"https:\/\/github.com\/meithecatte\/miniforth\/tree\/post2\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430 GitHub<\/a> . \u041f\u0440\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u0434\u0430 \u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0435\u0449\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438\u0445 \u043d\u0435\u0442 \u0432 \u043a\u043e\u0434\u0435.<\/p>\n<h3>s:- \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441<\/h3>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>1000<\/code>, \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0435\u043a\u0430\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430. \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f, \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0442\u0443\u0434\u0430 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0438. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e <code>InputPtr<\/code>, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>A02<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c <code>run<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u0432\u044b\u0431\u043e\u0440\u0443 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<pre><code>: &gt;in A02 ;  : run &gt;in ! ; <\/code><\/pre>\n<p><code>&gt;in<\/code>\u2014 \u044d\u0442\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0435\u0433\u043e. <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/#to-in\" rel=\"noopener noreferrer nofollow\"><sup>2<\/sup><\/a> \u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445, \u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438:<\/p>\n<pre><code>1000 s: : &gt;in A02 ;  : run &gt;in ! ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>dup u.<\/code>. \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u043e\u0442\u0432\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 <code>101A<\/code>, \u0438 \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 <code>run<\/code>\u043f\u043e\u0437\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f <code>&gt;in<\/code>\u0438 <code>run<\/code>. <a href=\"#redefine\" rel=\"noopener noreferrer nofollow\"><sup>3<\/sup><\/a><\/p>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e, \u044f \u043f\u0435\u0447\u0430\u0442\u0430\u043b \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>u.<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c <code>run<\/code>\u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0444\u0435\u0440\u0430. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u043d\u0430\u0432\u0435\u0440\u0445\u0443 \u0441\u0442\u0435\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a Miniforth \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f <a href=\"#variables\" rel=\"noopener noreferrer nofollow\">\u0441 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0435\u043a\u0435<\/a> , \u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f.<\/p>\n<h3>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/h3>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u043c\u0441\u044f \u043e\u0431 \u044d\u0442\u043e\u043c \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u0435\u043a\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043e\u0434\u043d\u0430 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/> \u0421\u0442\u0435\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<pre><code>latest st base dp disk# <\/code><\/pre>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c <code>constant disk#<\/code>, <code>constant here<\/code>\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 <code>constant<\/code>, \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f (\u043f\u043e\u043a\u0430). <a href=\"https:\/\/forth-standard.org\/standard\/core\/LITERAL\" rel=\"noopener noreferrer nofollow\"><code>literal<\/code><\/a>\u0431\u043b\u0438\u0436\u0435, \u043d\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 <code>here<\/code>\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 <code>latest<\/code>\u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u043e\u0439\u0442\u0438 \u043d\u0430\u0441\u0443\u0449\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>[<\/code>\u0438 <code>]<\/code>, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439:<\/p>\n<pre><code>swap : dp 0 [ dup @ 2 - ! ] ; <\/code><\/pre>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u043e \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e. <code>dp<\/code>\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <em>\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445<\/em> . \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f back <code>here<\/code>, \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e <code>here<\/code>\u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a<\/p>\n<pre><code>: here dp @ ; <\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a, \u043d\u0430\u0448\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bcf\/94e\/1b0\/bcf94e1b090348dc5f9bdbe3b9a94025.svg\" alt=\"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0438 \u0438\u043c\u044f.  \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u043e\u0432 DOCOL, LIT \u0438 0. HERE \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u0441\u043b\u0435 0.\"><\/p>\n<div><figcaption>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0438 \u0438\u043c\u044f.  \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u043e\u0432 DOCOL, LIT \u0438 0. HERE \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u0441\u043b\u0435 0.<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>dp<\/code>\u0442\u0430\u043c, \u0433\u0434\u0435 <code>0<\/code>\u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 <code>swap<\/code>\u043f\u0435\u0440\u0435\u0434 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u0430\u0434\u0440\u0435\u0441 <code>dp<\/code>\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 <code>dup @ 2 -<\/code>\u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044f\u0447\u0435\u0439\u043a\u0443, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e <code>0<\/code>, \u0438 <code>!<\/code>\u043c\u044b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0435\u0435. \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, the <code>0<\/code>\u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u043b.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c <code>cell+<\/code>\u0438 <code>cells<\/code>. \u041f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u0442\u0430\u043a \u0440\u0430\u043d\u043e, \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0435\u0449\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u2014 \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 32-\u0431\u0438\u0442\u043d\u044b\u0439 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u0434\u0430 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0435\u043b\u043e \u043e\u0442 \u0448\u0438\u0440\u0438\u043d\u044b \u044f\u0447\u0435\u0439\u043a\u0438.<\/p>\n<pre><code>: cell+ 2 + ; : cells dup + ; <\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c <code>dp<\/code>, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c <code>allot<\/code>. \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0430 \u0432 <code>+!<\/code>:<\/p>\n<pre><code>: +! ( u addr -- ) dup &gt;r @ + r&gt; ! ; : allot ( len -- ) dp +! ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c <code>c,<\/code>\u0438 <code>,<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0431\u0430\u0439\u0442 \u0438\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438:<\/p>\n<pre><code>: c, here c! 1 allot ; : , here ! 2 allot ; <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c <code>lit,<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438\u0442\u0435\u0440\u0430\u043b \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0430\u0434\u0440\u0435\u0441 <code>LIT<\/code>\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043b\u0438\u0442\u0435\u0440\u0430\u043b. \u041c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0432 <code>'lit<\/code>\u00ab\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0435\u00bb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u044e\u043a\u0430, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0434\u043b\u044f <code>dp<\/code>:<\/p>\n<pre><code>: 'lit 0 [ here 4 - @ here 2 - ! ] ; : lit, 'lit , , ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0435\u043a\u0435:<\/p>\n<pre><code>: disk# [ lit, ] ; : base [ lit, ] ; : st [ lit, ] ; : latest [ lit, ] ; <\/code><\/pre>\n<p>\u042f \u0432\u044b\u0437\u044b\u0432\u0430\u044e \u0435\u0433\u043e <code>st<\/code>\u0432\u043c\u0435\u0441\u0442\u043e <code>state<\/code>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>state<\/code>\u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u044f\u0447\u0435\u0439\u043a\u0443, \u0433\u0434\u0435 true \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e, \u0430 <code>st<\/code>\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u0431\u0430\u0439\u0442, \u0433\u0434\u0435 true \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044e.<\/p>\n<h3>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043f\u043e\u0448\u0430\u043b\u0438\u0442\u044c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u0432\u043e\u0437\u0434\u0443\u0445\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0432 \u0438\u0445. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442 \u0438\u0445 \u0432 \u0447\u0438\u0441\u043b\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0434\u0430\u0432 \u0432\u0430\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>srcpos u.<\/code>\u0432\u044b\u0445\u043e\u0434\u044b <code>DA9C<\/code>. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u044b \u0440\u0438\u0441\u043a\u0443\u0435\u0442\u0435 \u0442\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0434\u0443\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c, \u043b\u0438\u0431\u043e \u0441 \u0447\u0435\u043c-\u0442\u043e \u0435\u0449\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e \u0441\u0442\u0435\u043a\u043e\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044f.<\/p>\n<p>\u042f <em>\u0431\u044b\u043b \u043d\u0435<\/em> \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0448\u0430\u043b\u043e\u0441\u0442\u0435\u0439, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442. \u042f\u0434\u0440\u043e \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043e \u043d\u0430 <code>:<\/code>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u043e \u0443\u0436\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u043e\u0432\u043e \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u041d\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438. <code>[<\/code>\u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e, \u043d\u043e \u044d\u0442\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0438 \u043c\u044b <code>postpone<\/code>\u043f\u043e\u043a\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043d\u0430\u0448 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c:<\/p>\n<pre><code>: [[ 1 st c! ; <\/code><\/pre>\n<p>\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 <code>;<\/code>. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>exit<\/code>. \u041c\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 <code>exit<\/code>, \u043d\u043e \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>here 2 - @ : 'exit [ lit, ] ; <\/code><\/pre>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u043a\u0430\u043a \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f <code>constant<\/code>:<\/p>\n<pre><code>: constant \\ example: 42 constant the-answer   : [[ lit, 'exit , ; <\/code><\/pre>\n<p><code>create<\/code>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e. \u0422\u0438\u043f\u0438\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<pre><code>create some-array 10 cells allot <\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <code>3 cells<\/code>\u2014 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 <code>LIT<\/code>, \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 <code>EXIT<\/code>.<\/p>\n<pre><code>: create : [[ here 3 cells + lit, 'exit , ; <\/code><\/pre>\n<p><code>variable<\/code>, \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e <code>allot<\/code>\u043e\u0434\u043d\u0430 \u044f\u0447\u0435\u0439\u043a\u0430:<\/p>\n<pre><code>: variable create 1 cells allot ; <\/code><\/pre>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435s:<\/h3>\n<p>\u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c <code>s:<\/code>\u0438 <code>run<\/code>\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u043c. <code>srcpos<\/code>\u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u043e\u043d\u0435\u0446 \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 <code>checkpoint<\/code>\u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0447\u0430\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1a4\/774\/fc4\/1a4774fc405650a493c154be6cc3ae0d.svg\" alt=\"\u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0431\u044b \u0441 1000, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u0431\u044b \u043d\u0430 srcpos, \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435.\"><\/p>\n<div><figcaption>\u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0431\u044b \u0441 1000, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u0431\u044b \u043d\u0430 srcpos, \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435.<\/figcaption><\/div>\n<\/figure>\n<pre><code>variable checkpoint variable srcpos <\/code><\/pre>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 <code>s:<\/code>\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>s+<\/code>:<\/p>\n<pre><code>: s+ ( -- ) srcpos @ s: dup u. srcpos ! ; <\/code><\/pre>\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c. \u042d\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u0432\u044b\u0440\u044f\u0442\u044c\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442\u043d\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448 \u0431\u0443\u0444\u0435\u0440 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>doit<\/code>:<\/p>\n<pre><code>: move-checkpoint ( -- ) srcpos @ checkpoint ! ; : doit ( -- ) checkpoint @ run move-checkpoint ; <\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0447\u0435\u043c\u0443-\u0442\u043e \u0432\u0440\u043e\u0434\u0435<\/p>\n<pre><code>1234 srcpos ! move-checkpoint <\/code><\/pre>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u043e\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.<\/p>\n<h3>\u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f<\/h3>\n<p>\u041e\u0431\u044b\u0447\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>    mov ax, bx <\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 <em>\u044d\u0442\u0438\u043c<\/em> , \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043e\u0434\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440, \u0430 \u043c\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u0432\u0435\u0442\u0432\u0435\u0439. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u2014 \u0435\u0441\u043b\u0438 AT&amp;T \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u0438 \u043c\u044b \u0442\u043e\u0436\u0435. \u0427\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0424\u043e\u0440\u0442-\u0441\u043b\u043e\u0432\u043e\u043c, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043a:<\/p>\n<pre><code>    bx ax movw-rr, <\/code><\/pre>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a <code>src dst instr,<\/code>, \u0441 \u043f\u043e\u0442\u043e\u043a\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e. \u042d\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u043a\u043e\u0434\u0435 Forth, \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u043c \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 Intel. \u041f\u043e\u0441\u043b\u0435 \u0434\u0435\u0444\u0438\u0441\u0430 \u044f \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0442\u0438\u043f\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u2014 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 ( <code>r<\/code>), \u043f\u0430\u043c\u044f\u0442\u044c ( <code>m<\/code>) \u0438\u043b\u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 ( <code>i<\/code>). \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043a\u0430\u043a \u0432 \u0431\u0430\u0439\u0442, \u0442\u0430\u043a \u0438 \u0432 \u0441\u043b\u043e\u0432\u043e, \u0438\u043c\u0435\u044e\u0442 \u0441\u0443\u0444\u0444\u0438\u043a\u0441 <code>b<\/code>\u0438\u043b\u0438 <code>w<\/code>, \u043a\u0430\u043a \u0432 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 AT&amp;T.<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u0438\u043f\u044b \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043e\u0432 Forth. \u041e\u0431\u044b\u0447\u043d\u043e \u043d\u0438\u0447\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u043c\u0430, \u0447\u0442\u043e\u0431\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 \u0432\u0435\u0442\u0432\u044f\u0449\u0438\u0445\u0441\u044f \u0441\u043b\u043e\u0432 (\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0438 \u0435\u0441\u0442\u044c \u043d\u0430\u0448\u0430 \u0446\u0435\u043b\u044c ?).<\/p>\n<h3>\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 x86<\/h3>\n<p>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,<\/p>\n<pre><code>: stosb, AA c, ;  : stosw, AB c, ;  : lodsb, AC c, ;  : lodsw, AD c, ; <\/code><\/pre>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0435 <em>\u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b<\/em> \u2014 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0434\u0443\u0442 <em>\u0441\u0440\u0430\u0437\u0443<\/em> \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre><code>: int, CD c, c, ; <\/code><\/pre>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u0432 \u0431\u0430\u0439\u0442\u0435 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0442\u0430\u043a\u0430\u044f \u043a\u0430\u043a mov cx, 0x1234`, \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043c\u043b\u0430\u0434\u0448\u0438\u043c\u0438 3 \u0431\u0438\u0442\u0430\u043c\u0438 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/89d\/270\/2c1\/89d2702c167e730b617c0f413bb4adae.svg\" alt=\"\u041c\u043b\u0430\u0434\u0448\u0438\u0435 3 \u0431\u0438\u0442\u0430 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u00abmov r16, imm16\u00bb \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043d\u043e\u043c\u0435\u0440 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b.\"><\/p>\n<div><figcaption>\u041c\u043b\u0430\u0434\u0448\u0438\u0435 3 \u0431\u0438\u0442\u0430 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u00abmov r16, imm16\u00bb \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043d\u043e\u043c\u0435\u0440 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b.<\/figcaption><\/div>\n<\/figure>\n<p>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438:<\/p>\n<pre><code>: ax 0 ;  : cx 1 ;  : dx 2 ;  : bx 3 ;  : sp 4 ;  : bp 5 ;  : si 6 ;  : di 7 ; <\/code><\/pre>\n<p>\u0412\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b\u0438, \u044d\u0442\u043e \u0438\u0434\u0435\u0442 <code>AX CX DX BX<\/code>. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u0432 Intel \u0437\u0430\u0431\u044b\u043b \u0441\u0432\u043e\u0438 \u0430\u0437\u0431\u0443\u043a\u0438, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u044d\u0442\u0438\u043c\u043e\u043b\u043e\u0433\u0438\u044f \u044d\u0442\u0438\u0445 \u0438\u043c\u0435\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a: \u00ab\u0410\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440 <strong>,<\/strong> \u0421\u0447\u0435\u0442\u0447\u0438\u043a <strong>,<\/strong> \u0414\u0430\u043d\u043d\u044b\u0435 <strong>,<\/strong> \u0411\u0430\u0437\u0430 <strong>\u00bb<\/strong> , \u0438 \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u0431\u0443\u043a\u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435. \u0418\u043b\u0438, \u0432\u043e \u0432\u0441\u044f\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432 \u044d\u0442\u043e\u043c \u0441\u0443\u0442\u044c. <a href=\"https:\/\/retrocomputing.stackexchange.com\/questions\/5121\/why-are-first-four-x86-gprs-named-in-such-unintuitive-order\" rel=\"noopener noreferrer nofollow\">\u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0430 retrocomputing.SE<\/a> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0432\u0435\u0440\u0434\u044b\u0445 \u0444\u0430\u043a\u0442\u043e\u0432.<\/p>\n<p>\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>: al 0 ;  : cl 1 ;  : dl 2 ;  : bl 3 ;  : ah 4 ;  : ch 5 ;  : dh 6 ;  : bh 7 ; <\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 <code>mov<\/code>s:<\/p>\n<pre><code>: movw-ir, B8 + c, , ; : movb-ir, B0 + c, c, ; <\/code><\/pre>\n<p>\u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>ACAB bx movw-ir, 42 al movb-ir, <\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 8-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441 <code>movb<\/code>, \u0438 16-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441 <code>movw<\/code>.<\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, <code>incw\/decw<\/code>\u0438 <code>push\/pop<\/code>:<\/p>\n<pre><code>: incw, 40 + c, ; : decw, 48 + c, ; : push, 50 + c, ; : pop,  58 + c, ; <\/code><\/pre>\n<h3>ModR\/M<\/h3>\n<p>\u0421\u0430\u043c\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u0442\u044c \u0434\u0435\u043b\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0430\u0439\u0442 <em>ModR\/M<\/em> . \u042d\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u0430\u043a <code>add ax, [bx+si+16]<\/code>, \u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0438 \u0437\u0430 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435, \u043a\u0430\u043a <code>mov ax, bx<\/code>.<\/p>\n<p>\u0421\u0430\u043c \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0448\u0430\u0431\u043b\u043e\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>mov r16, r\/m16<\/code>. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u043b\u0438\u0431\u043e \u043f\u0430\u043c\u044f\u0442\u044c. \u0411\u0430\u0439\u0442 ModR\/M, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430 \u043a\u043e\u0434\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0434\u0435\u0442\u0430\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/168\/82c\/d57\/16882cd5757ced446ab9ccd434365db5.svg\" alt=\"\u0411\u0430\u0439\u0442 ModR\/M \u0438\u0434\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.  \u042d\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u0441 \u0442\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u044f\u043c\u0438.  \u0421\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0438\u0442\u044b 7 \u0438 6 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u043f\u043e\u043b\u0435 mod. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u043c\u043b\u0430\u0434\u0448\u0438\u043c\u0438 \u0442\u0440\u0435\u043c\u044f \u0431\u0438\u0442\u0430\u043c\u0438 \u043e\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 r\/m.  \u0422\u0440\u0438 \u0431\u0438\u0442\u0430 \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c.\"><\/p>\n<div><figcaption>\u0411\u0430\u0439\u0442 ModR\/M \u0438\u0434\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.  \u042d\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u0441 \u0442\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u044f\u043c\u0438.  \u0421\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0438\u0442\u044b 7 \u0438 6 \u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u043f\u043e\u043b\u0435 mod. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u043c\u043b\u0430\u0434\u0448\u0438\u043c\u0438 \u0442\u0440\u0435\u043c\u044f \u0431\u0438\u0442\u0430\u043c\u0438 \u043e\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 r\/m.  \u0422\u0440\u0438 \u0431\u0438\u0442\u0430 \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c.<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0440\u0438 \u0431\u0438\u0442\u0430 \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 <code>r16<\/code>\u0447\u0430\u0441\u0442\u044c, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0447\u0430\u0441\u0442\u044c <code>r\/m16<\/code>\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u043f\u043e\u043b\u0435 reg\/[regs]<\/p>\n<\/th>\n<th>\n<p align=\"left\">mod: 00<\/p>\n<\/th>\n<th>\n<p align=\"left\">mod: 01<\/p>\n<\/th>\n<th>\n<p align=\"left\">mod: 10<\/p>\n<\/th>\n<th>\n<p align=\"left\">mod: 11<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BX+SI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+SI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+SI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">AL\/AX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BX+DI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+DI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+DI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">CL\/CX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+SI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+SI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+SI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">DL\/DX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+DI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+DI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+DI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">BL\/BX<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">[SI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[SI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[SI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0425\/SP<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">5<\/p>\n<\/td>\n<td>\n<p align=\"left\">[DI]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[DI+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[DI+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">CH\/BP<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">6<\/p>\n<\/td>\n<td>\n<p align=\"left\">[d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[BP+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">DH\/SI<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+d8]<\/p>\n<\/td>\n<td>\n<p align=\"left\">[B\u0425+d16]<\/p>\n<\/td>\n<td>\n<p align=\"left\">BH\/DI<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0435\u0441\u043b\u0438 \u0432 \u043f\u043e\u043b\u0435 <em>mod<\/em> \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>3<\/code>, \u0442\u043e \u043c\u043b\u0430\u0434\u0448\u0438\u0435 3 \u0431\u0438\u0442\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0447\u0442\u043e \u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u0441 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0438\u0431\u043e 8, \u043b\u0438\u0431\u043e 16 \u0431\u0438\u0442. \u0423\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438\u0434\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0431\u0430\u0439\u0442\u0430 ModR\/M \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0437\u043d\u0430\u043a\u0443 \u0434\u043e 16 \u0431\u0438\u0442.<\/p>\n<p>\u0415\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c: \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c a <code>[BP]<\/code>\u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0442\u0430\u043a\u043e\u0439 \u043a\u0430\u043a <code>mov bx, [0x1234]<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0434\u0442\u0438 \u043f\u043e\u0441\u043b\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 ModR\/M. <a href=\"#modrm-order\" rel=\"noopener noreferrer nofollow\"><sup>4<\/sup><\/a> \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437-\u0437\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u043e \u0432\u044b\u0433\u043e\u0434\u043d\u043e <code>[BP]<\/code>\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e.<code>DI<\/code><\/p>\n<p>\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u0432\u0443\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0412\u043e\u0437\u044c\u043c\u0435\u043c <code>xor cx, dx<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d1a\/158\/527\/d1a1585272aa3f316a8816f541b3fc8c.svg\" alt=\"\u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u00abxor r\/m16, r16\u00bb \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c DX \u0432 \u043f\u043e\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 CX \u2014 \u0432 \u043f\u043e\u043b\u0435 r\/m.  \u042d\u0442\u043e \u0434\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u044b 31 D1.  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u00abxor r16, r\/m16\u00bb \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 ModR\/M \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u043e\u0439 \u0436\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u0438 33 CA.\"><\/p>\n<div><figcaption>\u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u00abxor r\/m16, r16\u00bb \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c DX \u0432 \u043f\u043e\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 CX \u2014 \u0432 \u043f\u043e\u043b\u0435 r\/m.  \u042d\u0442\u043e \u0434\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u044b 31 D1.  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u00abxor r16, r\/m16\u00bb \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 ModR\/M \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u043e\u0439 \u0436\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u0438 33 CA.<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438. \u042f \u0432\u044b\u0431\u0440\u0430\u043b \u0441\u043b\u043e\u0432\u043e \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 ModR\/M , \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435, \u0447\u0442\u043e \u0432 \u043f\u043e\u043b\u0435 <code>rm-r,<\/code>\u0435\u0441\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c emory, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u0423 \u043d\u0430\u0441 \u043d\u0435\u0442 \u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0439, \u043d\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c:<code>r``m``r<\/code><\/p>\n<pre><code>: 2* dup + ; : 3shl 2* 2* 2* ; : rm-r, ( reg-as-r\/m reg -- ) 3shl + C0 + c, ; <\/code><\/pre>\n<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <code>rm-r,<\/code>\u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 <code>r\/m16, r16<\/code>\u2014 \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0431\u044b <code>swap<\/code>\u0434\u0432\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430:<\/p>\n<pre><code>: movw-rr, 8B c, rm-r, ; : addw-rr, 03 c, rm-r, ; : orw-rr, 0B c, rm-r, ; : andw-rr, 23 c, rm-r, ; : subw-rr, 2B c, rm-r, ; : xorw-rr, 33 c, rm-r, ; : cmpw-rr, 3B c, rm-r, ; <\/code><\/pre>\n<p>\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0435 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u044b \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.<\/p>\n<pre><code>: [bx+si] 0 ;  ; [bx+di] 1 ;  ; [bp+si] 2 ;  ; [bp+di] 3 ; : [si] 4 ;  ; [di] 5 ;  ; [#] 6 ;  ; [bp] 6 ;  ; [bx] 7 ; <\/code><\/pre>\n<p><code>[#]<\/code>\u0440\u0435\u0436\u0438\u043c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0441\u043e\u0431\u0438\u0440\u0430\u044f \u0430\u0434\u0440\u0435\u0441 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440<\/p>\n<pre><code>[#] ax movw-mr, some-addr , <\/code><\/pre>\n<p>\u042f \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e <code>[bp]<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u0435\u0442 \u0441 <code>[#]<\/code>, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u043b\u043e\u0432\u0430 \u0440\u0435\u0436\u0438\u043c\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 <code>[??+d8]<\/code>\u0438 <code>[??+d16]<\/code>.<\/p>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e <code>rm-r,<\/code>\u0438\u043c\u0435\u0435\u043c <code>m-r,<\/code>:<\/p>\n<pre><code>: m-r, ( mem reg -- ) 3shl + c, ; <\/code><\/pre>\n<p><code>r-m,<\/code>\u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>: r-m, ( reg mem -- ) swap m-r, ; <\/code><\/pre>\n<p>\u041d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0441 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, <code>mov<\/code>\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e s:<\/p>\n<pre><code>: movw-mr, 8B c, m-r, ; : movw-rm, 89 c, r-m, ; <\/code><\/pre>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u043e\u0434\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u0430 ModR\/M. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u043d\u0434 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>not bx<\/code>\u0438\u043b\u0438 <code>jmp ax<\/code>), <code>r\/m<\/code>\u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0442\u044b \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 Intel \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>opcode \/regbits<\/code>. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043f\u0440\u044f\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u2014 \u044d\u0442\u043e <code>FF \/4<\/code>, \u0430 \u043d\u0435\u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u044b\u0437\u043e\u0432 \u2014 \u044d\u0442\u043e <code>FF \/2<\/code>\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0432\u0435\u0434\u044f \u043d\u0443\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c <code>rm-r,<\/code>.<\/p>\n<pre><code>: jmp-r, FF c, 4 rm-r, ; : notw-r, F7 c, 2 rm-r, ; <\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u2014 \u0432\u044b\u0437\u0432\u0430\u0442\u044c normal <code>:<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u043e\u0442\u0430\u0442\u044c <code>dp<\/code>\u043d\u0430 \u0442\u0440\u0438 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430\u0437\u0430\u0434, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0437\u043e\u0432 <code>DOCOL<\/code>:<\/p>\n<pre><code>: :code : [[ here 3 - dp ! ; <\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u043c\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c <code>NEXT<\/code>:<\/p>\n<pre><code>: next, lodsw, ax jmp-r, ; <\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e <code>next,<\/code>\u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>:code<\/code>\u2014 \u044d\u0442\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 \u043c\u0430\u043a\u0440\u043e\u0441\u0430 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e <code>1+<\/code>:<\/p>\n<pre><code>:code 1+ bx incw, next, <\/code><\/pre>\n<h3>\u0414\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434<\/h3>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a. \u041a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 <code>load<\/code>, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0434\u0438\u0441\u043a\u043e\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c <code>int 0x13<\/code>. \u041e\u0434\u043d\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u0443\u0436\u0438\u0442\u044c \u043a\u0430\u043a \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 <code>AX<\/code>\u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e. \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c <code>SI<\/code>\u2014 \u044f \u0438\u043c\u0435\u043b \u043d\u0435\u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435 <a href=\"https:\/\/twitter.com\/meithecatte\/status\/1403443794842882055\" rel=\"noopener noreferrer nofollow\">\u0443\u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0438<\/a> .<\/p>\n<pre><code>create packet 10 allot :code int13   si push,              \\ push si   packet si movw-ir,    \\ mov si, packet   bx ax movw-rr,        \\ mov ax, bx   disk# dl movb-ir,     \\ mov dl, disk#   13 int,               \\ int 0x13   ax bx movw-rr,        \\ mov bx, ax   si pop,               \\ pop si next, <\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>AX<\/code>back \u0432 \u0441\u0442\u0435\u043a\u0435. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 <code>AH<\/code>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c <code>packet<\/code>\u0434\u0430\u043d\u043d\u044b\u0435, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432\u0430\u0440\u0438\u0430\u043d\u0442, <code>,<\/code>\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e <code>here<\/code>:<\/p>\n<pre><code>variable pos : pos, ( val -- ) pos @ ! 2 pos +! ; : make-packet ( block buffer -- )   packet pos !   10 pos, \\ size of packet   2 pos,  \\ sector count   pos, 0 pos, \\ buffer address   2* pos, 0 pos, 0 pos, 0 pos, \\ LBA ; <\/code><\/pre>\n<p>\u0414\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>AH = 0x42<\/code>, \u043a\u0430\u043a \u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0417\u0430\u043f\u0438\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <code>AH = 0x43<\/code>, \u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, <code>AL<\/code>\u0445\u043e\u0442\u0438\u043c \u043b\u0438 \u043c\u044b, \u0447\u0442\u043e\u0431\u044b BIOS \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u0437\u0430\u043f\u0438\u0441\u044c \u2014 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>0x02<\/code>.<\/p>\n<pre><code>: read-block make-packet 4200 int13 ; : write-block make-packet 4302 int13 ; <\/code><\/pre>\n<h3>\u041c\u0435\u0440\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>\u0411\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0430\u0448 \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u0441\u043e\u0431\u0440\u0430\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e. \u0412 \u0438\u0434\u0435\u0430\u043b\u0435 \u043c\u044b \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 hexdump, \u043d\u043e \u0443 \u043d\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0442\u044c\u0441\u044f. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0443\u0436\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u043e\u0434\u0440\u044f\u0434:<\/p>\n<pre><code>: p ( buf -- buf+1 ) dup c@ u. 1 + ; \\ later... here 10 - p p p p p p p p p p p p p p p p drop <\/code><\/pre>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u2014 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e, \u0447\u0435\u0433\u043e \u043c\u044b \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u0438, \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u043e \u0432 \u0441\u0442\u0435\u043a \u2014 \u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u043f\u043b\u043e\u0445\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0447\u0438\u0441\u043b\u0430. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c <code>dup u.<\/code>: \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0435\u043a \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0442\u0432\u0435\u0442\u0443 <code>E0E<\/code>, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0438\u0437-\u0437\u0430 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u043e\u0433\u043e \u043e\u043f\u0443\u0441\u0442\u043e\u0448\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043b\u0438. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0431\u0440\u0430\u043b <code>movb-it,<\/code>\u0432\u043c\u0435\u0441\u0442\u043e <code>movb-ir,<\/code>.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/189\/307\/ce2\/189307ce24bf7be386fab7713e9d9ccf.jpg\" alt=\"\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0437\u0433\u043b\u044f\u0434\u043e\u0432 \u0438 \u0442\u044b\u043a\u043e\u0432 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0443.\"><\/p>\n<div><figcaption>\u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0437\u0433\u043b\u044f\u0434\u043e\u0432 \u0438 \u0442\u044b\u043a\u043e\u0432 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0443.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0438\u0441\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b, \u0431\u044b\u043b <code>0 4000 read-block u. 41fe @ u.<\/code>. \u042d\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 <code>AA55<\/code>\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u0435\u043a\u0442\u043e\u0440\u0430. \u0417\u0430\u0442\u0435\u043c \u044f \u0437\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432 \u0431\u043b\u043e\u043a\u0438 1 \u0438 2 \u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041e\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430\u0437\u0430\u0434, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0431\u043b\u043e\u043a, \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043e\u0442 0, \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 LBA \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u044d\u0442\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u0447\u0438\u0441\u0442\u043e \u0433\u0438\u043f\u043e\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439.<\/p>\n<p>\u042f \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043b \u0442\u0435 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u043b\u043e\u043a\u0438 0x101 \u0438 0x102. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u044f \u043c\u043e\u0433\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u043b\u043e\u043c\u0430\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u0431\u043b\u043e\u043a\u043e\u0432.<\/p>\n<h3>\u041f\u0440\u044b\u0436\u043a\u0438<\/h3>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0437\u0430\u0439\u043c\u0435\u043c\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432\u0435\u0442\u0432\u0435\u0439, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u2014 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434. \u0412 x86 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f 8-\u0431\u0438\u0442\u043d\u0430\u044f.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u043a\u043e\u043d\u0446\u0443 <em>\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/em> \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432\u043f\u0435\u0440\u0435\u0434:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bfb\/735\/201\/bfb73520110c48b56cac4c6c59eb4e04.svg\" alt=\"74 02 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 2 \u0431\u0430\u0439\u0442\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.  74 FD, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0432\u0435\u043d -3 \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0434\u043e \u0434\u0432\u0443\u0445, \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u0435\u0442\u043b\u044e \u0441 \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u043c \u0431\u0430\u0439\u0442\u043e\u043c \u0432 \u043d\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u0434\u0432\u0443\u043c\u044f \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430.\"><\/p>\n<div><figcaption>74 02 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 2 \u0431\u0430\u0439\u0442\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.  74 FD, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0432\u0435\u043d -3 \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0434\u043e \u0434\u0432\u0443\u0445, \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u0435\u0442\u043b\u044e \u0441 \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u043c \u0431\u0430\u0439\u0442\u043e\u043c \u0432 \u043d\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u0434\u0432\u0443\u043c\u044f \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430.<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043f\u0440\u044b\u0436\u043a\u043e\u0432, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0434\u0432\u0435 \u043f\u0430\u0440\u044b \u0441\u043b\u043e\u0432 \u2014 \u043e\u0434\u043d\u0443 \u0434\u043b\u044f \u043f\u0440\u044b\u0436\u043a\u043e\u0432 \u0432\u043f\u0435\u0440\u0435\u0434, \u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u0434\u043b\u044f \u043f\u0440\u044b\u0436\u043a\u043e\u0432 \u043d\u0430\u0437\u0430\u0434:<\/p>\n<pre><code>jnz, j&gt; ... &gt;j \\ forward jump j&lt; ... jnz, &lt;j \\ backward jump <\/code><\/pre>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u044b\u0436\u043a\u0430, \u0438 \u0441\u0442\u0440\u0435\u043b\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u00ab\u0432\u043d\u0443\u0442\u0440\u0438\u00bb \u2014 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0432\u0430 \u0441\u043b\u043e\u0432\u0430 \u0440\u044f\u0434\u043e\u043c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c, \u044d\u0442\u0438 \u0441\u0442\u0440\u0435\u043b\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0434\u043e\u0439\u0442\u0438 \u043a\u0430\u043a \u0432\u043b\u0438\u0442\u044b\u0435. \u0414\u0432\u0430 \u0441\u043b\u043e\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043a. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>j&lt;<\/code>\u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435:<\/p>\n<pre><code>: j&lt; here ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>&lt;j<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435:<\/p>\n<pre><code>: &lt;j here 1 + - c, ; <\/code><\/pre>\n<p>\u0414\u043b\u044f \u043f\u0440\u044b\u0436\u043a\u043e\u0432 \u0432\u043f\u0435\u0440\u0435\u0434 \u043c\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0444\u0438\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e\u0437\u0436\u0435:<\/p>\n<pre><code>: j&gt; here 0 c, ; : &gt;j dup &gt;r 1 + here swap - r&gt; c! ; <\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u0430\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043f\u0440\u044b\u0436\u043a\u0430\u043c. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u044b\u0436\u043a\u0438 \u0438\u043c\u0435\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0444\u043b\u0430\u0433 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435, a <code>jc<\/code>\u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 <code>j<\/code>ump, \u0435\u0441\u043b\u0438 <code>b<\/code>elow. \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a <code>je<\/code>\u0438 <code>jz<\/code>, \u043d\u043e \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u0434\u043b\u044f \u043c\u0435\u043d\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043d\u0435 \u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043e\u0431\u0430 \u0438\u043c\u0435\u043d\u0438.<\/p>\n<pre><code>: jb, 72 c, ;  ; jc, 72 c, ;  ; jae, 73 c, ;  ; jnc, 73 c, ; : jz, 74 c, ;  ; jnz, 75 c, ;  ; jbe, 76 c, ;  ; ja, 77 c, ; : jl, 7C c, ;  ; jge, 7D c, ;  ; jle, 7E c, ;  ; jg, 7F c, ; <\/code><\/pre>\n<h3>\u0412\u0435\u0442\u0432\u0438<\/h3>\n<p>\u041f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0442\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/12f\/b8b\/a05\/12fb8ba05ad512493fba2994ff49433e.svg\" alt=\"\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b if-else.  IF \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u0430\u044f \u2014 (0branch), \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u2014 \u0446\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 ELSE.  \u041f\u0435\u0440\u0435\u0434 \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 ELSE \u0432\u0432\u043e\u0434\u0438\u0442 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0435 (\u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435) \u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u044e THEN.\"><\/p>\n<div><figcaption>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b if-else.  IF \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u0430\u044f \u2014 (0branch), \u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u2014 \u0446\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 ELSE.  \u041f\u0435\u0440\u0435\u0434 \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 ELSE \u0432\u0432\u043e\u0434\u0438\u0442 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0435 (\u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435) \u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u044e THEN.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044e \u0438\u043c\u0435\u043d\u0430 \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u043d\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0448\u0438 \u0432\u0435\u0442\u043a\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f <code>(branch)<\/code>, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u043c, \u0438 <code>(0branch)<\/code>, \u0447\u0442\u043e \u0432\u044b\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0441\u0442\u0435\u043a\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u0435\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u043b\u044e.<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0446\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>lodsw<\/code>:<\/p>\n<pre><code>:code (branch)   lodsw,           \\ lodsw   ax si movw-rr,   \\ mov si, ax next, <\/code><\/pre>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432\u0430\u0436\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0447\u0438\u0442\u0430\u0442\u044c (\u0438\u043b\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c) \u0446\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u0432\u0435\u0440\u043d\u043e \u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430.<\/p>\n<pre><code>:code (0branch)   lodsw,           \\ lodsw   bx bx orw-rr,    \\ or bx, bx   jnz, j&gt;          \\ jnz .skip   ax si movw-rr,   \\ mov si, ax &gt;j               \\ .skip:   bx pop,          \\ pop bx next, <\/code><\/pre>\n<p>\u0414\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043d\u0430\u0431\u043e\u0440 \u0441\u043b\u043e\u0432, \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432. \u041e\u0434\u043d\u0430\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0449\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438:<\/p>\n<pre><code>: br&gt; here 0 , ; : &gt;br here swap ! ; : br&lt; here ; : &lt;br , ; <\/code><\/pre>\n<h3>\u041f\u043e\u0442\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0427\u0442\u043e\u0431\u044b \u043b\u043e\u0433\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442 <code>if<\/code>s, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u043a\u0430\u043a \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <code>immediate<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>: immediate ( -- )   latest @      \\ \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u043b\u043e\u0432\u043e   cell+         \\ \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438   dup &gt;r c@     \\ \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  \u0438\u0437 length+flags \u043f\u043e\u043b\u044f   80 +          \\ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c flag   r&gt; c!         \\ \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e ; <\/code><\/pre>\n<p>\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <code>compile<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043a\u0430\u043a <code>compile x<\/code>\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f <code>x<\/code>\u043a \u0441\u043b\u043e\u0432\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043b\u043e\u0432\u043e, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 <code>x<\/code>like <code>lit<\/code>\u0438\u043b\u0438 do it:<code>(branch)<\/code><\/p>\n<pre><code>: compile r&gt; dup cell+ &gt;r @ , ; <\/code><\/pre>\n<p><code>if<\/code>\u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u043f\u0440\u044f\u043c\u0430\u044f \u0432\u0435\u0442\u0432\u044c:<\/p>\n<pre><code>: if compile (0branch) br&gt; ; immediate : then &gt;br ; immediate <\/code><\/pre>\n<p><code>else<\/code>\u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u0432\u044c, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a <code>then<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c <code>if<\/code>\u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0442\u043e\u0447\u043a\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0442\u0440\u0435\u043b\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 <code>&gt;br<\/code>\u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u044e\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430:<\/p>\n<pre><code>: else &gt;r compile (branch) br&gt; r&gt; &gt;br ; immediate <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0446\u0438\u043a\u043b\u044b. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043f\u0440\u043e\u0441\u0442\u043e\u0439 <code>begin ... again<\/code>\u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b:<\/p>\n<pre><code>: begin br&lt; ; immediate : again compile (branch) &lt;br ; immediate <\/code><\/pre>\n<p><code>begin ... until<\/code>\u043d\u0435 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u043a\u043e\u043d\u0446\u0435:<\/p>\n<pre><code>: until compile (0branch) &lt;br ; immediate <\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0424\u043e\u0440\u0442\u0430 <code>begin ... while ... repeat<\/code>, \u0433\u0434\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0446\u0438\u043a\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0446\u0438\u043a\u043b\u0430:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6f9\/4c5\/fc2\/6f94c5fc2025ed8dcb6d1e322e7fe28c.svg\" alt=\"\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f BEGIN-WHILE-REPEAT.  BEGIN \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435.  WHILE \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 (0\u0432\u0435\u0442\u0432\u044c) \u043f\u043e\u0441\u043b\u0435 \u0446\u0438\u043a\u043b\u0430, \u0430 REPEAT \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e (\u0432\u0435\u0442\u0432\u044c) \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043a \u0442\u043e\u0447\u043a\u0435 \u041d\u0410\u0427\u0410\u041b\u0410.\"><\/p>\n<div><figcaption>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f BEGIN-WHILE-REPEAT.  BEGIN \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435.  WHILE \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 (0\u0432\u0435\u0442\u0432\u044c) \u043f\u043e\u0441\u043b\u0435 \u0446\u0438\u043a\u043b\u0430, \u0430 REPEAT \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u0443\u044e (\u0432\u0435\u0442\u0432\u044c) \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043a \u0442\u043e\u0447\u043a\u0435 \u041d\u0410\u0427\u0410\u041b\u0410.<\/figcaption><\/div>\n<\/figure>\n<pre><code>: while ( backjmp -- fwdjmp backjmp )   compile (0branch) br&gt; swap ; immediate : repeat ( fwdjmp backjmp -- )   compile (branch) &lt;br &gt;br ; immediate <\/code><\/pre>\n<h3>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0412\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0431\u0435\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0432\u0435\u0449\u0438. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0431\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u0441\u043b\u043e\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0444\u043b\u0430\u0433\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0432 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Forth. \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0432 \u0424\u043e\u0440\u0442\u0435 \u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043b\u0438\u0431\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b, \u043b\u0438\u0431\u043e \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b:<\/p>\n<pre><code>: false 0 ; : true FFFF ; <\/code><\/pre>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 <code>ax<\/code>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0, \u0430 \u0437\u0430\u0442\u0435\u043c, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0432 \u0435\u0433\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>: :cmp :code ax ax xorw-rr, ; : cmp; j&gt; ax decw, &gt;j ax bx movw-rr, next, ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043b\u043e\u0436\u043d\u044b\u043c:<\/p>\n<pre><code>:cmp 0= bx bx orw-rr, jnz, cmp; :cmp 0&lt;&gt; bx bx orw-rr, jz, cmp; :cmp 0&lt; bx bx orw-rr, jge, cmp; :cmp 0&lt;= bx bx orw-rr, jg, cmp; :cmp 0&gt; bx bx orw-rr, jle, cmp; :cmp 0&gt;= bx bx orw-rr, jl, cmp; :cmp = cx pop, bx cx cmpw-rr, jnz, cmp; :cmp &lt;&gt; cx pop, bx cx cmpw-rr, jz, cmp; :cmp u&lt; cx pop, bx cx cmpw-rr, jae, cmp; :cmp u&lt;= cx pop, bx cx cmpw-rr, ja, cmp; :cmp u&gt; cx pop, bx cx cmpw-rr, jbe, cmp; :cmp u&gt;= cx pop, bx cx cmpw-rr, jb, cmp; :cmp &lt; cx pop, bx cx cmpw-rr, jge, cmp; :cmp &lt;= cx pop, bx cx cmpw-rr, jg, cmp; :cmp &gt; cx pop, bx cx cmpw-rr, jle, cmp; :cmp &gt;= cx pop, bx cx cmpw-rr, jl, cmp; <\/code><\/pre>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b. \u041f\u043e\u043a\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0431\u0443\u043b\u0435\u0432\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0447\u0438\u0441\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u2014 \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e.<\/p>\n<pre><code>:code or ax pop, ax bx orw-rr, next, :code and ax pop, ax bx andw-rr, next, :code xor ax pop, ax bx xorw-rr, next, :code invert bx notw-r, next, <\/code><\/pre>\n<h3>\u0423\u0440\u0430, \u0446\u0438\u043a\u043b\u044b! \u0427\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c?<\/h3>\n<p>\u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u043b\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0441\u0443\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0446\u0438\u043a\u043b. \u042d\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0439\u0447\u0430\u0441. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c <code>type<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code>: type ( addr len -- )   begin dup while 1 - &gt;r     dup c@ emit 1 +   r&gt; repeat drop drop ; <\/code><\/pre>\n<p>\u0412 \u043c\u043e\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u043b\u0435\u0432\u044b\u043c \u0431\u0430\u0439\u0442\u043e\u043c. \u041f\u043e\u0438\u0441\u043a \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u044d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a. \u0412\u043e\u0442 \u0447\u0442\u043e <code>seek<\/code>\u0434\u0435\u043b\u0430\u0435\u0442:<\/p>\n<pre><code>: seek ( addr -- end-addr ) begin dup c@ 0&lt;&gt; while 1 + repeat ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f <code>appending<\/code>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 <code>srcpos<\/code>\u0438 <code>checkpoint<\/code>\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>: appending ( addr -- ) seek dup u. srcpos ! move-checkpoint ; <\/code><\/pre>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0432\u0435\u0449\u044c \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0431\u043b\u043e\u043a\u0430 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435 \u2014 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430, \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u0430\u0442\u0447\u0438\u043d\u0433\u0430. \u042f \u0440\u0435\u0448\u0438\u043b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438 \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 64 \u043d\u0430 16, \u0445\u043e\u0442\u044f \u043c\u043e\u0438 \u0431\u043b\u043e\u043a\u0438 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0430 \u0442\u043e\u043a\u0435\u043d\u044b \u0447\u0430\u0441\u0442\u043e \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0440\u0430\u0437\u0440\u044b\u0432\u044b \u0441\u0442\u0440\u043e\u043a.<\/p>\n<p>\u0412\u043c\u0435\u0441\u0442\u043e \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0441\u0442\u0440\u043e\u043a \u044f \u043f\u0435\u0447\u0430\u0442\u0430\u044e \u0430\u0434\u0440\u0435\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430. \u042d\u0442\u043e \u0438 \u043f\u0440\u043e\u0449\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c, \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c <code>show-line<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code>\\ cr emits a linebreak : cr 0D emit 0A emit ;  40 constant line-length 10 constant #lines : show-line ( addr -- next-addr )   dup u.                    \\ \u043d\u043e\u043c\u0435\u0440 \u043b\u0438\u043d\u0438\u0438   dup line-length type cr   \\ \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043b\u0438\u043d\u0438\u0438   line-length + ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f 16 \u0440\u0430\u0437 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>list<\/code>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0441 \u0435\u0449\u0435 \u043d\u0435\u0442 <code>do<\/code>&#8212; <code>loop<\/code>, \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e.<\/p>\n<pre><code>: list ( addr -- )   #lines begin     &gt;r show-line r&gt;   1 - dup 0= until   drop drop ; <\/code><\/pre>\n<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u0434. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <code>move<\/code>. \u042d\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 C <code>memmove<\/code>\u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0446\u0430, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f. \u041c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 x86 <code>rep movsb<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u043f\u043e \u0441\u0443\u0442\u0438, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 <code>memcpy<\/code>\u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043a\u0430 \u043e\u0431\u0443\u0447\u0438\u043c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c:<\/p>\n<pre><code>: rep, F2 c, ; : movsb, A4 c, ;  ; movsw, A5 c, ;  ; cmpsb, A6 c, ;  ; cmpsw, A7 c, ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <code>cmove<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043f\u0435\u0440\u0435\u0434. <a href=\"#cmove\" rel=\"noopener noreferrer nofollow\"><sup>5<\/sup><\/a> \u042d\u0442\u0430 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u0438\u043d\u043d\u0430\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>si<\/code>\u0438 <code>di<\/code>.<\/p>\n<pre><code>:code cmove ( src dest len -- )   bx cx movw-rr,   si ax movw-rr, di dx movw-rr,   di pop, si pop,   rep, movsb,   ax si movw-rr, dx di movw-rr,   bx pop, next, <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <code>cmove&gt;<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043a\u043e\u043d\u0446\u0430 \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0421\u0442\u0440\u0435\u043b\u043a\u0430 <code>&gt;<\/code>\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u043f\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443, \u0442. \u0435. \u0432\u043f\u0440\u0430\u0432\u043e. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043f\u0438\u044e, \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0435 <code>rep movsb<\/code>\u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c \u0444\u043b\u0430\u0433\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f x86. \u042d\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u043d\u0446\u043e\u0432 <em>\u0431\u0443\u0444\u0435\u0440\u043e\u0432<\/em> , \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0430\u043c\u0443 \u043a\u043e\u043f\u0438\u044e \u0432 <code>(cmove&gt;)<\/code>, \u0430 \u043f\u043e\u0442\u043e\u043c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 <code>cmove&gt;<\/code>\u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<pre><code>: cld, FC c, ;  ; std, FD c, ; :code (cmove&gt;)   bx cx movw-rr,   si ax movw-rr, di dx movw-rr,   di pop, si pop,   std, rep, movsb, cld,   ax si movw-rr, dx di movw-rr,   bx pop, next, : cmove&gt; ( src dest len -- )   dup &gt;r                  \\ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043e\u0432   1 -                     \\ \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c len-1, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c   dup &gt;r + swap r&gt; + swap \\ \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438   r&gt; (cmove&gt;) ; <\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, <code>move<\/code>\u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code>: over ( a b -- a b a ) &gt;r dup r&gt; swap ; : move ( src dest len -- )   &gt;r   over over u&lt; if     r&gt; cmove&gt;   else     r&gt; cmove   then ; <\/code><\/pre>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f <code>fill<\/code>\u043f\u043e\u0445\u043e\u0436\u0430, \u0438 \u043e\u043d\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0434\u043b\u044f \u0441\u0442\u0438\u0440\u0430\u043d\u0438\u044f \u043b\u044e\u0431\u044b\u0445 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 <code>move<\/code>s.<\/p>\n<pre><code>:code fill ( addr len byte -- )   bx ax movw-rr,   cx pop,   di dx movw-rr, di pop,   rep, stosb,   dx di movw-rr,   bx pop, next, <\/code><\/pre>\n<p>\u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u0434\u0430 \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0431\u044b\u043b\u043e \u043b\u0438 \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b <code>words<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044f:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/compilercrim.es\/bootstrap\/branches\/\/..\/miniforth\/dictionary.svg\" alt=\"\u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430.  \u0412 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0435\u0441\u0442\u044c NULL \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u043b\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e, \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435.  \u041f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0438\u0439 \u0434\u043b\u0438\u043d\u0443 \u0438\u043c\u0435\u043d\u0438.  \u0417\u0430\u0442\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043c\u044f, \u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.\"><\/p>\n<div><figcaption>\u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430.  \u0412 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0435\u0441\u0442\u044c NULL \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u043b\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e, \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435.  \u041f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0438\u0439 \u0434\u043b\u0438\u043d\u0443 \u0438\u043c\u0435\u043d\u0438.  \u0417\u0430\u0442\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043c\u044f, \u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u043b\u043e\u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0438\u043c\u044f \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u0430\u0439\u0442 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u043b\u0438\u043d\u0443. <code>count<\/code>\u0431\u0435\u0440\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0442\u0430\u043a\u0443\u044e \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0435 \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0435 <code>addr len<\/code>\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<pre><code>: count ( addr -- addr+1 len )   dup 1+ swap c@ ; <\/code><\/pre>\n<p>\u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u044f, <code>&gt;name<\/code>\u0438\u0437\u0432\u043b\u0435\u0447\u0435\u0442 \u0438\u0437 \u043d\u0435\u0433\u043e \u0438\u043c\u044f:<\/p>\n<pre><code>1F constant lenmask : &gt;name ( header-ptr -- addr len )   cell+     \\ skip link pointer   count lenmask and ; <\/code><\/pre>\n<p>\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0444\u043b\u0430\u0433, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0435\u043c\u0441\u044f \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u043c\u0443\u0441\u043e\u0440\u0430, <a href=\"#docol-compression\" rel=\"noopener noreferrer nofollow\">\u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c\u0438 \u043d\u0430\u0448\u0438\u043c\u0438 \u0442\u0440\u044e\u043a\u0430\u043c\u0438 \u0441\u043e \u0441\u0436\u0430\u0442\u0438\u0435\u043c<\/a> .<\/p>\n<pre><code>: visible? ( header-ptr -- t | f )   cell+ c@ 40 and 0= ; <\/code><\/pre>\n<p>\u041d\u0430\u0448\u0438\u043c\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f <code>space<\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u043b, \u0438 <code>#bl<\/code>(\u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <em>\u043f\u0440\u043e\u0431\u0435\u043b<\/em> ), \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f ASCII-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u0430. <a href=\"#bl-constant\" rel=\"noopener noreferrer nofollow\"><sup>6<\/sup><\/a><\/p>\n<pre><code>: #bl 20 ; : space #bl emit ; <\/code><\/pre>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>words-in<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0432 \u0441\u043f\u0438\u0441\u043a\u0435. \u042d\u0442\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0448 \u0424\u043e\u0440\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439. <a href=\"#vocab\" rel=\"noopener noreferrer nofollow\"><sup>7<\/sup><\/a><\/p>\n<pre><code>: words-in ( dictionary-ptr -- )   begin dup while \\ loop until NULL     dup visible? if       dup &gt;name type space     then     @   repeat   drop ; : words latest @ words-in ; <\/code><\/pre>\n<h3>\u0420\u0430\u0437\u0431\u043e\u0440<\/h3>\n<p>\u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 codegolf \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Forth. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043c\u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0432\u0435\u0449\u0438, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432, \u0437\u043d\u0430\u043a\u043e\u043c\u0430\u044f <code>ok<\/code>\u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439. <a href=\"#exceptions\" rel=\"noopener noreferrer nofollow\"><sup>8<\/sup><\/a> \u041f\u0435\u0440\u0432\u044b\u043c \u0448\u0430\u0433\u043e\u043c \u043a \u044d\u0442\u043e\u043c\u0443 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <code>parse ( delim -- addr len )<\/code>\u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0432\u043e\u0434 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b-\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c. \u0414\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u043b, \u043d\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u0440\u0430\u0432\u043d\u044b\u043c <code>)<\/code>, \u0443 \u043d\u0430\u0441, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.<\/p>\n<p><code>parse<\/code>\u0445\u0440\u0430\u043d\u0438\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u0433\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430.<\/p>\n<pre><code>variable sep <\/code><\/pre>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0448\u043b\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0438\u043b\u0438 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u0431\u0430\u0439\u0442\u043e\u043c NULL.<\/p>\n<pre><code>: sep? ( ch -- t | f ) dup 0= swap sep @ = or ; <\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0446\u0438\u043a\u043b\u0430 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c, \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0438\u0437 \u0432\u0432\u043e\u0434\u0430 \u2014 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u043e\u043d <code>)<\/code>\u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u0441\u043b\u043e\u0432\u043e. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432\u0432\u043e\u0434 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f, \u0442\u043e \u043c\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u0442\u043e\u0440\u0430. <code>+sep<\/code>\u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442.<\/p>\n<pre><code>: +sep ( ptr -- ptr' ) dup c@ 0&lt;&gt; if 1+ then ; <\/code><\/pre>\n<p>\u0426\u0438\u043a\u043b <code>parse<\/code>\u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0432 \u0441\u0442\u0435\u043a\u0435. \u041e\u0434\u0438\u043d \u043d\u0435 \u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u0436\u0435\u0442\u043e\u043d\u0430. \u0414\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432 <code>&gt;in<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0434\u043b\u0438\u043d\u0443, \u0432\u044b\u0447\u0438\u0442\u0430\u044f \u0434\u0432\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f.<\/p>\n<pre><code>: parse ( sep -- addr len )   sep ! &gt;in @ dup begin ( begin-ptr end-ptr )     dup c@ sep? invert   while 1+ repeat   dup +sep &gt;in !  \\ \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c &gt;in   over -          \\ \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c length ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u043d\u043e \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u043b\u043e\u0432\u0430 \u043d\u0430\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u044b. \u042d\u0442\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>skip<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0432\u043f\u0435\u0440\u0435\u0434 <code>&gt;in<\/code>, \u0447\u0442\u043e\u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c.<\/p>\n<pre><code>: skip ( sep -- sep ) begin dup &gt;in @ c@ = while 1 &gt;in +! repeat ; <\/code><\/pre>\n<p><code>token<\/code>\u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u0434\u0432\u0430.<\/p>\n<pre><code>: token ( sep -- addr len ) skip parse ; <\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>char<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0442\u043e\u043a\u0435\u043d\u0430 \u2014 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u0430\u043a \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b.<\/p>\n<pre><code>: char #bl token drop c@ ; <\/code><\/pre>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u043b \u0432 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e <code>[char]<\/code>:<\/p>\n<pre><code>: [char] char lit, ; immediate <\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, <code>(<\/code>\u044d\u0442\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 <code>)<\/code>\u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u0438 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<pre><code>: ( [char] ) parse 2drop ; immediate <\/code><\/pre>\n<h3>\u0413\u043e\u043b\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e<\/h3>\n<p>\u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u0435\u043a\u0442\u043e\u0440 Miniforth \u0431\u044b\u043b \u0433\u043e\u0442\u043e\u0432, \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u044e \u0441\u0432\u043e\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0441 \u00ab\u0433\u043e\u043b\u044b\u043c \u0436\u0435\u043b\u0435\u0437\u043e\u043c\u00bb. \u0412 \u043e\u0431\u0449\u0435\u043c, \u044f \u043d\u0435 \u0436\u0430\u043b\u0435\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0438, \u043d\u043e \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0441\u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0440\u043e\u0432\u0430\u043b \u043a\u043e\u0434, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u043e\u043a\u043e\u043b\u043e \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0431\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u0440\u0447\u0435\u043d\u044b \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430\u043c\u0438, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u043d\u0441\u043a\u0440\u0438\u043f\u0446\u0438\u0438, \u043d\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b\u043e \u0434\u0432\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c.<\/p>\n<p>\u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0438 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u043d\u0430 \u0441\u0430\u043c \u0434\u0438\u0441\u043a. \u0421\u0430\u043c \u043a\u043e\u0434 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u044b\u043b \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u043e \u043c\u043e\u0439 \u0442\u0435\u0441\u0442 \u043d\u0430 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u0435 &#8212; \u043d\u0435\u0442. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<pre><code>: foo begin dup u. 1 - 0= until ; 5 foo <\/code><\/pre>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443<\/p>\n<p>\u041a\u043e\u0434 \u0432\u044b\u043b\u0435\u0442\u0435\u043b \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/878\/3a8\/210\/8783a82107149c000e1a65905ed63910.jpg\" alt=\"\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f 5 foo \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043e\u043a\u043e\u043b\u043e 6 \u0441\u0442\u0440\u043e\u043a \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u043e \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f.  \u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f: 5 E0E 1F0E 1707 5BC \u0438 \u0442. \u0434., \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f\u0441\u044c \u043d\u0430 DB69 10 1, \u043d\u0438\u0436\u043d\u0438\u0439 \u043b\u0435\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u044b, 4, \u0441\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043f\u0440\u0430\u0432\u043e, 1B 1) 10\"><\/p>\n<div><figcaption>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f 5 foo \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043e\u043a\u043e\u043b\u043e 6 \u0441\u0442\u0440\u043e\u043a \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u043e \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f.  \u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f: 5 E0E 1F0E 1707 5BC \u0438 \u0442. \u0434., \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f\u0441\u044c \u043d\u0430 DB69 10 1, \u043d\u0438\u0436\u043d\u0438\u0439 \u043b\u0435\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u044b, 4, \u0441\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043f\u0440\u0430\u0432\u043e, 1B 1) 10<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/p>\n<p>\u041f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 <code>0=<\/code>\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0446\u0438\u043a\u043b\u043e\u0432 \u0432 \u0441\u0442\u0435\u043a\u0435, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 \u0441\u0442\u0435\u043a. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0442, \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0447\u043d\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0439, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u0431\u043e\u0439.<\/p>\n<p>\u0414\u0440\u0443\u0433\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u0432 <code>int13<\/code>\u0441\u0430\u043c\u043e\u043c \u0441\u043b\u043e\u0432\u0435. \u041a\u0430\u043a \u044f \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b \u0440\u0430\u043d\u0435\u0435, \u044f \u0437\u0430\u0431\u044b\u043b \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c SI, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u041e\u043d \u0440\u0443\u0445\u043d\u0443\u043b, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f <code>next<\/code>. \u041f\u043e \u0438\u0440\u043e\u043d\u0438\u0438 \u0441\u0443\u0434\u044c\u0431\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u044f \u043d\u0435 \u0431\u044b\u043b \u0442\u0430\u043a \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u0435\u043d \u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b <code>write-block<\/code>\u0441\u0432\u043e\u044e \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u0431\u044b\u043b\u0430 \u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 ?<\/p>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u043e\u0448\u0438\u0431\u043e\u043a, \u0435\u0441\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043d\u0430 \u00ab\u0433\u043e\u043b\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435\u00bb: \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 GitHub. \u042f \u0440\u0435\u0448\u0438\u043b \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0441\u043a\u0440\u0438\u043f\u0442, <code>splitdisk.py<\/code>\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043a\u043e\u0434 \u0438\u0437 \u043e\u0431\u0440\u0430\u0437\u0430 \u0434\u0438\u0441\u043a\u0430. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0441\u044c \u0441 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u043d\u0435 \u0437\u0430\u0439\u043c\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0430\u043c \u043d\u0435\u0442 \u0440\u0430\u0437\u0440\u044b\u0432\u043e\u0432 \u0441\u0442\u0440\u043e\u043a, \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u044d\u0432\u0440\u0438\u0441\u0442\u0438\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Python <code>difflib<\/code>\u043e\u043d \u0434\u0430\u0436\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043b\u044e\u0431\u044b\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0440\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u043b\u043e\u043a\u0430.<\/p>\n<h3>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435?<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f, \u043c\u043d\u043e\u0433\u0438\u0435 \u0432\u0435\u0449\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0448\u0430\u0433\u0430. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0432\u0430\u0436\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430, \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0424\u043e\u0440\u0442\u0430, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u043f\u0435\u0440\u0432\u044b\u043c\u0438.<\/p>\n<p>\u041c\u0435\u0436\u0434\u0443 \u0442\u0435\u043c, \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0430\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043f\u043e\u0432\u0435\u0440\u0445 Miniforth \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f  _\u0431\u0435\u0437_\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432. \u041d\u0435 \u0442\u043e \u0447\u0442\u043e\u0431\u044b \u0432 \u0442\u0430\u043a\u043e\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0438 \u0441\u0435\u0431\u044f \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b, \u043d\u043e \u044d\u0442\u043e <em>\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f<\/em> \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u042f \u043e\u0431\u044a\u044f\u0441\u043d\u044e \u0441\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u044e\u0431\u044b\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u043a\u0438\u043c\u0438 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c\u0438, \u043a\u0430\u043a \u0432\u044b. \u042f \u0441\u043e\u0437\u0434\u0430\u043b <a href=\"https:\/\/github.com\/meithecatte\/compilercrim.es\/issues\/2\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f<\/a> \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0438\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0441\u043f\u043e\u0439\u043b\u0435\u0440\u043e\u0432 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043f\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0435\u0439 ?<\/p>\n<h2>\u041f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f?<\/h2>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0438 <a href=\"https:\/\/compilercrim.es\/\" rel=\"noopener noreferrer nofollow\">\u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u043e\u0438 \u043f\u043e\u0441\u0442\u044b<\/a> . \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u043d\u043e\u0432\u044b\u0445, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 <a href=\"https:\/\/twitter.com\/meithecatte\" rel=\"noopener noreferrer nofollow\">\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043c\u0435\u043d\u044f \u0432 \u0422\u0432\u0438\u0442\u0442\u0435\u0440\u0435<\/a> \u0438\u043b\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u043d\u0430 <a href=\"https:\/\/compilercrim.es\/rss.xml\" rel=\"noopener noreferrer nofollow\">RSS-\u043a\u0430\u043d\u0430\u043b<\/a> .<\/p>\n<p>\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0438\u0442\u044c <a href=\"https:\/\/github.com\/sponsors\/meithecatte\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0438\u0445 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u0432 GitHub<\/a> \u0437\u0430 \u0438\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443: Michalina Sidor \u0438 Tijn Kersjes.<\/p>\n<hr>\n<p><sup>1<\/sup><\/p>\n<p>\u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e my <code>load<\/code>\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u0438 \u0431\u043b\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0435\u0442 REPL \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f.<a href=\"https:\/\/compilercrim.es\/bootstrap\/branches\/\/#ref:load-difference\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>2<\/sup><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e \u043c\u0435\u043d\u044f \u0434\u043e\u0448\u043b\u043e, \u0447\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442, <code>&gt;in<\/code>\u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 ( <code>&gt;<\/code>), \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0431\u0430\u0437\u043e\u0432\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430. \u041d\u0443 \u0447\u0442\u043e \u0436.<a href=\"\/#ref:to-in\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>3<\/sup><\/p>\n<p>\u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u044d\u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u043e\u0439. \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438.<a href=\"\/#ref:redefine\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>4<\/sup><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0431\u044b \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <code>mov [0x1234], 0x5678<\/code>, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u044b \u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a: \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, ModR\/M, \u0430\u0434\u0440\u0435\u0441, \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439.<a href=\"\/#ref:modrm-order\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>5<\/sup><\/p>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043b\u0443\u0447\u0448\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043d\u0435 \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u043d\u0430 C \u043d\u0430\u0437\u0432\u0430\u043b \u0431\u044b &#171;\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c&#187;, \u043d\u043e \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 Forth, \u0442\u0430\u043a \u0447\u0442\u043e \u044f \u0431\u0443\u0434\u0443 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u0433\u043e.<a href=\"\/#ref:cmove\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>6<\/sup><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e \u043c\u0435\u043d\u044f \u0434\u043e\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e \u044f \u043c\u043e\u0433 \u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u043e <code>constant<\/code>\u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e. \u042f, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0438\u0437\u043c\u0435\u043d\u044e \u044d\u0442\u043e, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043b\u044e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440.<a href=\"\/#ref:bl-constant\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>7<\/sup><\/p>\n<p>\u0421\u043b\u043e\u0432\u0430\u0440\u0438 Forth, \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043a\u0430\u043a \u0441\u043f\u0438\u0441\u043a\u0438 \u0441\u043b\u043e\u0432, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0432 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u00ab\u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0438\u0437 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430.<a href=\"\/#ref:vocab\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<p><sup>8<\/sup><\/p>\n<p>\u0422\u043e\u0447\u043d\u044b\u0439 \u0430\u0441\u043f\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442, &#8212; \u044d\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u044b. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0435\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0430\u0441\u043f\u0435\u043a\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0435\u0437 \u043d\u043e\u0432\u043e\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430, \u043d\u043e \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u044c \u044d\u0442\u043e.<a href=\"\/#ref:exceptions\" rel=\"noopener noreferrer nofollow\">\u21a9<\/a><\/p>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \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\/articles\/739012\/\"> https:\/\/habr.com\/ru\/articles\/739012\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<h2>\u041d\u0435\u0442 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439? \u041d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u2014 \u0424\u043e\u0440\u0442-\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440<\/h2>\n<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434<br \/> <a href=\"https:\/\/compilercrim.es\/bootstrap\/branches\/\" rel=\"noopener noreferrer nofollow\">\u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442:<\/a><br \/> 22 \u0438\u044e\u043d\u044f 2021 \u0433. \u00b7 36 \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u0435\u043d\u0438\u044f<\/p>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0440\u0438\u0438 <a href=\"https:\/\/compilercrim.es\/bootstrap\/\" rel=\"noopener noreferrer nofollow\">\u00ab\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u00bb<\/a> , \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u0441 512-\u0431\u0430\u0439\u0442\u043d\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0438 \u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u043e\u0441\u0442:<br \/> <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c FORTH \u0432 512 \u0431\u0430\u0439\u0442\u0430\u0445<\/a><br \/> \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0441\u0442:<br \/> <a href=\"https:\/\/compilercrim.es\/bootstrap\/asmless\/\" rel=\"noopener noreferrer nofollow\">\u0412\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435: \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f<\/a><\/p>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0441\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Miniforth, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043a\u0443\u0434\u0435\u043d. \u041e\u0434\u0438\u043d \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0434\u0430\u0436\u0435 <a href=\"https:\/\/www.reddit.com\/r\/Forth\/comments\/nxgg20\/fitting_a_forth_in_512_bytes\/h1eq4ok\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u044f\u0432\u0438\u043b<\/a> , \u0447\u0442\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0435\u0442\u0432\u0435\u0439 \u043d\u0435\u0442, \u043e\u043d \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u044b\u043c \u043f\u043e \u0422\u044c\u044e\u0440\u0438\u043d\u0433\u0443 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u0434\u043e\u0441\u0442\u043e\u0438\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0424\u043e\u0440\u0442\u043e\u043c! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u0442 \u0434\u0435\u043d\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u043e\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0448\u0438\u0431\u0430\u043b\u0438\u0441\u044c.<\/p>\n<p>\u0412 <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435<\/a> \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u044f\u0434\u0440\u043e Miniforth \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e. \u041f\u043e\u0434\u0432\u043e\u0434\u044f \u0438\u0442\u043e\u0433, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>+ - ! @ c! c@ dup drop swap emit u. &gt;r r&gt; [ ] : ; load s: <\/code><\/pre>\n<p>\u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043d\u0430 Forth, \u043d\u043e <code>load<\/code>\u043c\u043e\u0433\u0443\u0442 <code>s:<\/code>\u043d\u0443\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. <code>load ( u -- )<\/code>\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <a href=\"https:\/\/forth-standard.org\/standard\/block\/LOAD\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c<\/a> \u0438\u0437 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u043b\u043e\u0432 Block \u2014 \u043e\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0431\u043b\u043e\u043a <code>u<\/code>\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043a\u0430\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Forth. <a href=\"#load-difference\" rel=\"noopener noreferrer nofollow\"><sup>1<\/sup><\/a> \u042d\u0442\u043e \u0441\u043b\u043e\u0432\u043e \u0438\u043c\u0435\u0435\u0442 \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0433\u043e \u0424\u043e\u0440\u0442\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u043d\u0430 \u0434\u0438\u0441\u043a, \u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c <code>1 load<\/code>.<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u044f \u0432\u043a\u043b\u044e\u0447\u0438\u043b <code>s: ( buf -- buf+len )<\/code>, \u0447\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0432\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 \u2014 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 <code>buf<\/code>. \u0410\u0434\u0440\u0435\u0441 \u043a\u043e\u043d\u0446\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a\u0435, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>s:<\/code>\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f Miniforth, \u0438:<\/p>\n<ul>\n<li>\n<p><a href=\"#forth-style-assemblers\" rel=\"noopener noreferrer nofollow\">\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0432 \u0441\u0442\u0438\u043b\u0435 Forth,<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#disk-i-o\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a<\/a> \u0438<\/p>\n<\/li>\n<li>\n<p><a href=\"#branches\" rel=\"noopener noreferrer nofollow\">\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043d\u0430\u0448 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0435\u0442\u0432\u0435\u0439.<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435\u043b\u044c\u0437\u044f \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431. \u0423 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u0432\u0435\u0439 \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c \u0424\u043e\u0440\u0442\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 Miniforth, \u0438 \u044f \u043d\u0430\u043c\u0435\u0440\u0435\u043d \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0439 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u043f\u043e\u043a\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0430\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041c\u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432.<\/p>\n<p>\u0422\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439  \u043d\u0435 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u043e \u0438\u043c\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b. \u0414\u043b\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 <a href=\"https:\/\/github.com\/meithecatte\/miniforth\/tree\/post2\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430 GitHub<\/a> . \u041f\u0440\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u0434\u0430 \u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0435\u0449\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438\u0445 \u043d\u0435\u0442 \u0432 \u043a\u043e\u0434\u0435.<\/p>\n<h3>s:- \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441<\/h3>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>1000<\/code>, \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0435\u043a\u0430\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430. \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f, \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0442\u0443\u0434\u0430 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0438. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e <code>InputPtr<\/code>, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>A02<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c <code>run<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u0432\u044b\u0431\u043e\u0440\u0443 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<pre><code>: &gt;in A02 ;  : run &gt;in ! ; <\/code><\/pre>\n<p><code>&gt;in<\/code>\u2014 \u044d\u0442\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0435\u0433\u043e. <a href=\"https:\/\/habr.com\/ru\/articles\/563250\/#to-in\" rel=\"noopener noreferrer nofollow\"><sup>2<\/sup><\/a> \u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445, \u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e \u044d\u0442\u043e\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438:<\/p>\n<pre><code>1000 s: : &gt;in A02 ;  : run &gt;in ! ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>dup u.<\/code>. \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u043e\u0442\u0432\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 <code>101A<\/code>, \u0438 \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 <code>run<\/code>\u043f\u043e\u0437\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f <code>&gt;in<\/code>\u0438 <code>run<\/code>. <a href=\"#redefine\" rel=\"noopener noreferrer nofollow\"><sup>3<\/sup><\/a><\/p>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e, \u044f \u043f\u0435\u0447\u0430\u0442\u0430\u043b \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>u.<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c <code>run<\/code>\u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0444\u0435\u0440\u0430. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u043d\u0430\u0432\u0435\u0440\u0445\u0443 \u0441\u0442\u0435\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a Miniforth \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f <a href=\"#variables\" rel=\"noopener noreferrer nofollow\">\u0441 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0435\u043a\u0435<\/a> , \u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f.<\/p>\n<h3>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/h3>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u043c\u0441\u044f \u043e\u0431 \u044d\u0442\u043e\u043c \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u0435\u043a\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043e\u0434\u043d\u0430 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/> \u0421\u0442\u0435\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<pre><code>latest st base dp disk# <\/code><\/pre>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c <code>constant disk#<\/code>, <code>constant here<\/code>\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 <code>constant<\/code>, \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f (\u043f\u043e\u043a\u0430). <a href=\"https:\/\/forth-standard.org\/standard\/core\/LITERAL\" rel=\"noopener noreferrer nofollow\"><code>literal<\/code><\/a>\u0431\u043b\u0438\u0436\u0435, \u043d\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 <code>here<\/code>\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 <code>latest<\/code>\u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u043e\u0439\u0442\u0438 \u043d\u0430\u0441\u0443\u0449\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>[<\/code>\u0438 <code>]<\/code>, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439:<\/p>\n<pre><code>swap : dp 0 [ dup @ 2 - ! ] ; <\/code><\/pre>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u043e \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e. <code>dp<\/code>\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <em>\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445<\/em> . \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f back <code>here<\/code>, \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e <code>here<\/code>\u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a<\/p>\n<pre><code>: here dp @ ; <\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a, \u043d\u0430\u0448\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"\">\n<div><figcaption>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u043e\u043b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0438 \u0438\u043c\u044f.  \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u043e\u0432 DOCOL, LIT \u0438 0. HERE \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u0441\u043b\u0435 0.<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>dp<\/code>\u0442\u0430\u043c, \u0433\u0434\u0435 <code>0<\/code>\u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f. \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 <code>swap<\/code>\u043f\u0435\u0440\u0435\u0434 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430, \u0430\u0434\u0440\u0435\u0441 <code>dp<\/code>\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0441\u0442\u0435\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 <code>dup @ 2 -<\/code>\u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044f\u0447\u0435\u0439\u043a\u0443, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0443\u044e <code>0<\/code>, \u0438 <code>!<\/code>\u043c\u044b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0435\u0435. \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, the <code>0<\/code>\u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u043b.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c <code>cell+<\/code>\u0438 <code>cells<\/code>. \u041f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u0442\u0430\u043a \u0440\u0430\u043d\u043e, \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0435\u0449\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u2014 \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 32-\u0431\u0438\u0442\u043d\u044b\u0439 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u0434\u0430 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0435\u043b\u043e \u043e\u0442 \u0448\u0438\u0440\u0438\u043d\u044b \u044f\u0447\u0435\u0439\u043a\u0438.<\/p>\n<pre><code>: cell+ 2 + ; : cells dup + ; <\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0441 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u0442\u044c <code>dp<\/code>, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c <code>allot<\/code>. \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0430 \u0432 <code>+!<\/code>:<\/p>\n<pre><code>: +! ( u addr -- ) dup &gt;r @ + r&gt; ! ; : allot ( len -- ) dp +! ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c <code>c,<\/code>\u0438 <code>,<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0431\u0430\u0439\u0442 \u0438\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438:<\/p>\n<pre><code>: c, here c! 1 allot ; : , here ! 2 allot ; <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c <code>lit,<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438\u0442\u0435\u0440\u0430\u043b \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0430\u0434\u0440\u0435\u0441 <code>LIT<\/code>\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043b\u0438\u0442\u0435\u0440\u0430\u043b. \u041c\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0432 <code>'lit<\/code>\u00ab\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0435\u00bb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u044e\u043a\u0430, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0434\u043b\u044f <code>dp<\/code>:<\/p>\n<pre><code>: 'lit 0 [ here 4 - @ here 2 - ! ] ; : lit, 'lit , , ; <\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0435\u043a\u0435:<\/p>\n<pre><code>: disk# [ lit, ] ; : base [ lit, ] ; : st [ lit, ] ; : latest [ lit, ] ; <\/code><\/pre>\n<p>\u042f \u0432\u044b\u0437\u044b\u0432\u0430\u044e \u0435\u0433\u043e <code>st<\/code>\u0432\u043c\u0435\u0441\u0442\u043e <code>state<\/code>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>state<\/code>\u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u044f\u0447\u0435\u0439\u043a\u0443, \u0433\u0434\u0435 true \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e, \u0430 <code>st<\/code>\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0441 \u0431\u0430\u0439\u0442, \u0433\u0434\u0435 true \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044e.<\/p>\n<h3>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043f\u043e\u0448\u0430\u043b\u0438\u0442\u044c, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u0432\u043e\u0437\u0434\u0443\u0445\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0432 \u0438\u0445. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442 \u0438\u0445 \u0432 \u0447\u0438\u0441\u043b\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0434\u0430\u0432 \u0432\u0430\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>srcpos u.<\/code>\u0432\u044b\u0445\u043e\u0434\u044b <code>DA9C<\/code>. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u044b \u0440\u0438\u0441\u043a\u0443\u0435\u0442\u0435 \u0442\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0431\u0443\u0434\u0443\u0442 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c, \u043b\u0438\u0431\u043e \u0441 \u0447\u0435\u043c-\u0442\u043e \u0435\u0449\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e \u0441\u0442\u0435\u043a\u043e\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044f.<\/p>\n<p>\u042f <em>\u0431\u044b\u043b \u043d\u0435<\/em> \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0448\u0430\u043b\u043e\u0441\u0442\u0435\u0439, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0443\u0435\u0442. \u042f\u0434\u0440\u043e \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043e \u043d\u0430 <code>:<\/code>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u043e \u0443\u0436\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u043e\u0432\u043e \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043b\u043e\u0432\u0430\u0440\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u041d\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438. <code>[<\/code>\u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e, \u043d\u043e \u044d\u0442\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u0438 \u043c\u044b <code>postpone<\/code>\u043f\u043e\u043a\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0435\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043d\u0430\u0448 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c:<\/p>\n<pre><code>: [[ 1 st c! ; <\/code><\/pre>\n<p>\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 <code>;<\/code>. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c <code>exit<\/code>. \u041c\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 <code>exit<\/code>, \u043d\u043e \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430:<\/p>\n<pre><code>here 2 - @ : 'exit [ lit, ] ; <\/code><\/pre>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u043a\u0430\u043a \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f <code>constant<\/code>:<\/p>\n<pre><code>: constant \\ example: 42 constant the-answer   : [[ lit, 'exit , ; <\/code><\/pre>\n<p><code>create<\/code>\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u043b\u043e\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0433\u043e. \u0422\u0438\u043f\u0438\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<pre><code>create some-array 10 cells allot <\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <code>3 cells<\/code>\u2014 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 <code>LIT<\/code>, \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 <code>EXIT<\/code>.<\/p>\n<pre><code>: create : [[ here 3 cells + lit, 'exit , ; <\/code><\/pre>\n<p><code>variable<\/code>, \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e <code>allot<\/code>\u043e\u0434\u043d\u0430 \u044f\u0447\u0435\u0439\u043a\u0430:<\/p>\n<pre><code>: variable create 1 cells allot ; <\/code><\/pre>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435s:<\/h3>\n<p>\u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c <code>s:<\/code>\u0438 <code>run<\/code>\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u043c. <code>srcpos<\/code>\u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u043e\u043d\u0435\u0446 \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 <code>checkpoint<\/code>\u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u0447\u0430\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430.<\/p>\n<figure class=\"\">\n<div><figcaption>\u0422\u043e \u0435\u0441\u0442\u044c \u0432 \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0441\u044f \u0431\u044b \u0441 1000, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u0431\u044b \u043d\u0430 srcpos, \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435.<\/figcaption><\/div>\n<\/figure>\n<pre><code>variable checkpoint variable srcpos <\/code><\/pre>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 <code>s:<\/code>\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>s+<\/code>:<\/p>\n<pre><code>: s+ ( -- ) srcpos @ s: dup u. srcpos ! ; <\/code><\/pre>\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c. \u042d\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u0432\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u0432\u044b\u0440\u044f\u0442\u044c\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442\u043d\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448 \u0431\u0443\u0444\u0435\u0440 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>doit<\/code>:<\/p>\n<pre><code>: move-checkpoint ( -- ) srcpos @ checkpoint ! ; : doit ( -- ) checkpoint @ run move-checkpoint ; <\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0447\u0435\u043c\u0443-\u0442\u043e \u0432\u0440\u043e\u0434\u0435<\/p>\n<pre><code>1234 srcpos ! move-checkpoint <\/code><\/pre>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u043e\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043d\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.<\/p>\n<h3>\u0410\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f<\/h3>\n<p>\u041e\u0431\u044b\u0447\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>    mov ax, bx <\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 <em>\u044d\u0442\u0438\u043c<\/em> , \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043e\u0434\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440, \u0430 \u043c\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u0432\u0435\u0442\u0432\u0435\u0439. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u2014 \u0435\u0441\u043b\u0438 AT&amp;T \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u0438 \u043c\u044b \u0442\u043e\u0436\u0435. \u0427\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0424\u043e\u0440\u0442-\u0441\u043b\u043e\u0432\u043e\u043c, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043a:<\/p>\n<pre><code>    bx ax movw-rr, <\/code><\/pre>\n<p>\u042f \u0440\u0435\u0448\u0438\u043b \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u043a <code>src dst instr,<\/code>, \u0441 \u043f\u043e\u0442\u043e\u043a\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e. \u042d\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u043a\u043e\u0434\u0435 Forth, \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u043c \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 Intel. \u041f\u043e\u0441\u043b\u0435 \u0434\u0435\u0444\u0438\u0441\u0430 \u044f \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0442\u0438\u043f\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u2014 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 ( <code>r<\/code>), \u043f\u0430\u043c\u044f\u0442\u044c ( <code>m<\/code>) \u0438\u043b\u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 ( <code>i<\/code>). \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043a\u0430\u043a \u0432 \u0431\u0430\u0439\u0442, \u0442\u0430\u043a \u0438 \u0432 \u0441\u043b\u043e\u0432\u043e, \u0438\u043c\u0435\u044e\u0442 \u0441\u0443\u0444\u0444\u0438\u043a\u0441 <code>b<\/code>\u0438\u043b\u0438 <code>w<\/code>, \u043a\u0430\u043a \u0432 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 AT&amp;T.<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435<\/p>\n<\/p>\n<p><\/br><\/br><\/p>\n<p><\/br><\/p>\n<\/div>\n<\/div>\n<\/div>\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-348199","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/348199","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=348199"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/348199\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=348199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=348199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=348199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}