Недопустимая инструкция x86 movq [duplicate]

Я думаю, что проблема в том, что он показывает код вместо результата, так это то, что он не будет на локальном хосте. перепроверьте, какой адрес ур собирается. И отправляемся в локальный каталог файлов или на локальный хост.

из скриншота u отправил его на ур компьютер не на localhost.

"file: ///" это должен быть "localhost /"

4
задан 14 January 2015 в 10:47
поделиться

1 ответ

Это описано в руководстве Intel:

3.7.5 Указание смещения Смещение части адреса памяти может быть задано непосредственно как статическое значение (называемое смещением) или по адресу вычисление, состоящее из одного или нескольких из следующих компонентов:

  • Смещение - 8-, 16- или 32-битное значение.
  • Base - значение в регистр общего назначения.
  • Index - значение в регистре общего назначения.
  • Масштабный коэффициент - значение 2, 4 или 8, умноженное на значение индекса.

Смещение, возникающее в результате добавления этих компонентов, называется эффективным адресом.

4
ответ дан Michael 21 August 2018 в 13:30
поделиться
  • 1
    Я все еще не совсем уверен, что такое регистр общего назначения, все перечисленные ниже рассматриваются как регистры общего назначения: EAX, EBX, ECX, EDX, ESI, EDI, EBP и ESP? – user 14 January 2015 в 08:03
  • 2
    Да (кроме ESP исключается из Индекса). См. Рисунок 3-11 ( «Расчет смещения (или эффективного адреса)» ) в руководстве. – Michael 14 January 2015 в 08:04
  • 3
    Приведем еще одно незначительное отличие между base и index : когда EBP или ESP используется как регистр base , сегмент по умолчанию - SS, в противном случае это DS. MOV EAX, [EDI + EBP] загружает EAX из сегмента данных, но MOV EAX, [EBP + EDI] из сегмента стека. Тем не менее, в плоской модели Window это не имеет значения, поскольку и DS, и SS содержат один и тот же дескриптор сегмента. – vitsoft 14 January 2015 в 12:34
  • 4
    В Длинном режиме, какие существуют различия? – Paul Stelian 24 January 2018 в 15:37
  • 5
    @PaulStelian: см. Ссылка на содержимое ячейки памяти. (режимы адресации x86) для того, как работают режимы адресации, включая 64-разрядный режим. – Peter Cordes 24 March 2018 в 21:36
Другие вопросы по тегам:

Похожие вопросы: