ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Ρ†ΠΈΡ„Ρ€ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ. Π’Π²ΠΎΠ΄Π° числа выполняСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ числа начинаСтся со ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов; выполняСтся Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Π—Π°ΠΏΠΈΡΡŒ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ осущСствляСтся согласно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ: Ρ€Π°Π½Π΅Π΅ записанноС число умноТаСтся Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы счислСния (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, Π½Π° 10) ΠΈ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния

Основная Ρ†Π΅Π»ΡŒ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния, начиная со ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов мноТитСля, ΠΏΡ€ΠΈ сдвигС суммы частичного произвСдСния Π²Π»Π΅Π²ΠΎ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΌ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, основанный Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ исслСдованы особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚мичСском языкС Assembler. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ составлСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

1. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ ΠΎΡΠ½ΠΎΠ²Ρƒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ умноТСния, начиная со ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов мноТитСля, ΠΏΡ€ΠΈ сдвигС суммы частичного произвСдСния Π²Π»Π΅Π²ΠΎ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΌ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠΌ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ мноТитСля, начиная с Π΅Π³ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов, ΠΈ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ сдвига частичного произвСдСния Π²Π»Π΅Π²ΠΎ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ числа (ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ) бСрутся ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ умноТСния состоит ΠΈΠ· Ρ€ΡΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния частичных ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠΌΠΈ слоТСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ разряды мноТитСля: Ссли Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ разрядС мноТитСля находится Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Ρ‚ΠΎ ΠΊ ΡΡƒΠΌΠΌΠ΅ частичных ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ добавляСтся ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ сдвигом (Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ), Ссли Π² Ρ€Π°Π·Ρ€ΡΠ΄Π΅ мноТитСля — ноль, Ρ‚ΠΎ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΠ΅Ρ‚ся, Π½ΠΎ ΡƒΡ‡ΠΈΡ‚ываСтся, Ρ‡Ρ‚ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·Π° разряда мноТитСля Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сдвиг. ПослСдний сдвиг частичного произвСдСния Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.

0,101

Π§

<

<

<

2. РСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Assembler

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ основного алгоритмичСского языка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ язык программирования Assembler, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, являясь языком Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для модСлирования Ρ€Π°Π±ΠΎΡ‚, связанных с Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, находящСйся Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС Π²ΠΈΠ΄Ρ‹ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π¦ΠŸΠ£ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСгистры:

РСгистр AX — ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅;

РСгистр BX — ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ;

РСгистр CX — рСгистр-счСтчик Ρ†ΠΈΠΊΠ»ΠΎΠ²;

РСгистр DX — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, содСрТит сумму частичных ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ.

Π’ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ рСгистров ΠΌΠΎΠΆΠ΅Ρ‚ динамичСски ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, вслСдствиС Ρ‡Π΅Π³ΠΎ, Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… рСгистров Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² ΡΡ‚Π΅ΠΊ, ΠΈ ΠΏΡ€ΠΈ нСобходимости Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ.

Π’ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHL (сдвиг Π²Π»Π΅Π²ΠΎ), SHR (сдвиг Π²ΠΏΡ€Π°Π²ΠΎ), CMP (сравнСниС), логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ AND (И), NOT (НЕ), XOR (ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜) ΠΈ Π°Ρ€ΠΈΡ„мСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ADD (слоТСниС), SUB (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅), MUL (ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅), DIV (Π΄Π΅Π»Π΅Π½ΠΈΠ΅).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ‚Ρ€Π΅Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€: PRINTBIN, PBALG ΠΈ PBALG8.

Основная ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Ρ†ΠΈΡ„Ρ€ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ. Π’Π²ΠΎΠ΄Π° числа выполняСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ числа начинаСтся со ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов; выполняСтся Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Π—Π°ΠΏΠΈΡΡŒ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ осущСствляСтся согласно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ: Ρ€Π°Π½Π΅Π΅ записанноС число умноТаСтся Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы счислСния (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, Π½Π° 10) ΠΈ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ прибавляСтся Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ число. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Π²Π²ΠΎΠ΄Π° минуса, выполняСтся ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ значСния рСгистра SI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π·Π½Π°ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

АналогичныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ проводятся ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ мноТитСля.

Оба числа выводятся Π½Π° ΡΠΊΡ€Π°Π½ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PRINTBIN. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ числа прСдставлСн Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌ разрядом ΠΈ ΠΌΠ°Π½Ρ‚иссой.

Π”Π°Π»Π΅Π΅ выполняСтся установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ², прСдставлСнного рСгистром CX. ПослС этого выполняСтся сдвиг Π²Π»Π΅Π²ΠΎ значСния частичного произвСдСния, хранящСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DX ΠΈ ΡΠ΄Π²ΠΈΠ³ Π²Π»Π΅Π²ΠΎ значСния мноТитСля (рСгистр BX). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ сдвигС значСния мноТитСля ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд пСрСносится Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ рСгистра BL, Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ BH, Π³Π΄Π΅ проводится Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ рСгистра BH Ρ€Π°Π²Π½ΠΎ 1, Ρ‚ΠΎ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ рСгистра DX (частичного произвСдСния) прибавляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ рСгистра AX (мноТитСля). Π’ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ случаС, Π΄Π°Π½Π½Ρ‹ΠΉ шаг пропускаСтся. Π”Π°Π»Π΅Π΅ выполняСтся очистка рСгистра BH с Ρ†Π΅Π»ΡŒΡŽ удалСния ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ разряда мноТитСля. ВсС эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° счСтчик Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ хранится Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DX.

Π”Π°Π»Π΅Π΅ выполняСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ числа Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π° ΡΠΊΡ€Π°Π½Π΅. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄Π° значСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, Π½Π° 10) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° частного ΠΈ ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°. ΠŸΡ€ΠΈ нСобходимости, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΡΠΊΡ€Π°Π½ выводится Π·Π½Π°ΠΊ минуса.

Π’ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для просмотра Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… дСйствий производится Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ PBALG ΠΈ PBALG8.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PRINTBIN

ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ значСния рСгистра AX (содСрТит Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ число) Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы «2». Π‘Π°ΠΌΠΎ число формируСтся ΠΏΡƒΡ‚Π΅ΠΌ добавлСния значСния остатка ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ Π² ΡΡ‚Π΅ΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ число записываСтся справа Π½Π°Π»Π΅Π²ΠΎ (Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС). ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ числа Π½Π° ΡΠΊΡ€Π°Π½ порядок восстанавливаСтся.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PBALG

ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ 16-разрядного Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ значСния рСгистра AX (содСрТит Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ число) Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы «2». ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ число записываСтся Π² 16-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ сСтку; всС Π½Π΅Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ, располагаСмыС Π² ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядах мантиссы, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ся Π² ΡΡ‚Π΅ΠΊ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PBALG8

ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½ Π² Π²ΠΈΠ΄Π΅ 8-разрядного Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ значСния рСгистра AX (содСрТит Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ число) Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы «2». ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ число записываСтся Π² 16-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ сСтку, начиная с Π²ΠΎΡΡŒΠΌΠΎΠ³ΠΎ разряда. Разряды с 0 ΠΏΠΎ 7 Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ ΠΌΠ»Π°Π΄ΡˆΠΈΡ… разрядов частичного произвСдСния ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡΠΊΡ€Π°Π½.

ВСкст Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ АссСмблСр прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

3. Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Для тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ исходныС Π΄Π°Π½Π½Ρ‹Π΅:

A = 115 = 1 110 011

B = 103 = 1 100 111

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вычислСния Π±Ρ‹Π»ΠΈ рассмотрСны Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ случая:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ случай.

A = 115 = 0,1 110 011

B = 103 = 0,1 100 111

Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай.

— A = -115 = 1,1 110 011

B = 103 = 0,1 100 111

Π’Ρ€Π΅Ρ‚ΠΈΠΉ случай.

A = 115 = 0,1 110 011

— B = -103 = 1,1 100 111

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ случай.

— A = -115 = 1,1 110 011

— B = -103 = 1,1 100 111

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ бСрутся ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, Ρ‚ΠΎ Π΄Π»Ρ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ случай.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 0,10 111 001 000 1012 = 11 84510

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для 4 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… случаСв прСдставлСн Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° модСлирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния, начиная со ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов мноТитСля, ΠΏΡ€ΠΈ сдвигС суммы частичного произвСдСния Π²Π»Π΅Π²ΠΎ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΌ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΌ.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π±Ρ‹Π» рассмотрСн ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, составлСн тСкст основной ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ составлСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ тСстированиС, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΈ сравнСны Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚Π΅ΠΌ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Разработанная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° модСлирования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния позволяСт ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ умноТСния, ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ всС выполняСмыС ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована ΠΊΠ°ΠΊ наглядноС пособиС для изучСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° умноТСния, Π»ΠΈΠ±ΠΎ для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

1) Π¦ΠΈΠ»ΡŒΠΊΠ΅Ρ€ Π‘. Π―., ΠžΡ€Π»ΠΎΠ² Π‘. А. «ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π­Π’Πœ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌ: Π£Ρ‡Π΅Π±Π½ΠΈΠΊ для Π²ΡƒΠ·ΠΎΠ²» — БПб.: ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «ΠŸΠΈΡ‚Π΅Ρ€», 2004;

2) ΠšΡ€ΡƒΠΏΠ½ΠΈΠΊ А. Π‘. «Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ АссСмблСр» — БПб.: ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «ΠŸΠΈΡ‚Π΅Ρ€», 2004;

3) ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π­Π’Πœ ΠΈ ΡΠΈΡΡ‚Π΅ΠΌ»;

4) ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€».

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

model small

stack 200h

data

ms0 db 'PROGRAM FOR MULTIPLACTION NUMBERS', '$';

ms1 db?, 13,10,'Enter the first number (A) (0−127):', '$'; строки

ms1a db?, 13,10,'|A| = 0,', '$'; для

ms2 db?, 13,10,'Enter the second number (B) (0−127):', '$'; Π²Ρ‹Π²ΠΎΠ΄Π°

ms2a db?, 13,10,'|B| = 0,', '$'; Π½Π°

ms3 db?, 13,10,'Vychisleniya:', 13,10,'$'; экран

mse db?, 13,10,'The result is ', '$';

code

printbin proc; Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PRINTBIN

push AX; сохранСниС содСрТимого рСгистра AX Π² ΡΡ‚Π΅ΠΊ

mov CX, 0; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² «0»

M1:

mov BX, 2; запись дСлитСля

div BX; Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСлСния

add DX, '0'; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° «0» для получСния ΠΊΠΎΠ΄Π° остатка

push DX; сохранСниС ΠΊΠΎΠ΄Π° остатка Π² ΡΡ‚Π΅ΠΊ

inc CX; ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π° «1»

cmp AX, 0; сравнСниС частного ΠΈ «0»

jne M1

M2:

pop DX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

mov AH, 02h; установка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° символа Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

dec CX; ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π° «1»

cmp CX, 0; сравнСниС значСния счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ «0»

jne M2

pop AX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния AX ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

ret; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля Π½Π° ΡΡ‚Ρ€ΠΎΠΊΡƒ прСрывания

printbin endp; ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PRINTBIN

pbalg proc; Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PBALG

push AX;

push BX; сохранСниС содСрТимого

push CX; рСгистров Π² ΡΡ‚Π΅ΠΊ

push DX;

mov DX, DI;

push AX;

mov AH, 02h; Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ символа ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, хранящСгося Π² DI

int 21h;

pop AX;

mov CX, 16; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

M3:

mov DX, 0;

mov BX, 2; Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ ΠΈ Π΄Π΅Π»ΠΈΡ‚Сля для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния

div BX; с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ASCII ΠΊΠΎΠ΄Π° остатка

add DX, '0';

push DX; сохранСниС ASCII ΠΊΠΎΠ΄Π° остатка Π² ΡΡ‚Π΅ΠΊ

M3A:

loop M3

mov CX, 16; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

M4:

pop DX;

mov AH, 02h; Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ числа, хранящСгося Π² ΡΡ‚Π΅ΠΊΠ΅

int 21h;

loop M4

mov AH, 02h;

mov DL, 13; пСрСнос курсора Π²Π½ΠΈΠ· Π½Π° ΠΎΠ΄Π½Ρƒ строку

int 21h;

mov DL, 10; пСрСнос указатСля Π² Π½Π°Ρ‡Π°Π»ΠΎ строки

int 21h;

pop DX;

pop CX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

pop BX; рСгистров ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

pop AX;

ret

pbalg endp; ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PBALG

pbalg8 proc; Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PBALG8

push AX;

push BX; сохранСниС содСрТимого

push CX; рСгистров Π² ΡΡ‚Π΅ΠΊ

push DX;

mov DX, DI;

push AX;

mov AH, 02h; Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ символа ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, хранящСгося Π² DI

int 21h;

pop AX;

mov CX, 16; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

A3:

mov DX, 0;

mov BX, 2; Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ ΠΈ Π΄Π΅Π»ΠΈΡ‚Сля для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния

div BX; с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ASCII ΠΊΠΎΠ΄Π° остатка

add DX, '0';

push DX; сохранСниС ΠΊΠΎΠ΄Π° остатка Π² ΡΡ‚Π΅ΠΊ

A3A:

loop A3

mov CX, 16; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

A4:

pop DX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· ΡΡ‚Π΅ΠΊΠ° для Π²Ρ‹Π²ΠΎΠ΄Π°

cmp CX, 9; Π°Π½Π°Π»ΠΈΠ· счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

jb A4A

mov DL, ' '; установка ΠΏΡ€ΠΎΠ±Π΅Π»Π° для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½

A4A:

mov AH, 02h; Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ числа, хранящСгося Π² ΡΡ‚Π΅ΠΊΠ΅

int 21h;

loop A4

mov AH, 02h;

mov DL, 13; пСрСнос курсора Π²Π½ΠΈΠ· Π½Π° ΠΎΠ΄Π½Ρƒ строку

int 21h;

mov DL, 10; пСрСнос указатСля Π² Π½Π°Ρ‡Π°Π»ΠΎ строки

int 21h;

pop DX;

pop CX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

pop BX; рСгистров ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

pop AX;

ret

pbalg8 endp

START:

mov AX,@DATA

mov DS, AX

mov AH, 09h;

mov DX, offset ms0; Π²Ρ‹Π²ΠΎΠ΄ привСтствСнного сообщСния

int 21h;

mov AH, 09h;

mov DX, offset ms1; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Π²Π²ΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ

int 21h;

mov DI, 0; очистка рСгистра ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

INP1:

mov AH, 08h; оТиданиС ввода символа

int 21h;

cmp AL, 13; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с ΠΊΠ»Π°Π²ΠΈΡˆΠ΅ΠΉ «Enter»

je EINP1

cmp AL, '-'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с ΠΌΠΈΠ½ΡƒΡΠΎΠΌ

jne I1

not SI; ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистра Π·Π½Π°ΠΊΠ° SI

mov AH, 02h;

mov DL, AL; Π²Ρ‹Π²ΠΎΠ΄ минуса Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

I1:

cmp AL, '0'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с «0»

jb INP1

cmp AL, '9'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с «9»

ja INP1

mov AH, 02h;

mov DL, AL; Π²Ρ‹Π²ΠΎΠ΄ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

xor AH, AH; очистка для получСния «Ρ‡ΠΈΡΡ‚ΠΎΠ³ΠΎ» числа

sub AX, '0'; ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ числа ΠΈΠ· ASCII ΠΊΠΎΠ΄Π°

mov CX, AX; сохранСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ CX

mov BX, 10; установка мноТитСля Π² «10»

mov AX, DI; установка ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ; числа

mul BX; Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ умноТСния

add AX, CX; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ; числу

mov DI, AX; сохранСниС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ числа Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ DI

jmp INP1

EINP1:

mov AH, 09h;

mov DX, offset sb1a; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ Π² 2-ΠΎΠΉ Π‘Π‘

int 21h;

mov AX, DI;

call binpr; Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния

push AX; сохранСниС ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΡΡ‚Π΅ΠΊ

mov AH, 09h;

mov DX, offset sb2; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Π²Π²ΠΎΠ΄Π΅ мноТитСля

int 21h;

mov DI, 0; очистка рСгистра ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

INP2:

mov AH, 08h; оТиданиС ввода символа

int 21h;

cmp AL, 13; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с ΠΊΠ»Π°Π²ΠΈΡˆΠ΅ΠΉ «Enter»

je EINP2

cmp AL, '-'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с ΠΌΠΈΠ½ΡƒΡΠΎΠΌ

jne I1

not SI; ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистра Π·Π½Π°ΠΊΠ° SI

mov AH, 02h;

mov DL, AL; Π²Ρ‹Π²ΠΎΠ΄ минуса Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

I2:

cmp AL, '0'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с «0»

jb INP2

cmp AL, '9'; сравнСниС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа с «9»

ja INP2

mov AH, 02h;

mov DL, AL; Π²Ρ‹Π²ΠΎΠ΄ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ символа Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

xor AH, AH; очистка для получСния «Ρ‡ΠΈΡΡ‚ΠΎΠ³ΠΎ» числа

sub AX, '0'; ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ числа ΠΈΠ· ASCII ΠΊΠΎΠ΄Π°

mov CX, AX;

mov BX, 10;

mov AX, DI; Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сдвига ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ дСсятичного

mul BX; числа Π²Π»Π΅Π²ΠΎ Π½Π° 1 разряд ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΌΡƒ

add AX, CX; ΠΊ Π½Π΅ΠΌΡƒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа

mov DI, AX;

jmp INP2

EINP2:

mov AH, 09h;

mov DX, offset ms2a; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π΅ мноТитСля Π² 2-ΠΎΠΉ Π‘Π‘

int 21h;

mov AX, DI;

call binpr; Π²Ρ‹Π²ΠΎΠ΄ мноТитСля Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния

mov BX, DI; пСрСнос мноТитСля Π² BX

mov AH, 09h;

mov DX, offset ms3; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

int 21h;

pop AX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ° Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ AX

mov DX, 0; очистка рСгистра ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

mov CX, 8; установка счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

M0:

shl DX, 1; сдвиг частичного произвСдСния Π²Π»Π΅Π²ΠΎ Π½Π° 1 разряд

push AX; сохранСниС значСния рСгистра AX Π² ΡΡ‚Π΅ΠΊ

mov AX, DX;

mov DI, '<'; установка Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

call pbalg; Π²Ρ‹Π²ΠΎΠ΄ частичного произвСдСния Π½Π° ΡΠΊΡ€Π°Π½

pop AX; восстановлСниС значСния рСгистра AX

shl BX, 1; сдвиг значСния мноТитСля Π²Π»Π΅Π²ΠΎ Π½Π° 1 разряд

cmp BH, 1; Π°Π½Π°Π»ΠΈΠ· ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ разряда мноТитСля

jne M0A

push AX;

mov DI, '+'; Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΡΠΊΡ€Π°Π½ значСния слагаСмого со Π·Π½Π°ΠΊΠΎΠΌ

call pbalg8; ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

pop AX;

add DX, AX; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ

M0A:

xor BH, BH; очистка ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ разряда мноТитСля

push AX;

mov AX, DX;

mov DI, '='; Π²Ρ‹Π²ΠΎΠ΄ значСния частичного произвСдСния Π½Π° ΡΠΊΡ€Π°Π½

call pbalg;

pop AX;

loop M0

push DX; сохранСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² ΡΡ‚Π΅ΠΊ

mov AX, 0;

mov AH, 09h; Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅

mov DX, offset sme;

int 21h;

cmp SI, 0; Π°Π½Π°Π»ΠΈΠ· Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ рСгистра

je NM

mov AH, 02h;

mov DL, '-'; Π²Ρ‹Π²ΠΎΠ΄ Π·Π½Π°ΠΊΠ° «-» Π½Π° ΡΠΊΡ€Π°Π½

int 21h;

NM:

pop AX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

mov CX, 0; сброс счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

R1:

mov DX, 0;

mov BX, 10; ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° значСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ разряда

div BX; Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния

add DX, '0';

push DX; сохранСниС ΠΊΠΎΠ΄Π° остатка Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

inc CX; ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»Π° Π½Π° «1»

cmp AX, 0; Π°Π½Π°Π»ΠΈΠ· частного Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

jne E1

R2:

pop DX; ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° разряда Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

mov AH, 02h; Π²Ρ‹Π²ΠΎΠ΄ числа

int 21h; Π½Π° ΡΠΊΡ€Π°Π½

dec CX; ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π° «1»

cmp CX, 0; Π°Π½Π°Π»ΠΈΠ· значСния счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

jne E2

mov AX, 4c00h; Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹

int 21h; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

end start.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘

PROGRAM FOR MULTIPLACTION NUMBERS

Enter the first number (A) (0−127):115

|A| = 0,1 110 011

Enter the second number (B) (0−127):103

|B| = 0,1 100 111

Vychisleniya:

<0

=0

<0

+ 1 110 011

=1 110 011

<11 100 110

+ 1 110 011

=101 011 001

<1 010 110 010

=1 010 110 010

<10 101 100 100

=10 101 100 100

<101 011 001 000

+ 1 110 011

=101 100 111 011

<1 011 001 110 110

+ 1 110 011

=1 011 011 101 001

<10 110 111 010 010

+ 1 110 011

=10 111 001 000 101

The result is 11 845

PROGRAM FOR MULTIPLACTION NUMBERS

Enter the first number (A) (0−127): — 115

|A| = 0,1 110 011

Enter the second number (B) (0−127):103

|B| = 0,1 100 111

Vychisleniya:

<0

=0

<0

+ 1 110 011

=1 110 011

<11 100 110

+ 1 110 011

=101 011 001

<1 010 110 010

=1 010 110 010

<10 101 100 100

=10 101 100 100

<101 011 001 000

+ 1 110 011

=101 100 111 011

<1 011 001 110 110

+ 1 110 011

=1 011 011 101 001

<10 110 111 010 010

+ 1 110 011

=10 111 001 000 101

The result is -11 845

PROGRAM FOR MULTIPLACTION NUMBERS

Enter the first number (A) (0−127):115

|A| = 0,1 110 011

Enter the second number (B) (0−127): — 103

|B| = 0,1 100 111

Vychisleniya:

<0

=0

<0

+ 1 110 011

=1 110 011

<11 100 110

+ 1 110 011

=101 011 001

<1 010 110 010

=1 010 110 010

<10 101 100 100

=10 101 100 100

<101 011 001 000

+ 1 110 011

=101 100 111 011

<1 011 001 110 110

+ 1 110 011

=1 011 011 101 001

<10 110 111 010 010

+ 1 110 011

=10 111 001 000 101

The result is -11 845

PROGRAM FOR MULTIPLACTION NUMBERS

Enter the first number (A) (0−127): — 115

|A| = 0,1 110 011

Enter the second number (B) (0−127): — 103

|B| = 0,1 100 111

Vychisleniya:

<0

=0

<0

+ 1 110 011

=1 110 011

<11 100 110

+ 1 110 011

=101 011 001

<1 010 110 010

=1 010 110 010

<10 101 100 100

=10 101 100 100

<101 011 001 000

+ 1 110 011

=101 100 111 011

<1 011 001 110 110

+ 1 110 011

=1 011 011 101 001

<10 110 111 010 010

+ 1 110 011

=10 111 001 000 101

The result is 11 845

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ assembler ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ