Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.143.239] |
|
Сообщ.
#1
,
|
|
|
Подскажите, почему
mov [BX],0000h работает нормально, а mov [AX],0000h выдает ошибку Invalid indexing Использую tasm 3.2 |
Сообщ.
#2
,
|
|
|
Регистр AX вообще не используется для адресации памяти.
Но в 32-ной модели памяти FLAT (для 386 и выше) можно использовать для адресации любой 32-ный регистр общего назначения (EAX, ECX, EDX), а также указатель стека ESP. |
Сообщ.
#3
,
|
|
|
Спасибо. Н-да, как-то странно, все-таки.
|
Сообщ.
#4
,
|
|
|
Ничего странного. Можно использовать регистры BX,SI,DI и BP и некоторые сочетания:
[BX+SI+Число], [BX+DI+Число], [BP+SI+Число], [BP+DI+Число]. В 32-битной модели можно даже умножать значение одного из регистра на 2, 4 или 8 и складывать любые регистры (32-битные) : [EAX+EDX], [ECX+ECX*4+1234h] (кстати, вот и способ умножить на 5 ) |