Итак, я пытаюсь и не могу создать программу GCD для языка ассемблера (Intel x86, используя NASM). Я продолжаю получать ошибки компилятора при попытке умножить два регистра. У меня есть значения пользователей, хранящиеся в регистрах ebx, ecx и edx. Я хочу умножить все 3 и сохранить произведение ebx и ecx в ebx, затем умножить ebx и edx, сохранить в ebx и отобразить результат. Я пытаюсь сделать это с помощью этого кода imul ebx, ebx, ecx
imul ebx, ebx, edx
Разве это не правильный способ умножения регистров?
Как я могу перемножить два регистра и сохранить их в другом регистре?
19.10.2015
- Если просмотр всей моей программы поможет кому-то мне помочь, я буду более чем счастлив опубликовать ее! Я оставил его на данный момент, так как думаю, что это, скорее всего, простой вопрос, который может быть осложнен только моим неуклюжим уродливым кодом. 20.10.2015
- Ой, это недействительно. 20.10.2015
- В вашем заголовке написано два регистра, в вашем контенте - три регистра, что правда? Я давно программировал ассемблер, но процессоры IIRC просто не могут работать с тремя регистрами одновременно. Физически. Может быть, поэтому вы получаете ошибки, которые вы должны хотя бы добавить к вопросу.
JMP BACK
AND TRY AGAIN
. :) 20.10.2015
Ответы:
1
Версия imul
с тремя операндами принимает только непосредственный третий операнд. К счастью, вы можете использовать версию с двумя операндами, поскольку один из ваших операндов совпадает с местом назначения. Таким образом:
imul ebx, ecx ; ebx *= ecx
imul ebx, edx ; ebx *= edx
буду делать то, что ты хочешь.
19.10.2015
Новые материалы
Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..
Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом
Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..
Советы по коду Laravel #2
1-) Найти
// You can specify the columns you need
// in when you use the find method on a model
User::find(‘id’, [‘email’,’name’]);
// You can increment or decrement
// a field in..
Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv)
Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..
3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации —
2. Используя квадратичную формулу —
3. Заполнив квадрат —
Давайте поймем это, решив это простое уравнение:
Мы пытаемся сделать LHS,..
Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..
Демистификация рекурсии
КОДЕКС
Демистификация рекурсии
Упрощенная концепция ошеломляющей
О чем весь этот шум?
Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..