рдЕрдЪреНрдЫрд╛ рдкреБрд░рд╛рдирд╛ "рдореИрдЯреНрд░рд┐рдХреНрд╕" рдпрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░

рд╣реЗрдмреЗрд░реА рдмрд╛рд░-рдмрд╛рд░ рдкреНрд░рд╕рд┐рджреНрдз рдлрд┐рд▓реНрдо "рдж рдореИрдЯреНрд░рд┐рдХреНрд╕" рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рд╕рднреА рддрдерд╛рдХрдерд┐рдд рд╡реНрдпреВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд░реНрдЧ рдХреЗ рд╣реИрдВ, рд╡реЗ рдЖрдкрдХреЛ рджреБрдирд┐рдпрд╛ рдХреА рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд┐рд▓реНрдо рдХреЗ рдореБрдЦреНрдп рдкрд╛рддреНрд░ рд░рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрди рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореИрдВ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рддреНрд░рдпреА рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореЙрд░реНрдлрд┐рдпрд╕ рдирд╛рдо рдХреЗ рдПрдХ рдирд╛рдпрдХ рджреНрд╡рд╛рд░рд╛ рдлрд┐рд▓реНрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред



рдкреНрдпрд╛рд░реЗ рджреЛрд╕реНрддреЛрдВ, рдпрд╣ рд▓реЗрдЦ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ рдЬреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдбреЙрд╕ рдХреНрдпрд╛ рд╣реИ, 80x25 рд╡реАрдбрд┐рдпреЛ рдореЛрдб рдФрд░ рдкреБрд░рд╛рдиреЗ-рд╕реНрдХреВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдХреА рдЕрдиреНрдп "рдЕрджреНрднреБрдд рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ"ред рдФрд░ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рдЗрдЪреНрдЫреБрдХ рд╣реИред

рдЗрд╕ рдХрд╣рд╛рдиреА рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред 2000 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЬрдм рдореИрдВ рдПрдХ рдЫрд╛рддреНрд░ рдерд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг (рдкреЙрдХреЗрдЯ рдкрд░реНрд╕рдирд▓ рдХрдВрдкреНрдпреВрдЯрд░) рдерд╛: рдХреЙрдореНрдкреИрдХ iPAQ H3800 рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдкреЙрдХреЗрдЯ рдкреАрд╕реА 2002 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдЧрд╛рдБрд╡ рдореЗрдВ рд▓рдВрдмреА, рдЧрд╣рд░реА рд╕рд░реНрджрд┐рдпреЛрдВ рдХреА рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рднреА рдереАрдВред рдЗрд╕ рдЬрдЧрд╣ рдкрд░ рди рддреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рди рд╣реА рдкрд░реНрд╕рдирд▓ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рдЙрдкрдХрд░рдг рдФрд░ рдорд╕реНрддрд┐рд╖реНрдХ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреА рдЫрд╛рддреНрд░ рдХреА рдорд╣рд╛рди рдЗрдЪреНрдЫрд╛ рдЯреНрд░рд┐рд╡рд┐рдпрд▓ рдХреНрд░реЙрд╕ / рд╕реНрдХреИрдирд╡рд░реНрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ, рдЗрд╕ рдЙрдкрдХрд░рдг рдкрд░ рдЧрд╛рдБрд╡ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ PocketDOS рдирд╛рдордХ рдПрдХ рдбреЙрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдПрдореБрд▓реЗрдЯрд░ рд▓рдЧрд╛рдпрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрд╕ рд╕рдордп рдореЗрд░реЗ рд╕рд╛рде рдореЗрд░реА "рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХ" рдереА, рдпрд╣ рд▓реЗрдЦрдХ рдПрд╕ рдЬрд╝реБрдХреЛрд╡ рдХрд╛ рдПрдХ рдЕрджреНрднреБрдд рдХрд╛рдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реИ: " рдбреЙрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдпреВрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓рд░ред " рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдХрд╛рдо рдореЗрдВ рдЖрдП: рд╡рд┐рдВрдбрд╡реЛрд╕ рдкреЙрдХреЗрдЯ рдкреАрд╕реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдПрдХ рд╕реНрдЯрд╛рдЗрд▓рд╕ рдФрд░ рдПрдХ рдорд╛рдирдХ рдиреЛрдЯрдмреБрдХред
(рдлрд┐рд▓рд╣рд╛рд▓, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбреЙрд╕рдмреЙрдХреНрд╕ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдЯреАрдПрдПрд╕рдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛)ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рд╛рд▓рд┐рдпрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо "рдЖрдк рдХрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓рд┐рдЦреЗрдВрдЧреЗ?" рдореЗрд░реЗ рдЕрдиреБрдорд╛рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЙрд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред

рддреЛ, рдЖрдЗрдП IAQ H3800 рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдмреЛрд░рд▓реИрдВрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рд▓рд┐рдВрдХрд░ рдЯрд░реНрдмреЛ рдЕрд╕реЗрдВрдмрд▓рд░ (рдЗрд╕рдХреЗ рдмрд╛рдж TASM) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЙрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, i80186 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП, рдЕрд╕реЗрдВрдмрд▓рд░ рднрд╛рд╖рд╛ рдореЗрдВ "рдореИрдЯреНрд░рд┐рдХреНрд╕" рдХреНрд░реЙрд╕рд╡рд░реНрдб рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, i80186 рдкреНрд░реЛрд╕реЗрд╕рд░ 16 рдмрд┐рдЯ рд╣реИ, рдХреНрд░рдорд╢рдГ, рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ 16 рдмрд┐рдЯреНрд╕ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдПрдХреНрд╕ рдмреИрдЯрд░реА рд░рдЬрд┐рд╕реНрдЯрд░) рдФрд░ 8 рдмрд┐рдЯреНрд╕ рдХреЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ (рдПрдПрдЪ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдПрдПрд▓ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ)ред рд╣рдореЗрдВ BIOS рдЗрдВрдЯрд░рдкреНрдЯ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: 10h рдФрд░ 16h, рдЬреЛ рдХреНрд░рдорд╢рдГ рд╡реАрдбрд┐рдпреЛ рдореЛрдб рдФрд░ рдХреАрдмреЛрд░реНрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдФрд░ рдбреЙрд╕ рдЗрдВрдЯрд░рдкреНрдЯ 21h рдЧрд┐рдирд╛ рдЧрдпрд╛, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдПрдХ рд▓рд╛рдЗрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред

рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реИрдо рдХреА рдПрдХ рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк - .com рдФрд░ рдЫреЛрдЯреЗ рдореЗрдореЛрд░реА рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдбреЙрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд╛рдВрддрд░рдХ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрдореЛрд░реА 100 рдПрдЪ рдореЗрдВ рдкреАрдЫреЗ рд╣рдЯрдирд╛ред

.model tiny ;     .186 ;  i80186 .code ;   ,   org 100h ;    


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╣ рдореЗрдореЛрд░реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЪрд░ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреБрд░рдВрдд рдореЗрдореЛрд░реА рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХреВрдж рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рди рдХрд░реЗрдВ:

 main: jmp start ;          W equ 1Fh H equ 18h OFFS equ 04h cells db W + OFFS dup(0) c_n db W + OFFS dup(0) bsymb db 0 _sleep dw 1fffh ;        the_matrix db "THEMATRI X" ;   ,   the_matrix_len equ $ - the_matrix ;   ,  $       msg_end db 0ah, 0dh, "Follow the white rabbit.", 0ah, 0dh, "$" timer dw 04ffh ;     


рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП рдЬрдм рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╡реАрдбрд┐рдпреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЛрдб рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд░реНрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЛрдб рдХреЛ рд╕рд╣реЗрдЬреЗрдВред

 mov ax, 0f00h ;    int 10h push ax ;     

рд╣рдо рд╡реАрдбрд┐рдпреЛ рдореЛрдб рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдЯреЗрдХреНрд╕реНрдЯ CGA, EGA 80x25:

 mov ax, 0003h int 10h 


рдЕрдЧрд▓рд╛ рдХреЛрдб рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЬрд╛рджреВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ:
  1. рдорд┐рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реАрди рдкрд░ рдЪрд░рд┐рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛
  2. рдХрд░реНрд╕рд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪрд░рд┐рддреНрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛
  3. рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдЪрд░рд┐рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг
  4. ASCII рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЪрд░рд┐рддреНрд░ рдирд┐рд░реНрдорд╛рдг
  5. рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВ
  6. рдЕрдЧрд▓реЗ рд╡рд░реНрдг рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмреАрдЪ рд╡рд┐рд▓рдВрдм рдЪрдХреНрд░
  7. THEMATRIX рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕рдордпрд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реА рд╣реИ
  8. рд╢рд┐рд▓рд╛рд▓реЗрдЦ "THEMATRIX" рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 main_loop: imul dx, 4E35h inc dx push dx and dh, W add dh, OFFS shr dx, 08h mov bx, dx lea di, cells add byte ptr [di+ bx], 1 mov dh, byte ptr [di+ bx] cmp dh, H jne next1 mov byte ptr [di+ bx], 0 next1: cmp dh, 0 je draw1 dec dh ;   mov bh, 00h mov ah, 02h ;    int 10h mov ah, 09h ;  /     mov al, bsymb ;   mov bx, 0002h ;   ,   mov cx, 01h ; (   ) int 10h draw1: inc dh mov bh, 00h mov ah, 02h int 10h mov ah, 09h ;  /     pop dx imul dx, 4E35h inc dx push dx mov bsymb, dh ;   mov al, bsymb mov bx, 000Ah mov cx, 01h int 10h ;... pop dx imul dx, 4E35h inc dx push dx and dh, W add dh, OFFS shr dx, 08h mov bx, dx lea di, c_n add byte ptr [di+ bx], 01h mov dh, byte ptr [di+ bx] cmp dh, H + 01h jne next2 mov byte ptr [di+ bx], 00h next2: dec dh mov bh, 00h mov ah, 2 int 10h mov ah, 09h ;  /     mov al, 08h ;   mov bh, 00h ;   mov bl, 00h ;   ()   () mov cx, 0001h ;   int 10h ; sleep cycle mov cx, _sleep loop2: nop loop loop2 ;draw message cmp timer, 0 je no_msg dec timer mov ax, 1300h ;   mov ch, 00h mov cl, the_matrix_len mov bh, 00h ;   mov bl, 20h ;  mov dl, 0Bh ;  () mov dh, 0Bh ;  () lea bp, the_matrix ;   int 10h inc dh 





рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдм рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдлреЗрдж рдЦрд░рдЧреЛрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреАрдмреЛрд░реНрдб рдХреАрд╕реНрдЯреНрд░реЛрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╡рд░реНрдг рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛, рддреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд░реНрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ:
 mov ah, 01h int 16h pop dx jz loop1 jmp end_prog loop1: jmp main_loop 

рдкреНрд░рддреАрдХ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЛрдб рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 end_prog: pop ax ;     mov ah, 00h mov bh, 00h int 10h 

рд╕рдлреЗрдж рдЦрд░рдЧреЛрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
 mov ah, 09h ;     lea dx, msg_end ;  ,   '$' (ASCII 24H) int 21h 



рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
 mov ah, 4ch mov al, 00h ;   int 21h end main 


рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЗ рдЗрди рд╕рднреА рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЪрд┐рдкрдХрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рди рдФрд░ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 tasm /t /z matrix tlink /t matrix 


рдЕрдВрдд рдореЗрдВ, рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:




рдЕрдкрдбреЗрдЯ: рд╣реИрдмрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, "рдИрдорд╛рдирджрд╛рд░" рдореИрдЯреНрд░рд┐рдХреНрд╕ рдлрд╝реЙрдиреНрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде:

Source: https://habr.com/ru/post/In198106/


All Articles