Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π Π°Π±ΠΎΡ‚Π° с рСгистрами

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

РСгистры, Π±Π°ΠΉΡ‚Ρ‹, Π±ΠΈΡ‚Ρ‹

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ научимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с рСгистрами ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π—Π°Ρ‡Π΅ΠΌ? Π― Π΄ΡƒΠΌΠ°ΡŽ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄ сСбя, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ прямая Ρ€Π°Π±ΠΎΡ‚Π° с рСгистрами Π² скСтчах ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° встрСчаСтся довольно часто. Начнём с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ вспомним, Π³Π΄Π΅ ΠΌΡ‹ пишСм ΠΊΠΎΠ΄: Arduino IDE. НСсмотря Π½Π° большоС количСство Π½Π΅ всСгда ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π° Π² сторону этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ крутая. Помимо ΠΊΡƒΡ‡ΠΈ встроСнных инструмСнтов ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ β€œΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²β€ ΠΎΡ‚ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Arduino IDE позволяСт Π½Π°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования. Π­Ρ‚ΠΎ нСкая ΡƒΡΠ»ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΏΠΎ сути получаСтся Ρ‚Ρ€ΠΈ языка:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр? Π’ΡƒΡ‚ всё вСсьма просто: это свСрхбыстрыС Π±Π»ΠΎΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ 1 Π±Π°ΠΉΡ‚, находящиСся рядом с ядром МК ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ. На сторонС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Π’ рСгистрах ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° хранятся β€œΠ½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈβ€ для Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π΅Π³ΠΎ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ: Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹-счётчики, ΠΏΠΎΡ€Ρ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ, АЦП, шина UART, I2C, SPI ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅ ΠΆΠ΅Π»Π΅Π·ΠΎ, встроСнноС Π² МК. МСняя рСгистр, ΠΌΡ‹ Π΄Π°Ρ‘ΠΌ практичСски ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π—Π°ΠΏΠΈΡΡŒ Π² рСгистр Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 Ρ‚Π°ΠΊΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 0.0625 микросСкунды (ΠΏΡ€ΠΈ частотС тактирования 16 ΠœΠ“Ρ†) – это ΠžΠ§Π•ΠΠ¬ быстро. ИмСна рСгистров фиксированныС, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ Π½Π° ATmega328 – Arduino Nano/UNO/Mini). Π Π°Π±ΠΎΡ‚Π° с рСгистрами ΠΎΡ‡Π΅Π½ΡŒ нСпростая, Ссли Π²Ρ‹ Π½Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΡ… всС Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ названия Ρƒ Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅, Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ β€œΠΡ€Π΄ΡƒΠΈΠ½ΠΎΠ²ΡΠΊΠΈΠ΅β€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ собствСнно ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с рСгистрами, оставляя Π½Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ, ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. НичСго ΡΠ²Π΅Ρ€Ρ…ΡŠΠ΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ Π² этом Π½Π΅Ρ‚. Π—Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСгистрами Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ? Π•ΡΡ‚ΡŒ нСсколько Π±ΠΎΠ»ΡŒΡˆΠΈΡ… прСимущСств:

Но ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚Π° ΠΏΠΎ Π΅Π³ΠΎ названию ΠΌΠΎΠΆΠ½ΠΎ! ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π² рСгистрС, считая справа. CS11 Ρ€Π°Π²Π΅Π½ 1, WGM13 Ρ€Π°Π²Π΅Π½ 4, ICNC1 Ρ€Π°Π²Π΅Π½ 7 (см. Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Ρ‹ΡˆΠ΅). Π”ΡƒΠΌΠ°ΡŽ здСсь всё понятно: Π΅ΡΡ‚ΡŒ рСгистр (Π±Π°ΠΉΡ‚), ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя ΠΈ состоящий ΠΈΠ· 8 Π±ΠΈΡ‚, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ этого Π±ΠΈΡ‚Π° Π² Π±Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ рСгистра. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ этим всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π—Π°ΠΏΠΈΡΡŒ/Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ рСгистра

БущСствуСт нСсколько способов установки Π±ΠΈΡ‚ΠΎΠ² Π² рСгистрах. ΠœΡ‹ рассмотрим ΠΈΡ… всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΡΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ данная строчка ΠΊΠΎΠ΄Π°. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ вся Ρ€Π°Π±ΠΎΡ‚Π° с рСгистрами Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² установкС Π½ΡƒΠΆΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ (Π² рСгистрС) Π² состояниС 0 ΠΈΠ»ΠΈ 1. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠΊ ΠΏΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ опСрациям, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ максимально ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½ΠΎ всё, Ρ‡Ρ‚ΠΎ касаСтся манипуляций с Π±ΠΈΡ‚Π°ΠΌΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ вСрнёмся ΠΊ рСгистру Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π» Π²Ρ‹ΡˆΠ΅, ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ, это явноС Π·Π°Π΄Π°Π½ΠΈΠ΅ всСго Π±Π°ΠΉΡ‚Π° сразу, со всСми Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ ΠΈ нулями. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Волько Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ сразу ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅ стоит. Π§Π΅Π³ΠΎ Π½Π΅ скаТСшь ΠΏΡ€ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²Π°. ΠžΡ‡Π΅Π½ΡŒ часто Π² Ρ‡ΡƒΠΆΠΈΡ… скСтчах встрСчаСтся такая запись, ΠΈ это Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ β€œΠΏΡ€ΠΈΡ†Π΅Π»ΡŒΠ½ΠΎβ€ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ Π² Π±Π°ΠΉΡ‚Π΅, ΠΈ Ρ‚ΡƒΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят логичСскиС (Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ макросы. Рассмотрим всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π²ΠΎ всСх ΠΈΠ· Π½ΠΈΡ… BYTE это Π±Π°ΠΉΡ‚-рСгистр, ΠΈ BIT это Π½ΠΎΠΌΠ΅Ρ€ Π±ΠΈΡ‚Π°, считая с ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края. Π’ΠΎ Π΅ΡΡ‚ΡŒ BIT это Ρ†ΠΈΡ„Ρ€Π° ΠΎΡ‚ 0 Π΄ΠΎ 7, Π»ΠΈΠ±ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΡ‚Π° ΠΈΠ· Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°.

Установка Π±ΠΈΡ‚Π° Π² 1Установка Π±ΠΈΡ‚Π° Π² 0ОписаниС
BYTE |= (1BYTE &=

(1

ИспользованиС Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сдвига BYTE |= (2^BIT);BYTE &=

(2^BIT);

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 2 Π² стСпСни (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ!)
BYTE |= bit(BIT);BYTE &=

bit(BIT);

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ардуиновский макрос bit(), Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ сдвиг
BYTE |= _BV(BIT);BYTE &=

_BV(BIT);

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ _BV(), ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π°Π½Π°Π»ΠΎΠ³ сдвига
sbi(BYTE, BIT);cbi(BYTE, BIT);Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ общСпринятыС макросы sbi ΠΈ cbi
bitSet(BYTE, BIT);bitClear(BYTE, BIT);Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ардуиновскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bitSet() ΠΈ bitClear()

МоТно Π΅Ρ‰Ρ‘ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π³Π΄Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ строчкС ΠΌΠΎΠΆΠ½ΠΎ β€œΠΏΡ€ΠΈΡ†Π΅Π»ΡŒΠ½ΠΎβ€ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько Π±ΠΈΡ‚ΠΎΠ²:

Π― Π΄ΡƒΠΌΠ°ΡŽ Ρ‚ΡƒΡ‚ всё понятно, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ β€œΠΏΡ€ΠΈΡ†Π΅Π»ΡŒΠ½ΠΎβ€ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΠΈΡ‚ ΠΈΠ· рСгистра:

Π§Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚Π°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
(BYTE >> BIT) & 1Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· сдвиг
bitRead(BYTE, BIT)Ардуиновская ΠΌΠ°ΠΊΡ€ΠΎ-функция

Π”Π²Π° рассмотрСнных способа Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ 0 ΠΈΠ»ΠΈ 1 Π² зависимости ΠΎΡ‚ состояния Π±ΠΈΡ‚Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π•Ρ‰Ρ‘ большС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΡ‚Π°ΠΌΠΈ смотри Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΏΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ опСрациям.

16-Π±ΠΈΡ‚ рСгистры

Π’Π°ΠΊΡƒΡŽ запись ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π΅Π΄ΠΊΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ для совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ компиляторами. Π§Π°Ρ‰Π΅ всСго Π²Ρ‹ встрСтитС Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ значСния β€œΡΠΊΠ»Π΅ΠΈΠ²Π°ΡŽΡ‚ΡΡβ€ Ρ‡Π΅Ρ€Π΅Π· сдвиг:

Π—Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ со ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±Π°ΠΉΡ‚Π°. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ записываСм младший Π±Π°ΠΉΡ‚ (послСдний) – МК β€œΠ·Π°Ρ‰Π΅Π»ΠΊΠΈΠ²Π°Π΅Ρ‚β€ ΠΎΠ±Π° рСгистра Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, соотвСтствСнно Ссли сначала Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ младший – Π² ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ 0, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ запись ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АссСмблСр. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ памяти ΠΈ рСгистры

Обновл. 27 БСн 2021 |

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ памяти

МодСль сСгмСнтированной памяти Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ нСзависимых сСгмСнтов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, располоТСнныС Π² рСгистрах сСгмСнтов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСгмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ сСгмСнт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΊΠΎΠ΄Π° инструкций, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” для хранСния элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ β€” для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ стСка.

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ памяти:

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… (data segment) β€” прСдставлСн сСкциями .data ΠΈ .bss. БСкция .data ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния области памяти, Π³Π΄Π΅ хранятся элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° сСкция Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° послС объявлСния элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΎΠ½Π° остаСтся статичСской Π²ΠΎ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. БСкция .bss Ρ‚Π°ΠΊΠΆΠ΅ являСтся сСкциСй статичСской памяти, содСрТащСй Π±ΡƒΡ„Π΅Ρ€Ρ‹ для Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ·ΠΆΠ΅. Π­Ρ‚Π° буфСрная ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° нулями.

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° (code segment) β€” прСдставлСн сСкциСй .text. Он опрСдСляСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π² памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся ΠΊΠΎΠ΄Ρ‹ инструкций. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ фиксированная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

Π‘Ρ‚Π΅ΠΊ (stack) β€” это сСгмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит значСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

РСгистры

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с процСссором Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ сохранСны Π² памяти, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°. Однако процСсс чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти ΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссора, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ слоТный процСсс ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запроса Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π»ΠΎΠΊ памяти ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ· Π±Π»ΠΎΠΊΠ° ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΊΠ°Π½Π°Π»Ρƒ β€” Ρ‡Π΅Ρ€Π΅Π· ΡˆΠΈΠ½Ρƒ управлСния.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, процСссор ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ мСста хранСния памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ рСгистрами. РСгистры хранят элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π΅Π· нСобходимости ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ памяти. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство рСгистров встроСно Π² Ρ‡ΠΈΠΏ процСссора.

РСгистры процСссора

Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ IA-32 Π΅ΡΡ‚ΡŒ Π΄Π΅ΡΡΡ‚ΡŒ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΈ ΡˆΠ΅ΡΡ‚ΡŒ 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… процСссорных рСгистров. РСгистры дСлятся Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

ΠžΠ±Ρ‰ΠΈΠ΅ рСгистры (General Registers);

РСгистры управлСния (Control Registers);

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ рСгистры (Segment Registers).

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΎΠ±Ρ‰ΠΈΠ΅ рСгистры дСлятся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

РСгистры Π΄Π°Π½Π½Ρ‹Ρ… (Data Registers);

РСгистры-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ (Pointer Registers);

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹Π΅ рСгистры (Index Registers).

РСгистры Π΄Π°Π½Π½Ρ‹Ρ…

РСгистры Π΄Π°Π½Π½Ρ‹Ρ… β€” это Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для арифмСтичСских, логичСских ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΈ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ трСмя способами:

ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½Ρ‹Π΅ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры Π΄Π°Π½Π½Ρ‹Ρ…: EAX, EBX, ECX, EDX;

Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистра Π΄Π°Π½Π½Ρ‹Ρ…: AX, BX, CX ΠΈ DX;

ниТняя ΠΈ вСрхняя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… 16-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ восСмь 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров Π΄Π°Π½Π½Ρ‹Ρ…: AH, AL, BH, BL, CH, CL, DH ΠΈ DL.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

НСкоторыС ΠΈΠ· этих рСгистров Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ спСцифичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² арифмСтичСских опСрациях:

AX (primary accumulator) β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ сохраняСтся Π² рСгистрС EAX/AX/AL Π² соотвСтствии с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

BX (base register) β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ индСксированной адрСсации.

CX (count register) β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ опСрациях (Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ рСгистры ECX ΠΈ CX).

DX (data register) β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² опСрациях Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ с рСгистрами AX ΠΈ DX для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ умноТСния ΠΈ дСлСния, связанных с большими значСниями.

РСгистры-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ

РСгистрами-указатСлями ΡΠ²Π»ΡΡŽΡ‚ΡΡ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры EIP, ESP ΠΈ EBP ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры IP, SP ΠΈ BP. Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ рСгистров-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ:

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (Instruction Pointer ΠΈΠ»ΠΈ IP) β€” 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр IP Ρ…Ρ€Π°Π½ΠΈΡ‚ смСщСниС адрСса ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°. IP Π² сочСтании с рСгистром CS (ΠΊΠ°ΠΊ CS:IP) прСдоставляСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ инструкции Π² сСгмСнтС ΠΊΠΎΠ΄Π°.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° стСк (Stack Pointer ΠΈΠ»ΠΈ SP) β€” 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр SP обСспСчиваСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ стСкС. SP Π² сочСтании с рСгистром SS (SS:SP) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ адрСса Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ стСкС.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (Base Pointer ΠΈΠ»ΠΈ BP) β€” 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр BP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. АдрСс Π² рСгистрС SS ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ со смСщСниСм Π² BP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ мСстополоТСниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. BP Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с DI ΠΈ SI Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ рСгистра для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ адрСсации.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹Π΅ рСгистры

Π’ процСссорС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ индСксныС рСгистры ESI ΠΈ EDI ΠΈ ΠΈΡ… 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ вСрсии: SI ΠΈ DI. ВсС ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² индСксированной адрСсации, ΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π°, Π² опСрациях слоТСния/вычитания. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° индСксных ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ:

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ индСкс (Source Index ΠΈΠ»ΠΈ SI) β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС исходного индСкса Π² строковых опСрациях.

ИндСкс назначСния (Destination Index ΠΈΠ»ΠΈ DI) β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС индСкса назначСния Π² строковых опСрациях.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

РСгистры управлСния

РСгистром управлСния являСтся ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр инструкций ΠΈ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр Ρ„Π»Π°Π³ΠΎΠ² (рСгистр процСссора, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС). МногиС инструкции Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния ΠΈ матСматичСскиС вычислСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ способны ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояния Ρ„Π»Π°Π³ΠΎΠ², Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ условныС инструкции ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ значСния Ρ„Π»Π°Π³ΠΎΠ² состояния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСнСсти ΠΏΠΎΡ‚ΠΎΠΊ управлСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто.

РаспространСнныС Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ:

Π€Π»Π°Π³ пСрСполнСния (Overflow Flag ΠΈΠ»ΠΈ OF) β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΡ€Π°ΠΉΠ½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°) послС signed арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π€Π»Π°Π³ Π»ΠΎΠ²ΡƒΡˆΠΊΠ° (Trap Flag ΠΈΠ»ΠΈ TF) β€” позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссора Π² одношаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ пСрСноса (Auxiliary Carry Flag ΠΈΠ»ΠΈ AF) β€” послС выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ содСрТит пСрСнос ΠΎΡ‚ Π±ΠΈΡ‚Π° 3 Π΄ΠΎ Π±ΠΈΡ‚Π° 4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для спСциализированной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ. AF устанавливаСтся, ΠΊΠΎΠ³Π΄Π° 1-байтовая арифмСтичСская опСрация Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ пСрСнос ΠΈΠ· Π±ΠΈΡ‚Π° 3 Π² Π±ΠΈΡ‚ 4.

Π€Π»Π°Π³ пСрСноса (Carry Flag ΠΈΠ»ΠΈ CF) β€” послС выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ содСрТит пСрСнос 0 ΠΈΠ»ΠΈ 1 ΠΈΠ· ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π° (ΠΊΡ€Π°ΠΉΠ½Π΅Π³ΠΎ слСва). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ…Ρ€Π°Π½ΠΈΡ‚ содСрТимоС послСднСго Π±ΠΈΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² Π² 16-Π±ΠΈΡ‚Π½ΠΎΠΌ рСгистрС Ρ„Π»Π°Π³ΠΎΠ²:

Π€Π»Π°Π³:ODITSZAPC
Π‘ΠΈΡ‚ β„–:1514131211109876543210

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ рСгистры

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ β€” это спСцифичСскиС части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠ΄ ΠΈ стСк. Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ основных сСгмСнта:

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° (Code Segment ΠΈΠ»ΠΈ CS) β€” содСрТит всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹. 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр сСгмСнта ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ рСгистр CS Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс сСгмСнта ΠΊΠΎΠ΄Π°.

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… (Data Segment ΠΈΠ»ΠΈ DS) β€” содСрТит Π΄Π°Π½Π½Ρ‹Π΅, константы ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ области. 16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ рСгистр DS Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ стСка (Stack Segment ΠΈΠ»ΠΈ SS) β€” содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ адрСса ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Он прСдставлСн Π² Π²ΠΈΠ΄Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Β«Π‘Ρ‚Π΅ΠΊΒ». РСгистр сСгмСнта стСка ΠΈΠ»ΠΈ рСгистр SS Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс стСка.

ΠšΡ€ΠΎΠΌΠ΅ рСгистров CS, DS ΠΈ SS ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСгистры Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСгмСнтов β€” ES (Extra Segment), FS ΠΈ GS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСгмСнты для хранСния Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ рСгистры хранят Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ адрСса сСгмСнта. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ мСстополоТСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² сСгмСнтС, трСбуСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ смСщСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±ΡƒΡŽ ячСйку памяти Π² сСгмСнтС, процСссор ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ адрСс сСгмСнта Π² сСгмСнтном рСгистрС со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ смСщСния мСстополоТСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ рСгистры Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ассСмблСрС. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 9 Π·Π²Ρ‘Π·Π΄ΠΎΡ‡Π΅ΠΊ с простым сообщСниСм:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π£Ρ€ΠΎΠΊΠΈ FASM. РСгистры. Window x32

Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹?

Π­Ρ‚ΠΎ самая быстрая ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ПК ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠžΠ—Π£. Но ΠΏΡ€ΠΈ этом Ρ€Π°Π·ΠΌΠ΅Ρ€ рСгистров Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС Ρ‡Π΅ΠΌ ΠžΠ—Π£, ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠžΠ—Π£.

РСгистр RAX это Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ EAX, EAX это Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ AX, AX это объСдинСниС 2 рСгистров AH ΠΈ AL.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈwikipedia

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈOllyDbg

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈOllydbg

Π—Π°Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ разновидностСй 1 рСгистра?

Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π±ΠΎΠ»Π΅Π΅ старых вСрсий процСссоров x86 (обратная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π½Π° 64 Π±ΠΈΡ‚Π½ΠΎΠΌ ЦП Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 32 Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ)

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ рСгистры?

Π˜Ρ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ΄ свои Π·Π°Π΄Π°Ρ‡ΠΈ, Π½ΠΎ Π΅ΡΡ‚ΡŒ рСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ доступа, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π­Ρ‚ΠΎ 32 Π±ΠΈΡ‚Π½Ρ‹Π΅ рСгистры (16, 8):

ESI (SI, это 16 Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр, мСньшС Π½Π΅Ρ‚)

EDI (DI, это 16 Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр, мСньшС Π½Π΅Ρ‚)

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСгистрами?

Π’ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: числа со Π·Π½Π°ΠΊΠΎΠΌ (int), числа Π±Π΅Π· Π·Π½Π°ΠΊΠ° (unsigned int), числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (float, Π² x64 ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ double Π² рСгистрС), адрСс, символы (Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ рСгистра), ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистры:

Π§Ρ‚ΠΎ Π·Π° рСгистр FLAGS?

Π­Ρ‚ΠΎ рСгистр состояния ЦП, ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ чисСл, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ рСгистров.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РСгистры процСссора

Начиная с ΠΌΠΎΠ΄Π΅Π»ΠΈ 80386 процСссоры Intel ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ 16 основных рСгистров для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΅Ρ‰Ρ‘ 11 рСгистров для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΌΠΈ прилоТСниями (MMX) ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (FPU/NPX). ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ содСрТимоС рСгистров. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ рСгистрам быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΊ памяти. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС АссСмблСра рСгистры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим основныС рСгистры процСссоров Intel. Названия ΠΈ состав/количСство рСгистров для Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссоров ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π˜Ρ‚Π°ΠΊ, основныС рСгистры процСссоров Intel.

Π’Π°Π±Π»ΠΈΡ†Π° 2.1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры процСссора.

ΠΠ°Π·Π²Π°Π½ΠΈΠ΅Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΠžΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
EAX32Аккумулятор
EBX32Π‘Π°Π·Π°
ECX32Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊ
EDX32РСгистр Π΄Π°Π½Π½Ρ‹Ρ…
EBP32Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π±Π°Π·Ρ‹
ESP32Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка
ESI32ИндСкс источника
EDI32ИндСкс ΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠ°
EFLAGS32РСгистр Ρ„Π»Π°Π³ΠΎΠ²
EIP32Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ инструкции (ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹)
CS16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр
DS16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр
ES16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр
FS16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр
GS16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр
SS16Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ рСгистр

РСгистры EAX, EBX, ECX, EDX – это рСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Они ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ‚Π°ΠΊ ΡƒΠΆ слоТилось историчСски), ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

РСгистры EBP, ESP, ESI, EDI – это Ρ‚Π°ΠΊΠΆΠ΅ рСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Они ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ Π½ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ остороТно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Β«Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉΒ» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

РСгистр Ρ„Π»Π°Π³ΠΎΠ² ΠΈ сСгмСнтныС рСгистры Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ описания ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны Π΄Π°Π»Π΅Π΅.

Пока для вас здСсь слишком ΠΌΠ½ΠΎΠ³ΠΎ нСпонятных слов, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ всё прояснится)))

Когда-Ρ‚ΠΎ процСссоры Π±Ρ‹Π»ΠΈ 16-разрядными, ΠΈ, соотвСтствСнно, всС ΠΈΡ… рСгистры Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ 16-разрядными. Для совмСстимости со старыми ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для удобства программирования Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСгистры Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° 2 ΠΈΠ»ΠΈ 4 Β«ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…Β» рСгистра, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ свои ΠΈΠΌΠ΅Π½Π°. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2.2 пСрСчислСны Ρ‚Π°ΠΊΠΈΠ΅ рСгистры.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ рСгистра.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Из этого слСдуСт, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ помСстят Π² рСгистр AX число 1. Π Π°Π·Π½ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ разряды рСгистра EAX, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послС выполнСния Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² рСгистрС EAX Π±ΡƒΠ΄Π΅Ρ‚ число 1. А пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° оставит Π² ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядах рСгистра EAX старыС Π΄Π°Π½Π½Ρ‹Π΅. И Ссли Ρ‚Π°ΠΌ Π±Ρ‹Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ нуля, Ρ‚ΠΎ послС выполнСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² рСгистрС EAX Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ число, Π½ΠΎ Π½Π΅ 1. А Π²ΠΎΡ‚ Π² рСгистрС AX Π±ΡƒΠ΄Π΅Ρ‚ число 1. Π‘Π»ΠΎΠΆΠ½ΠΎ? Ну это пока… Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π²Ρ‹ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ Π²Π΅Ρ‰Π°ΠΌ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΠΈΡ‚Π΅.

ΠœΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ разрядах (Π±ΠΈΡ‚Π°Ρ…). Π­Ρ‚Ρƒ Ρ‚Π΅ΠΌΡƒ ΠΌΡ‹ обсудим Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, посвящённых систСмам счислСния. А сСйчас ΠΏΠΎΠΊΠ° Π²Π°ΠΌ достаточно Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ разряд (Π±ΠΈΡ‚) – это младший Π±ΠΈΡ‚. Он ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ справа. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚ – ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ слСва. НомСр ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±ΠΈΡ‚Π° зависит ΠΎΡ‚ разрядности числа/рСгистра. НапримСр, Π² 32-разрядном рСгистрС ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ являСтся 31-ΠΉ Π±ΠΈΡ‚ (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ отсчёт начинаСтся с 0, Π° Π½Π΅ с 1).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ список рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ описанным Π²Ρ‹ΡˆΠ΅ способом ΠΈ ΠΏΡ€ΠΈ этом ΠΊ Β«ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΊΠ°ΠΌΒ» ΠΈ Β«Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΒ» этих рСгистров ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ рСгистру.

Π’Π°Π±Π»ΠΈΡ†Π° 2.2. Β«Π”Π΅Π»ΠΈΠΌΡ‹Π΅Β» рСгистры..

Π Π΅Π³ΠΈΡΡ‚Ρ€Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ΅ Ρ€Π°Π·Ρ€ΡΠ΄Ρ‹Π˜ΠΌΠ΅Π½Π° 16-Ρ‚ΠΈ ΠΈ 8-ΠΌΠΈ Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров
31…1615…87…0
EAX.AX
AHAL
EBX.BX
BHBL
ECX.CX
CHCL
EDX.DX
DHDL
ESI.SI
EDI.DI
EBP.BP
ESP.SP
EIP.IP

На этом ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ нашС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ знакомство с рСгистрами. Если Π²Π°ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ всё понятно – просто ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ этот Ρ€Π°Π·Π΄Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистры. По ΠΌΠ΅Ρ€Π΅ приобрСтСния Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этому Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΈ ΡƒΠΆΠ΅ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. А Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ опишСм процСсс выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

MS-DOS ΠΈ TASM 2.0. Π§Π°ΡΡ‚ΡŒ 8. РСгистры.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

РСгистры процСссора.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΊΡƒΠ΄Π° ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с Тёсткого диска. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρƒ процСссора имССтся систСма, построСнная Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстрых Π±Π»ΠΎΠΊΠ°Ρ… памяти β€” рСгистров. РСгистры процСссора β€” это входящиС нСпосрСдствСнно Π² процСссор Π±Π»ΠΎΠΊΠΈ памяти.

Π˜Π·ΡƒΡ‡Π°Ρ‚ΡŒ рСгистры процСссора ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ с использованиСм ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° TD (Turbo Debugger) ΠΈ нашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«Hello, world!Β» (prg.com). Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ запускаСм прСдустановлСнный DOSBox ΠΈ ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ (всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ имССтся Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ DOS-1.rar, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с нашСго сайта).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈΠ˜Π·ΡƒΡ‡Π°Π΅ΠΌ рСгистры процСссора с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TD ΠΈ нашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Turbo Debugger цСлСсообразно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° всё ΠΎΠΊΠ½ΠΎ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ рСгистр Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈΠ˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ F5 для увСличСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ TD.

РСгистры процСссора Intel ΠΈ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ рСгистров ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ зависит ΠΎΡ‚ разрядности ΠΈ слоТности процСссора.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° рСгистры Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ постоянно ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ программиста ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Начиная с 80386, процСссоры Intel ΠΈ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ 16 основных рСгистров ΠΈ 11 рСгистров для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (FPU/NPX) ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΌΠΈ прилоТСниями (MMX). Для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ всСгда быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ рСгистру процСссора, Ρ‡Π΅ΠΌ ΠΊ памяти.

Помимо основных рСгистров ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ рСгистры управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (GDTR, IDTR, TR, LDTR), рСгистры управлСния (CR0, CR1 – CR4), ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ рСгистры (DR0 – DR7) ΠΈ машинно-зависимыС рСгистры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

РСгистры процСссора 8086.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с 16 Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой MS-DOS, Ρ‚ΠΎ вСрнёмся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° процСссоров 8086 ΠΈ 80286. Π’ процСссорах ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ рСгистры ΡΠ²Π»ΡΡŽΡ‚ΡΡ частями ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… 32 ΠΈ 64 Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров с сохранСниСм названия ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

НапримСр, рСгистр ax (16 Π±ΠΈΡ‚) являСтся ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ рСгистра eax (32 Π±ΠΈΡ‚Π°). Благодаря ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ достигаСтся ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ старых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. Π’Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, пСрСходя с 16 Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π² 32 Π±ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π˜Ρ‚Π°ΠΊ, процСссор (8086 ΠΈ 80286) содСрТит 12 16-Ρ‚ΠΈ разрядных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-адрСсуСмых рСгистров. РСгистры процСссора принято ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π² Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹:

ΠšΡ€ΠΎΠΌΠ΅ этого, Π² состав процСссора входят:

16-Ρ‚ΠΈ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ рСгистрС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ 0FFFFh Π±ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°: 0FFh-0FFh ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

РСгистры Π΄Π°Π½Π½Ρ‹Ρ… (рСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния).

РСгистры Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ нСзависимоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ (High β€” обозначаСтся Π»ΠΈΡ‚Π΅Ρ€ΠΎΠΉ H) ΠΈ младшим (Lough β€” обозначаСтся Π»ΠΈΡ‚Π΅Ρ€ΠΎΠΉ L) ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *