Что я должен знать при переключении от MIPS до x86 блока?

Вы действительно должны просмотреть документы на https://vuejs.org/v2/

Вам не хватает многих основных конструкторов для достижения вашей цели. Во-первых, вам нужно добавить событие нажатия на кнопку. ( https://vuejs.org/v2/guide/events.html )

Далее вам нужно будет сослаться на индекс задач во время рендеринга ( https: / /vuejs.org/v2/guide/list.html)

Здесь вы можете создать простой метод с именем clear:

new Vue({
  el: "#app",
  data: {
    todos: [
      { text: "Learn JavaScript", text1:"Hey" },
      { text: "Learn Vue", text1:"Hello"  },
      { text: "Play around in JSFiddle", text1:"Ciao"  },
      { text: "Build something awesome", text1:"Something"}
    ]
  },
  methods: {
    clear (index) {
      // Allows for unlimited keys
      for (let key in this.todos[index]) {
        this.$set(this.todos[index], key, null);
      }
    }
  }
})

Обратите внимание, что в методе clear я обеспечение реактивности с помощью метода $ set ( https://vuejs.org/v2/api/#vm-set ) и ссылки на индекс, который был передан.

Наконец, я привязал входные значения к модели todo, используя v-модель Vue, могу ли я получить дополнительный кредит? ( https://vuejs.org/v2/api/#v-model )

Завершенный код: https://jsfiddle.net/cdsgu62L/10/ [116 ]

14
задан mmcdole 17 January 2009 в 21:20
поделиться

4 ответа

Самые большие вещи иметь в виду:

  • Немного регистров общего назначения, и те, которых Вы имеете, не являются чистым GP - много инструкций требуют, чтобы Вы использовали определенные регистры для определенной цели.
  • инструкции по x86 являются формой с двумя кодами операции, а не с тремя кодами операции, который может сделать определенные операции более сложными. Таким образом, вместо добавляют r0, r1, r2 (r0 = r1 + r2), Вы действительно добавляете eax, ebx (eax + = ebx).
  • Сегменты в защищенном режиме (весь 32-битный код за пределами DOS, эффективно) делают Вашу схему адресации памяти чрезвычайно неочевидной, который может укусить Вас в заднице, когда Вы начинаете.
  • Вы собираетесь быть поиском флагов, устанавливал/очищал инструкциями все время. Учитесь любить руководства Intel.
  • Редактирование, одна вещь я забыл: использование подрегистров (например, ах получить доступ к высоким 8 битам низких 16 битов регистра eax) может сделать манипуляции отслеживанием к Вашим регистрам очень трудными. Будьте осторожны и прокомментируйте подробно, пока Вы не свалите вещи.

Кроме этого, x86 является довольно прямым. Когда Вы учитесь злоупотреблять инструкциями как 'lea' и 'тест', Вы учитесь любить его. Кроме того, проподсказка: Intel отправит Вам копии руководств системы команд бесплатно, не должны даже платить за поставку. Осмотрите их сайт для электронной почты выполнения и запросите книги SKU.

17
ответ дан 1 December 2019 в 12:02
поделиться

x86 имеет очень ограниченный набор доступных регистров по сравнению с большей частью другой архитектуры. Это действительно не делает ассемблер немного тяжелее для изучения, но иногда мешает реализовывать код на практике.

Кроме того, из-за x86 истории сильной обратной совместимости система команд не ужасно симметрична (определенно pre-RISC) и может быть много исключений из правила и угловых случаев для обращения внимания на.

6
ответ дан 1 December 2019 в 12:02
поделиться

x86 имеют более сложные инструкции, чем MIPS. Таким образом, существует, вероятно, единственная инструкция для общих последовательностей в MIPS (прежде всего обращение памяти). Отсутствие многочисленных регистров является, конечно, недостатком, но в обеих архитектуре существуют конвенции, который в значительной степени ограничивает количество того, что можно использовать свободно вниз для 4-5. Просто более явный в x86. x86 имеют больше исключений для использования регистра, чем MIPS, который необходимо иметь в виду только ничто стоящее жаловаться на постоянно.

Говоря на основе опыта, любой язык имеет о той же трудности учиться, включенные конвенции. Возможно, x86 немного легче, рассматривая богатые ресурсы онлайн и его популярность.

Трудная часть о x86 генерирует двоичный файл из-за его инструкций по переменной длине и нескольких способов адресации. Чаще всего Вы никогда не должны делать этого так или иначе.

Я могу, конечно, рекомендовать Вам изучающий более сложную архитектуру инструкции, чем MIPS.

И, это важно, не будьте частью религиозной войны между RISC v.s. CISC...

1
ответ дан 1 December 2019 в 12:02
поделиться

Я изучал x86 и x86_64 для записи ассемблера сам. Если Вы не собираетесь писать ассемблер сами затем часть из того, что я скажу, в значительной степени бесполезно. Я не знаю о MIPS сам все же.

косвенная адресация x86 является сложной вещью. В единственной инструкции можно сделать их:

mov reg, [reg+offset]
mov reg, [reg*scale+base register+offset] # in where scale can be 1, 2, 4 or 8.

Их кодирование инструкции сложно из-за этого, но это последовательно для каждой инструкции, которая кодирует этот путь. Вы могли бы желать считать это из sandpile.org. Если Вы хотите знать больше о кодировании, можно всегда спрашивать об этом от меня. Другая инструкция, кодирующая, имела отношение, раздражающая деталь префиксы. Они изменяют значение инструкции много. Например, 0x66 (если я помню право) впереди и некоторые инструкции становятся для GPRs на 16 битов вместо на 32 бита.

GPRs на 32 бита (в порядке): eax, ecx, edx, ebx, особенно, ebp, esi, edi

GPRs на 64 бита: потянитесь, rcx, rdx, rbx, rsp, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15

Заметьте, как немного регистров общего назначения там, это вынудит большую часть программного обеспечения использовать его более или менее в стековой машине манерный путь. Болезненная деталь. rsp используется для стека (поп, продвиньте - инструкции), и rbp имеет тенденцию быть зарезервированным также. x86_64 имеет больше регистров, но он займет время, когда люди примут его, даже если у каждого из потребителей был процессор, способный к нему.

Существует две различных системы команд для арифметики с плавающей точкой. Причем XMM является более новым. В x86_64 существует 16 доступных регистров на 128 битов и в x86 существует только 8 из них. Более старая система команд обрабатывает регистры как стек. У Вас просто нет подкачки, зажим или гниль, таким образом работая с нею являются изгибом ума.

Используемый x86 имеет тенденцию уменьшать в машину RISC. Некоторые из тех сложных инструкций не приносят пользу или еще медленнее на более новых машинах. Вы сделаете с пониманием приблизительно 30-150 инструкций, зависящих о том, что Вы читаете или пишете. Можно также полностью проигнорировать некоторые старые инструкции и AL/HL - материал. Следует иметь в виду эту всю помеху источники позади 1978, который довольно удивителен, это не хуже, 31 год от этого и 24 года от первого введения IA-32. Много вещей изменяет их уместность в то время.

Прямые переходы и вызовы, кажется, относительны из следующей инструкции в x86. Поэтому:

    jmp nowhere  # or call, jz, jg whatever...
nowhere:
    nop

Заканчивается закодированный к 'JMP imm:0, только для указанных целей'. Косвенный регистром jmp, который действительно делает переходы в абсолютных адресах. Также хорошо заметить, что нет косвенных регистром условных переходов, это беспокоило меня также.

Вот не всего возможного, что необходимо знать, но сначала наполнить, который входит в мой ум от вопроса. Но возможно можно ладить с ними на данный момент.

1
ответ дан 1 December 2019 в 12:02
поделиться
Другие вопросы по тегам:

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