Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: конспСкт Π»Π΅ΠΊΡ†ΠΈΠΉΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 28

Автор А. Π¦Π²Π΅Ρ‚ΠΊΠΎΠ²Π°

Она Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с рСгистром АΠ₯ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1) Π΄Π΅Π»ΠΈΡ‚ al Π½Π° 10;

2) Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния записываСтся Ρ‚Π°ΠΊ: частноС Π² al, остаток Π² ah. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ aam Π² рСгистрах AL ΠΈ ah находятся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹ произвСдСния Π΄Π²ΡƒΡ… Ρ†ΠΈΡ„Ρ€.

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ обсуТдСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ aam Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΅Π΅ примСнСния. Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для прСобразования Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ числа Π² рСгистрС AL Π² Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ BCD-число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² рСгистрС Π°Ρ…: ΡΡ‚Π°Ρ€ΡˆΠ°Ρ Ρ†ΠΈΡ„Ρ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² ah, младшая – Π² al. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0… 99.


Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл

ΠŸΡ€ΠΎΡ†Π΅ΡΡ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния Π΄Π²ΡƒΡ… Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл нСсколько отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…, рассмотрСнных Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π½ΠΈΠΌΠΈ. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ дСйствия ΠΏΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π΄ΠΎ основной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ нСпосрСдствСнно Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ BCD-числа Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ BCD-число. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² рСгистрС Π°Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ BCD-Ρ†ΠΈΡ„Ρ€Ρ‹ Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ программист ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для Π½Π΅Π³ΠΎ способом. Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ aad – aad (ASCII Adjust for Division) β€“ коррСкция дСлСния для прСдставлСния Π² символьном Π²ΠΈΠ΄Π΅.

Команда Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ BCD-число Π² рСгистрС Π°Ρ… Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число. Π­Ρ‚ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число впослСдствии Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Ρ€ΠΎΠ»ΡŒ Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния. ΠšΡ€ΠΎΠΌΠ΅ прСобразования, ΠΊΠΎΠΌΠ°Π½Π΄Π° aad ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число Π² рСгистр AL. Π”Π΅Π»ΠΈΠΌΠΎΠ΅, СстСствСнно, Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ числом ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0… 99.

Алгоритм, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° aad осущСствляСт это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, состоит Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

1) ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ исходного BCD-числа Π² Π°Ρ… (содСрТимоС АН) Π½Π° 10;

2) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слоТСниС АН + AL, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ (Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число) занСсти Π² AL;

3) ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ содСрТимоС АН.

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

Аналогично ааш, ΠΊΠΎΠΌΠ°Π½Π΄Π΅ aad ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0… 99 Π² ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ эквивалСнт.

Для дСлСния чисСл большСй разрядности, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² случаС умноТСния, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«Π² столбик», Π»ΠΈΠ±ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

АрифмСтичСскиС дСйствия Π½Π°Π΄ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ BCD-числами

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


Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл

Π’Π½Π°Ρ‡Π°Π»Π΅ разбСрСмся с ΡΡƒΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ попытаСмся ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π° Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-числа. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл:

67 = 01100111

+

75 = 01110101

=

142 = 1101 1100 = 220

Как Π²ΠΈΠ΄ΠΈΠΌ, Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 1101 1100 (ΠΈΠ»ΠΈ 220 Π² дСсятичном прСдставлСнии), Ρ‡Ρ‚ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Π­Ρ‚ΠΎ происходит ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ микропроцСссор Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚ ΠΎ сущСствовании BCD-чисСл ΠΈ складываСт ΠΈΡ… ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ слоТСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл. На самом Π΄Π΅Π»Π΅, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичном Π²ΠΈΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ 0001 0100 0010 (ΠΈΠ»ΠΈ 142 Π² дСсятичном прСдставлСнии).

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈ для Π½Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл, для ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл сущСствуСт ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ прСдоставляСт для этого ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ daa – daa (Decimal Adjust for Addition) β€“ коррСкция Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° слоТСния для прСдставлСния Π² дСсятичном Π²ΠΈΠ΄Π΅.

Команда daa ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ содСрТимоС рСгистра al Π² Π΄Π²Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π² описании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ daa ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°ΡΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ слоТСния Π΅Π΄ΠΈΠ½ΠΈΡ†Π° (Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния большС 99) запоминаСтся Π² Ρ„Π»Π°Π³Π΅ cf, Ρ‚Π΅ΠΌ самым учитываСтся пСрСнос Π² ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд.


Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл

Аналогично слоТСнию, микропроцСссор рассматриваСт ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ BCD-числа ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΈ, соотвСтствСнно, выполняСт Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ BCD-чисСл ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ….


ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… BCD-чисСл.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ 67–75. Π’Π°ΠΊ ΠΊΠ°ΠΊ микропроцСссор выполняСт Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ способом слоТСния, Ρ‚ΠΎ ΠΈ ΠΌΡ‹ послСдуСм этому:

67 = 01100111

+

-75 = 10110101

=

-8 = 0001 1100 = 28

Как Π²ΠΈΠ΄ΠΈΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 28 Π² дСсятичной систСмС счислСния, Ρ‡Ρ‚ΠΎ являСтся абсурдом. Π’ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичном ΠΊΠΎΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ 0000 1000 (ΠΈΠ»ΠΈ 8 Π² дСсятичной систСмС счислСния).

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

Π‘Π°ΠΌΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ BCD-чисСл осущСствляСтся простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ вычитания sub ΠΈΠ»ΠΈ sbb. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° осущСствляСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ das – das (Decimal Adjust for Substraction) β€“ коррСкция Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычитания для прСдставлСния Π² дСсятичном Π²ΠΈΠ΄Π΅.

Команда das ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ содСрТимоС рСгистра AL Π² Π΄Π²Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ дСсятичныС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π² описании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ das.

Π›Π•ΠšΠ¦Π˜Π― β„– 19. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния

1. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Наряду со срСдствами арифмСтичСских вычислСний, систСма ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ срСдства логичСского прСобразования Π΄Π°Π½Π½Ρ‹Ρ…. Под логичСскими ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ прСобразования Π΄Π°Π½Π½Ρ‹Ρ…, Π² основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅ΠΆΠ°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.

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

Рис. 29. БрСдства логичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…


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

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ рассмотрСниСм этих срСдств рассмотрим, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой сами логичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ производятся.

ЛогичСскиС Π΄Π°Π½Π½Ρ‹Π΅

ВСорСтичСской Π±Π°Π·ΠΎΠΉ для логичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… являСтся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. БущСствуСт нСсколько систСм Π»ΠΎΠ³ΠΈΠΊΠΈ. Одна ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных – это исчислСниС высказываний. ВысказываниС – это любоС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π»ΠΈΠ±ΠΎ истинно, Π»ΠΈΠ±ΠΎ Π»ΠΎΠΆΠ½ΠΎ.

Π˜ΡΡ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ высказываний прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для опрСдСлСния истинности ΠΈΠ»ΠΈ лоТности Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ высказываний.

Π˜ΡΡ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ высказываний ΠΎΡ‡Π΅Π½ΡŒ Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΡ‡Π½ΠΎ сочСтаСтся с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ основными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π΅Π³ΠΎ программирования. ВсС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° построСны Π½Π° логичСских микросхСмах. БистСма прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π° самом Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ основана Π½Π° понятии Π±ΠΈΡ‚Π°. Π‘ΠΈΡ‚, имСя всСго Π΄Π²Π° состояния (0 (Π»ΠΎΠΆΠ½ΠΎ) ΠΈ 1 (истинно)), СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ вписываСтся Π² исчислСниС высказываний.

Богласно Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, Π½Π°Π΄ высказываниями (Π½Π°Π΄ Π±ΠΈΡ‚Π°ΠΌΠΈ) ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.


1. ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ (логичСскоС НЕ) β€“ логичСская опСрация Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, обратная Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ исходного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

Π­Ρ‚Π° опСрация ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ характСризуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ истинности (Ρ‚Π°Π±Π». 12).

Π’Π°Π±Π»ΠΈΡ†Π° 12. Π’Π°Π±Π»ΠΈΡ†Π° истинности для логичСского отрицания

2. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ слоТСниС (логичСскоС Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜) β€“ логичСская опСрация Π½Π°Π΄ двумя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся «истина» (1), Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» (1), ΠΈ «лоТь» (0), Ссли ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «лоТь» (0).

Π­Ρ‚Π° опСрация описываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности (Ρ‚Π°Π±Π». 13).

Π’Π°Π±Π»ΠΈΡ†Π° 13. Π’Π°Π±Π»ΠΈΡ†Π° истинности для логичСского Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜

3. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (логичСскоС И) β€“ логичСская опСрация Π½Π°Π΄ двумя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся «истина» (1) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» (1). Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ «лоТь» (0).

Π­Ρ‚Π° опСрация описываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности (Ρ‚Π°Π±Π». 14).

Π’Π°Π±Π»ΠΈΡ†Π° 14. Π’Π°Π±Π»ΠΈΡ†Π° истинности для логичСского И

4. Π›ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ слоТСниС (логичСскоС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜) β€“ логичСская опСрация Π½Π°Π΄ двумя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся «истина» (1), Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» (1), ΠΈ лоТь (0), Ссли ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «лоТь» (0) ΠΈΠ»ΠΈ «истина» (1). Π­Ρ‚Π° опСрация описываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности (Ρ‚Π°Π±. 15).