{"id":22851,"date":"2011-12-06T12:54:22","date_gmt":"2011-12-06T09:54:22","guid":{"rendered":"http:\/\/studentpmr.ru\/?p=22851"},"modified":"2011-12-06T12:54:22","modified_gmt":"2011-12-06T09:54:22","slug":"%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4-%d0%bf%d1%80%d0%be%d1%86%d0%b5%d1%81%d1%81%d0%be%d1%80%d0%b0-8086","status":"publish","type":"post","link":"http:\/\/studentpmr.ru\/?p=22851","title":{"rendered":"\u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 8086"},"content":{"rendered":"<p>\u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 8086<br \/>\n             .8086                   ; \u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430<br \/>\n                .model tiny             ; \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438 (\u0434\u043b\u044f .COM)<br \/>\n                .code                   ; \u041a\u043e\u0434\u043e\u0432\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nHT              equ     09h             ; \u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u044f.<br \/>\nCR              equ     0Dh             ; \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u043a\u0430\u0440\u0435\u0442\u043a\u0438.<br \/>\nLF              equ     0Ah             ; \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>\nEL              equ     &#8216;$&#8217;             ; \u041a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f MS-DOS.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<!--more--><br \/>\n; \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 (\u0430\u0434\u0440\u0435\u0441 CS:[0000h])<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nPSP_struc       struc<br \/>\n                db      02Ch dup(?)     ; \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c.<br \/>\n psp_env        dw      ?               ; \u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<br \/>\n                db      052h dup(?)     ; \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c.<br \/>\n psp_par        db      080h dup(?)     ; \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430.<br \/>\nPSP_struc       ends<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u043b\u043e\u043a\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e MS-DOS<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nMCB_struc       struc<br \/>\n MCB_type       db      ?               ; \u0422\u0438\u043f \u0431\u043b\u043e\u043a\u0430 ( 4Dh \u0438\u043b\u0438 5Ah).<br \/>\n MCB_PSP        dw      ?               ; \u0410\u0434\u0440\u0435\u0441 PSP, 0h \u0438\u043b\u0438 8h.<br \/>\n MCB_size       dw      ?               ; \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0432 \u043f\u0430\u0440\u0430\u0433\u0440\u0430\u0444\u0430\u0445.<br \/>\n MCB_unused     db      3 dup(?)        ; \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<br \/>\n MCB_prog       db      8 dup(?)        ; \u0418\u043c\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b-\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430.<br \/>\nMCB_struc       ends<br \/>\n;\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n;\u00b0                                                                 \u00b0<br \/>\n;\u00b0  \u0420\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                    \u00b0<br \/>\n;\u00b0                                                                 \u00b0<br \/>\n;\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n;<br \/>\n; \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 CS:[0000h] \u0438 \u0434\u043e \u0430\u0434\u0440\u0435\u0441\u0430 CS:[0100h] \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043f\u0440\u0435-<br \/>\n; \u0444\u0438\u043a\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 (PSP), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c MS-DOS \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e<br \/>\n; \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. PSP \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e.<br \/>\n;<br \/>\n                org     100h            ; \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c PSP<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 (\u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f .COM \u0444\u0430\u0439\u043b\u0430)<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nstart:          jmp     setup          ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ncopyright       db &#8216; (C) \u0412\u044b\u0445\u043e\u0432\u0430\u043d\u0435\u0446 \u0412.\u0421. 1994 &#8216;; \u041f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<br \/>\nnext_line       db      CR, LF, EL      ; \u0421\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>\nflag_on         db      0               ; \u0424\u043b\u0430\u0433 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\nflag_in         db      0               ; \u0424\u043b\u0430\u0433 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a.<br \/>\nint_no          db      21h             ; \u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<br \/>\nint_fun         db      03Fh            ; \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<br \/>\nint_old         label   dword           ; \u041c\u0435\u0442\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431.<br \/>\nint_ofs         dw      0               ; \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431-\u043a\u0430.<br \/>\nint_seg         dw      0               ; \u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431-\u043a\u0430.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041e\u0431\u043b\u0430\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_count       dw      0               ; \u0421\u0447\u0435\u0442\u0447\u0438\u043a \u0432\u0445\u043e\u0434\u043e\u0432 \u0432 \u043a\u0440\u0438\u0442.\u0441\u0435\u043a\u0446.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_new:<br \/>\n                pushf                   ; \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0438<br \/>\n                push    ax              ; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.<br \/>\n                sti<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f TSR<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n                cmp     cs:[flag_on], 0h; \u0415\u0441\u043b\u0438 TSR \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430,<br \/>\n                jne     int_test        ; \u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<br \/>\nint_old_ret:                            ; \u0418\u043d\u0430\u0447\u0435 \u0432\u044b\u0437\u043e\u0432 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431.<br \/>\n                pop     ax              ; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.<br \/>\n                push    cs:[int_seg]    ; \u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u0441\u0442\u0435\u043a \u0430\u0434\u0440\u0435\u0441<br \/>\n                push    cs:[int_ofs]    ; \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 int_no<br \/>\n                iret                    ; \u0438 \u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0442.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_test:<br \/>\n                cmp     ah, cs:[int_fun]; \u0415\u0441\u043b\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f,<br \/>\n                jne     int_old_ret     ; \u0442\u043e \u043d\u0430 \u0432\u044b\u0437\u043e\u0432 \u0441\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430\u043d\u044f\u0442\u043e\u0441\u0442\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_busy:<br \/>\n                mov     al, 0FFh        ; \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#171;\u0437\u0430\u043d\u044f\u0442\u043e&#187;<br \/>\n                xchg    al, cs:[flag_in]; \u041e\u0431\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u043b\u0430\u0433\u0438.<br \/>\n                cmp     al, 0FFh        ; \u0415\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0437\u0430\u043d\u044f\u0442,<br \/>\n                je      int_busy        ; \u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0442\u044c \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041d\u0430\u0447\u0430\u043b\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n                inc     cs:[int_count]  ; \u0414\u0430\u043b\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c<br \/>\n;               . . .                   ; \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438!<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0415\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043e\u043c \u0432 TSR<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_old_call:<br \/>\n                pop     ax              ; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b<br \/>\n                popf                    ; \u0438 \u0444\u043b\u0430\u0433\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043d\u0435\u0441\u0442\u0438<br \/>\n                pushf                   ; \u0432 \u0441\u0442\u0435\u043a \u0444\u043b\u0430\u0433\u0438 \u0434\u043b\u044f iret.<br \/>\n                call    cs:[int_old]    ; \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431.<br \/>\n                sti                     ; \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439!!!<br \/>\n                pushf                   ; \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0438 \u0440\u0435\u0433.<br \/>\n                push    ax              ; (\u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e).<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n;               . . .<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 int_no<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint_free:<br \/>\n                mov     cs:[flag_in], 0 ; \u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u043b\u0430\u0433 \u0437\u0430\u043d\u044f\u0442\u043e\u0441\u0442\u0438.<br \/>\n;<br \/>\n; \u0414\u0430\u043b\u0435\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f!<br \/>\n; \u0415\u0441\u043b\u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0434\u043e\u043b\u0436\u043d\u044b<br \/>\n; \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0442\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e-<br \/>\n; \u0449\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0434\u043e \u0441\u0431\u0440\u043e\u0441\u0430 \u0444\u043b\u0430\u0433\u0430 \u0437\u0430\u043d\u044f\u0442\u043e\u0441\u0442\u0438 \u0437\u0430\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 .<br \/>\n;<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438\u0437 \u0441\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n                pop     ax              ; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438<br \/>\n                popf                    ; \u0444\u043b\u0430\u0433\u043e\u0432 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c-<br \/>\n                retf    2               ; \u043c\u0443 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0445 \u0444\u043b\u0430-<br \/>\n                                        ; \u0433\u043e\u0432 \u0438\u0437 \u0441\u0442\u0435\u043a\u0430 \u0432\u044b\u0437\u043e\u0432\u0430.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041a\u043e\u043d\u0435\u0446 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nend_tsr         label   byte            ; \u043c\u0435\u0442\u043a\u0430 \u043a\u043e\u043d\u0446\u0430 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430<br \/>\ncode_size       equ     ($-int_new)\/2   ; \u0434\u043b\u0438\u043d\u0430 \u043a\u043e\u0434\u0430 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430 \u0432 \u0441\u043b.<br \/>\n;\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n;\u00b0                                                                 \u00b0<br \/>\n;\u00b0  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b                                    \u00b0<br \/>\n;\u00b0                                                                 \u00b0<br \/>\n;\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\nsetup:<br \/>\n                push    cs              ; \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 DS<br \/>\n                pop     ds              ; \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0412\u044b\u0432\u043e\u0434 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n                mov     ah, 09h         ; \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c<br \/>\n                lea     dx, [next_line] ; \u0441\u0438\u043c\u0432\u043e\u043b\u044b &#171;\u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430&#187;<br \/>\n                int     21h             ; \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 MS-DOS.<br \/>\n                lea     dx, [head_msg]  ; \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c<br \/>\n                int     21h             ; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ncheck:<br \/>\n                mov     ah, 52h         ; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u043f\u0438\u0441\u043a\u0430<br \/>\n                int     21h             ; \u0441\u043f\u0438\u0441\u043a\u043e\u0432 MS-DOS \u0438 \u0437\u0430\u043d\u0435\u0441\u0442\u0438<br \/>\n                mov     bx, es:[bx-2]   ; \u0432 BX \u0430\u0434\u0440\u0435\u0441 \u0431\u043b\u043e\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438.<br \/>\n                mov     dx, cs          ; DX= \u0441\u0435\u0433. \u0430\u0434\u0440\u0435\u0441 PSP \u043f\u0440\u043e\u0433\u0440.<br \/>\ncheck_next:<br \/>\n                mov     es, bx          ; ES=\u0441\u0435\u0433. \u0430\u0434\u0440\u0435\u0441 \u0442\u0435\u043a. \u0431\u043b\u043e\u043a\u0430.<br \/>\n                cmp     es:[MCB_type], 05Ah ; \u0415\u0441\u043b\u0438 \u0431\u043b\u043e\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439,<br \/>\n                je      command         ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043e\u0431\u0440. \u043a\u043e\u043c\u0430\u043d\u0434.<\/p>\n<p>                cmp     es:[MCB_type], 04Dh ; \u0415\u0441\u043b\u0438 \u0442\u0438\u043f \u0431\u043b\u043e\u043a\u0430 \u043d\u0435 4Dh,<br \/>\n                jne     check_error     ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435.<br \/>\n                add     bx, es:[MCB_size]; \u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435-<br \/>\n                inc     bx              ; \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0431\u043b\u043e\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438.<br \/>\n                mov     ax, es:[MCB_PSP]; AX=PSP \u0438\u0437 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430.<br \/>\n                cmp     ax, 8           ; \u0415\u0441\u043b\u0438 \u0431\u043b\u043e\u043a \u041e\u0421 \u0438\u043b\u0438 \u0441\u0432\u043e\u0431.,<br \/>\n                jbe     check_next      ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434. \u0431\u043b\u043e\u043a.<br \/>\n                cmp     ax, dx          ; \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0431\u043b\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b,<br \/>\n                je      check_next      ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434. \u0431\u043b\u043e\u043a.<\/p>\n<p>                cld                     ; \u0421\u0431\u0440\u043e\u0441 \u0444\u043b\u0430\u0433\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<br \/>\n                mov     es, ax          ; ES=PSP \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                lea     si, [int_new]   ; SI=DI=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438-<br \/>\n                mov     di, si          ; \u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435.<br \/>\n                mov     cx, code_size   ; CX=\u0434\u043b\u0438\u043d\u0430 \u043a\u043e\u0434\u0430 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                repe    cmpsw           ; \u0421\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<br \/>\n                jne     check_next      ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043f\u043e \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044e.<br \/>\n                mov     [PSP_tsr], es   ; \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430<br \/>\n                jmp     short check_next; \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u043b\u0435\u0434. \u0431\u043b\u043e\u043a.<br \/>\ncheck_error:<br \/>\n                lea     dx, [error_msg] ; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                jmp     short terminate ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ncommand:<br \/>\n                lea     si, ds:[psp_par]; SI=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440.<br \/>\n                mov     al, [si]        ; \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u043b\u0438\u043d\u044b \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 AL.<br \/>\n                mov     cl, al          ; \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0441\u0438\u043c\u0432\u043e-<br \/>\n                mov     ch, 0           ; \u043b\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432 CX.<br \/>\ncommand_loop:<br \/>\n                inc     si              ; SI=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0434. \u0441\u0438\u043c\u0432\u043e\u043b\u0430.<br \/>\n                dec     cx              ; \u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>\n                jl      command_absent  ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434, \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d.<br \/>\n                mov     ax, [si]        ; AX=\u0434\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438.<br \/>\n                cmp     ax, &#8216;I\/&#8217;        ; \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \/I,<br \/>\n                je      install         ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a.<br \/>\n                cmp     ax, &#8216;i\/&#8217;        ; \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \/i,<br \/>\n                je      install         ; \u0442\u043e \u0442\u043e\u0436\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a<br \/>\n                cmp     ax, &#8216;U\/&#8217;        ; \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \/U,<br \/>\n                je      relese          ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n                cmp     ax, &#8216;u\/&#8217;        ; \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \/u,<br \/>\n                je      relese          ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n                cmp     al, CR          ; E\u0441\u043b\u0438 \u043d\u0435 \u043a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u043e\u043a\u0438,<br \/>\n                jne     command_loop    ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0446\u0438\u043a\u043b\u0430<br \/>\ncommand_absent:<br \/>\n                lea     dx, [nopar_msg] ; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                jmp     short terminate ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 (\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0435\u0435 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438)<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nrelese:<br \/>\n                lea     dx, [absent_msg]; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                mov     ax, [PSP_tsr]   ; AX=\u0430\u0434\u0440\u0435\u0441 PSP \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                or      ax, ax          ; E\u0441\u043b\u0438 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430 \u043d\u0435\u0442,<br \/>\n                jz      terminate       ; \u0442\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<\/p>\n<p>                mov     es, ax          ; C\u0431\u0440\u043e\u0441 \u0444\u043b\u0430\u0433\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f<br \/>\n                mov     es:[flag_on], 0h; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>                mov     ah, 035h        ; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 ES:BX<br \/>\n                mov     al, int_no      ; \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435-<br \/>\n                int     21h             ; \u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c int_no.<\/p>\n<p>                lea     dx, [deact_msg] ; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                cmp     bx, offset int_new; \u0415\u0441\u043b\u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0440\u0430\u0432\u043d\u044b,<br \/>\n                jne     terminate       ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n                mov     ax, es          ; AX=\u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.<br \/>\n                cmp     ax, [PSP_tsr]   ; \u0415\u0441\u043b\u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u043d\u0435 \u0440\u0430\u0432\u043d\u044b,<br \/>\n                jne     terminate       ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<\/p>\n<p>                mov     ah, 025h        ; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u0430\u0434\u0440\u0435\u0441<br \/>\n                mov     al, int_no      ; \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438<br \/>\n                mov     dx, es:[int_ofs]; \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f int_no,<br \/>\n                mov     ds, es:[int_seg]; \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 DS:DX<br \/>\n                int     21h             ; \u0438\u0437 \u0442\u0435\u043b\u0430 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<br \/>\nrelese_wait:<br \/>\n                cmp     es:[flag_in], 0 ; \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043a\u0440\u0438-<br \/>\n                jne     relese_wait     ; \u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                mov     ah, 49h         ; \u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0431\u043b\u043e\u043a, \u0432\u044b\u0434\u0435\u043b\u0435\u043d-<br \/>\n                int     21h             ; \u043d\u044b\u0439 \u0434\u043b\u044f \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<\/p>\n<p>                push    cs              ; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 DS \u0430\u0434\u0440\u0435\u0441<br \/>\n                pop     ds              ; \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>\n                lea     dx,[release_msg]; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0412\u044b\u0434\u0430\u0447\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435\u0439 \u043a\u043e\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 DOS<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nterminate:<br \/>\n                mov     bx, dx          ; \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                inc     dx              ; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 DX \u0441\u043c\u0435\u0449.\u0441\u0442\u0440\u043e\u043a\u0438.<br \/>\n                mov     ah, 09h         ; \u0412\u044b\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438, \u043e\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e-<br \/>\n                int     21h             ; \u0449\u0435\u0439\u0441\u044f &#8216;$&#8217; \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<br \/>\n                lea     dx, copyright   ; \u0412\u044b\u0432\u043e\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0430\u0432\u0430\u0445<br \/>\n                int     21h             ; \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>                mov     ah, 04Ch        ; \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433-<br \/>\n                mov     al, [bx]        ; \u0440\u0430\u043c\u043c\u044b \u0441 \u043a\u043e\u0434\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430<br \/>\n                int     21h             ; \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0437 DX.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ninstall:<br \/>\n                mov     ax, [PSP_tsr]   ; AX=\u0430\u0434\u0440\u0435\u0441 PSP \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                or      ax, ax          ; E\u0441\u043b\u0438 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430 \u043d\u0435\u0442,<br \/>\n                jz      install_tsr     ; \u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443.<\/p>\n<p>                mov     es, ax          ; ES=\u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<br \/>\n                mov     es:[flag_on], 0FFh ; \u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0440\u0435\u0437\u0438\u0434.<br \/>\n                lea     dx, [presnt_msg]; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>\n                jmp     short terminate ; \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 (\u0438\u043d\u0441\u0442\u0430\u043b\u044f\u0446\u0438\u044f) \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\ninstall_tsr:<br \/>\n                mov     es, ds:[psp_env]; \u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0431\u043b\u043e\u043a \u043f\u0430\u043c\u044f\u0442\u0438,<br \/>\n                mov     ah, 49h         ; \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c<br \/>\n                int     21h             ; \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>                mov     ah, 035h        ; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e<br \/>\n                mov     al, int_no      ; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f<\/p>\n<p>                int     21h             ; \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0442\u0435\u043b\u0435<br \/>\n                mov     int_ofs, bx     ; \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0434\u043b\u044f<br \/>\n                mov     int_seg, es     ; \u0441\u0432\u044f\u0437\u0438 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a.<br \/>\n                mov     ah, 025h        ; \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043d\u043e\u0432\u043e\u0433\u043e<br \/>\n                mov     al, int_no      ; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f<br \/>\n                lea     dx, int_new     ; \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c int_no, \u043d\u0430\u0445\u043e\u0434\u044f-<br \/>\n                int     21h             ; \u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u0442\u0435\u043b\u0435 \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430.<\/p>\n<p>                lea     dx, [inst_msg+1]; DX=\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u043e\u0431\u0449.<br \/>\n                mov     ah, 9           ; \u0412\u044b\u0432\u043e\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0435<br \/>\n                int     21h             ; \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<br \/>\n                lea     dx, copyright   ; \u0412\u044b\u0432\u043e\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0430\u0432\u0430\u0445<br \/>\n                int     21h             ; \u043d\u0430 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>                mov     [flag_on], 0FFh ; \u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u0435\u0440\u044b\u0432.<\/p>\n<p>                lea     dx, [end_tsr+15]; \u0412\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0440\u0435\u0437\u0438\u0434\u0435\u043d-<br \/>\n                mov     cl, 4           ; \u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432<br \/>\n                shr     dx, cl          ; \u043f\u0430\u0440\u0430\u0433\u0440\u0430\u0444\u0430\u0445 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c<br \/>\n                mov     al, [inst_msg]  ; \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c<br \/>\n                mov     ah, 031h        ; \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438<br \/>\n                int     21h             ; \u0438 \u043a\u043e\u0434\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0438\u0437 \u0441\u043e\u043e\u0431\u0449.<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n; \u041e\u0431\u043b\u0430\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nPSP_tsr         dw      0                     ; \u0410\u0434\u0440\u0435\u0441 PSP \u0440\u0435\u0437\u0438\u0434\u0435\u043d\u0442\u0430<br \/>\nhead_msg        db      &#8216;\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 TSR&#8217;, EL<br \/>\ninst_msg        db      0, &#8216; \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.&#8217;, EL<br \/>\npresnt_msg      db      1, &#8216; \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430.&#8217;, EL<br \/>\ndeact_msg       db      2, &#8216; \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430.&#8217;, EL<br \/>\nabsent_msg      db      3, &#8216; \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.&#8217;, EL<br \/>\nrelease_msg     db      4, &#8216; \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438.&#8217;, EL<br \/>\nnopar_msg       db      5, &#8216; \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0431\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.&#8217;, EL<br \/>\nerror_msg       db      6, &#8216; (\u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0430 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c MS-DOS).&#8217;, EL<br \/>\n;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n                end     start           ; \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 8086 .8086 ; \u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 .model tiny ; \u041c\u043e\u0434\u0435\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438 (\u0434\u043b\u044f .COM) .code ; \u041a\u043e\u0434\u043e\u0432\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. ;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- ; \u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b ;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- HT equ 09h ; \u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u044f. CR equ 0Dh ; \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u043a\u0430\u0440\u0435\u0442\u043a\u0438. LF equ 0Ah ; \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438. EL equ &#8216;$&#8217; ; \u041a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f MS-DOS. ;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"_links":{"self":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22851"}],"collection":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22851"}],"version-history":[{"count":1,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22851\/revisions"}],"predecessor-version":[{"id":22852,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22851\/revisions\/22852"}],"wp:attachment":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22851"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}