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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ схСмотСхники. Π’ΠΎΠΌ 3 [Изд.4-Π΅]Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор ΠŸΠ°ΡƒΠ»ΡŒ Π₯ΠΎΡ€ΠΎΠ²ΠΈΡ†

Π’ Ρ‚Π°Π±Π». 11.1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ МП 68000. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ) языка ассСмблСра, слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· 12 Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации) ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (Π±Π°ΠΉΡ‚ΠΎΠ², слово ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово). На языкС ассСмблСра Ρ„ΠΈΡ€ΠΌΡ‹ Motorola ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠŸΠ•Π ΠΠ¦Π˜Π―. Ρ€Π°Π·ΠΌΠ΅Ρ€ источник, ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ

Π—Π΄Π΅ΡΡŒ ΠžΠŸΠ•Π ΠΠ¦Π˜Π― бСрСтся ΠΈΠ· Ρ‚Π°Π±Π». 11.1, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΅ΡΡ‚ΡŒ Π’, W ΠΈΠ»ΠΈ L (Π±Π°ΠΉΡ‚, слово ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово соотвСтствСнно), Π° источник ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ рСгистры, нСпосрСдствСнныС константы ΠΈΠ»ΠΈ ячСйки памяти. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ способов адрСсации.


Π’Π°Π±Π»ΠΈΡ†Π° 11.1. Набор ΠΊΠΎΠΌΠ°Π½Π΄ МП 68000/8

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Β· ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅

АрифмСтичСскиС

ABCD Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичных чисСл

ADD Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ASL АрифмСтичСский сдвиг Π²Π»Π΅Π²ΠΎ

ASR АрифмСтичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ

CLR ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°

DIVS Π”Π΅Π»Π΅Π½ΠΈΠ΅ (Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅)

DIVU Π”Π΅Π»Π΅Π½ΠΈΠ΅ (Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅)

EXT Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠ°

LSL ЛогичСский сдвиг Π²Π»Π΅Π²ΠΎ

LSR ЛогичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ

MOVE ΠŸΠ΅Ρ€Π΅ΡΡ‹Π»ΠΊΠ°

MULS Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅)

MULU Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅)

NBCD ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичного числа

NEG ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅

SBCD Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ-дСсятичного числа

SUB Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅


ЛогичСскиС

AND ЛогичСскоС И

BCHG ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚Π°

BCLR ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ очистка Π±ΠΈΡ‚Π°

BSET ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ установка Π±ΠΈΡ‚Π°

BTST ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π±ΠΈΡ‚Π°

CHK ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° рСгистра Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹

CMP Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅

EOR Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜

EXG ОбмСн рСгистров

NOT ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

OR ЛогичСскоС Π˜Π›Π˜

RESET Π’ΠΎΠ·Π±ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ RESET

ROL Π¦ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ сдвиг Π²Π»Π΅Π²ΠΎ Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

ROR ЦикличСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

ROXL ЦикличСский сдвиг Π²Π»Π΅Π²ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ

ROXR ЦикличСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ

Scc1) Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°ΠΉΡ‚ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

SWAP ОбмСн ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ рСгистра

TAS ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ установка ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°

TST ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ установка Ρ„Π»Π°Π³ΠΎΠ²


УправлСния

Всс1) Условный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

BRA БСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ)

BSR ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ)

DBcc1) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

JMP БСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ (7 Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²)

JSR ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (7 Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²)

LEA Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° эффСктивного адрСса

LINK ПодсоСдинСниС стСка

NOP Π₯олостая ΠΊΠΎΠΌΠ°Π½Π΄Π°

PEA Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² стСк эффСктивного адрСса

RTE Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

RTR Π’ΠΎΠ·Π²Ρ€Π°Ρ‚, восстановлСниС ΠΊΠΎΠ΄ΠΎΠ² условий

RTS Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

STOP ΠžΡΡ‚Π°Π½ΠΎΠ²

TRAP Π›ΠΎΠ²ΡƒΡˆΠΊΠ° (Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅)

TRAPV Π›ΠΎΠ²ΡƒΡˆΠΊΠ° ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ

UNLK ΠžΡ‚соСдинСниС стСка


ΠšΠΎΠ΄Ρ‹ условий ("сс")

Π‘Π‘ ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½

CS ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ установлСн

EQ РавСнство Π½ΡƒΠ»ΡŽ

F Никогда Π½Π΅ истина2)

GE Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ

GT Π‘ΠΎΠ»ΡŒΡˆΠ΅ нуля

HI Π’Ρ‹ΡˆΠ΅

LE МСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ

LS НиТС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

LT МСньшС нуля

MI ΠœΠΈΠ½ΡƒΡ

NE НС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ

PL Плюс

T ВсСгда истина2)

VC ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ΠΎ

VS ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ установлСно

____

1) Π‘ΠΌ. Β«ΠšΠΎΠ΄Ρ‹ условий».

2) НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π’cс; вмСсто Β«Π’Π’Β» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ BRA


MOVE.W (нСпосрСдствСнная,

# $FFFF,D0 рСгистровая)

MOVE.B (А0), (А1) (косвСнная, косвСнная)

ADD.L D5, (А2) + (прямая, косвСнная с постинкрСмСнтом)

BTST.B #2$C0000 (нСпосрСдствСнная, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ длинная)


Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² 1 всС 16 Π±ΠΈΡ‚ рСгистра D0 (символ Β«$Β» ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΠΈΡ€ΠΈΡ‡Π½ΠΎΠ΅Β», Π° Β«#Β» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Β«Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽΒ» константу); вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚ ΠΈΠ· ячСйки памяти, адрСс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Π² А0, Π² ячСйку памяти, адрСс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Π² А1; Ρ‚Ρ€Π΅Ρ‚ΡŒΡ прибавляСт 32-разрядноС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΊ 4-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΌΡƒ (Β«Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡƒΒ») Ρ†Π΅Π»ΠΎΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ начинаСтся Π² памяти с Π±Π°ΠΉΡ‚Π°, адрСсуСмого Ρ‡Π΅Ρ€Π΅Π· А2, послС Ρ‡Π΅Π³ΠΎ содСрТимоС А2 увСличиваСтся Π½Π° 4; послСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° провСряСт Π±ΠΈΡ‚ 2 Π² ячСйкС памяти Π‘0000Н, устанавливая ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ„Π»Π°Π³ нуля Z (для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ условного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°). Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ cΠ»Π΅Π΄ΡƒΡŽΡ‚ Π² порядкС β€” источник, ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ МП 8086.

МП 68000 позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ всС Ρ€Π΅ΠΆΠΈΠΌΡ‹ адрСсации ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² с любой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ пособиС программиста МП 68000Β» ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅ описываСт всС допустимыС сочСтания; Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ полСзная информация собрана Π² Ρ‚Π°Π±Π». 11.2). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ написаниС изящных ΠΈ эффСктивных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС ассСмблСра оказываСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. НапримСр, работая с МП 8086 ΠΈ ТСлая ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС Ρ„Π»Π°Π³Π° ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС рСгистра AL ΠΈ Π² суммС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 5 ΠΊΠΎΠΌΠ°Π½Π΄ (PUSH, IN, TEST, POP, Jcc). МП 68000 позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄: BTST ΠΈ Всс; Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ рСгистры Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΈΡ‚ памяти (ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, рСгистры ΠΏΠΎΡ€Ρ‚Π°) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСпосрСдствСнно. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Β«Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉΒ» Ρ€Π΅ΠΆΠΈΠΌ адрСсации Π²Ρ€ΠΎΠ΄Π΅ Β«(А2) +Β» Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами. Π₯отя ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ описали всС Ρ€Π΅ΠΆΠΈΠΌΡ‹ адрСсации ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ смоТСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.1. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π΄Π»ΠΈΠ½ΠΎΠΉ $100 Π±Π°ΠΉΡ‚ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΉΡΡ Π² ячСйкС $А0000 Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ Π² ячСйкС SA8000. ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ WGT ΠΌΠ΅Ρ‚ΠΊΠ° (ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ссли большС нуля).


Π Π΅ΠΆΠΈΠΌΡ‹ адрСсации. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π½Π°Π΄ константами, содСрТимым рСгистров ΠΈ содСрТимым ячССк памяти (ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ²). АрхитСктура МП 68000 прСдусматриваСт Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Β«Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации» для опрСдСлСния этих ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ². Π’ Ρ‚Π°Π±Π». 11.3 пСрСчислСны 12 Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Motorola ΠΊΠ°ΠΊ 14. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π½Π°Ρ‡Π°Ρ‚:

РСгистровая прямая адрСсация

Бинтаксис: Dn (ΠΈΠ»ΠΈ An)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.W D0,D1

ΠžΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ являСтся содСрТимоС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ рСгистра


НСпосрСдствСнная адрСсация

Бинтаксис: #Ρ…Ρ…Ρ…Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.B #$FF,D0

ΠžΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ являСтся указанная константа


ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ адрСсация ΠΊ памяти

Бинтаксис: xxxx.W ΠΈΠ»ΠΈ xxxx.L

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ADD.W D0JB000.W

АдрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ нСпосрСдствСнная константа


КосвСнная адрСсация

Бинтаксис: (An)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: SUB.W D0, (А0)

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ рСгистр содСрТит адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°


КосвСнная постинкрСмСнтная адрСсация

Бинтаксис: (Аn) +

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.B (А0) +, (А1) +

Аналогична косвСнной, Π½ΠΎ послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ An инкрСмСнтируСтся Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°


КосвСнная прСдСкрСмСнтная адрСсация

Бинтаксис: β€” 1Аn)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.W D0,-(A7)

An сначала дСкрСмСнтируСтся Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π·Π°Ρ‚Π΅ΠΌ выполняСтся косвСнная адрСсация


КосвСнная адрСсация со смСщСниСм

Бинтаксис: d16(An)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.L (А0),100(А0)

АдрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° опрСдСляСтся ΠΊΠ°ΠΊ (An) плюс 16-разрядноС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ смСщСниС d16


КосвСнная индСксная адрСсация со смСщСниСм

Бинтаксис: d8(An,Xn.W [ΠΈΠ»ΠΈ. L]) (Π₯n ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Dn, Π»ΠΈΠ±ΠΎ An)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.L 100(A0),100(A0,D7)

АдрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° опрСдСляСтся ΠΊΠ°ΠΊ (An) плюс (Π₯ΠΏ) плюс 8-разрядноС Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ смСщСниС d8


PC-ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ адрСсация со смСщСниСм

Бинтаксис: d16(PC)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: LEA 100(Π Π‘), АЗ

АдрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° отличаСтся ΠΎΡ‚ адрСса этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ 16-разрядного Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ смСщСния


PC-ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ адрСсация с индСксом ΠΈ смСщСниСм

Бинтаксис: d8(PC,Xn.W ΠΈΠ»ΠΈ. L)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: MOVE.W 100(PC,D0.W),D1

АдрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° отличаСтся ΠΎΡ‚ адрСса этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ суммы 8-разрядного Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ смСщСния ΠΈ содСрТимого Π₯n.


НСсколько пояснСний: Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Π½Π΅ адрСсуСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ; Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ рСгистры ΠΈΠ»ΠΈ нСпосрСдствСнныС константы (Ρ‚. Π΅. константы, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ источниками, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ). ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ слуТат для адрСсации памяти. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ адрСсация ΡƒΠ΄ΠΎΠ±Π½Π° для обращСния ΠΊ ΠΏΠΎΡ€Ρ‚Π°ΠΌ Π²Π²ΠΎΠ΄Π°- Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ячСйкам памяти.