Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2012, 14:04   #1
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию MOVQ x64

Код:
MOVQ xmm14, r12
и на это ml64 говорит
Цитата:
error A2070: invalid instruction operands
в чем дело?
и что делать?
f.hump вне форума Ответить с цитированием
Старый 09.04.2012, 14:58   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Описание :
Команда MOVQ копирует 64 разряда из операнда-источника в операнд-назначение. Операнды могут быть MMX-регистрами или находиться в памяти. Команда MOVQ не может переносить данные из памяти в память.
Когда операнд-назначение является MMX-регистром, а операнд-источник находится в памяти, то 64-разрядный операнд в памяти копируется в MMX -регистр.
Когда операндом-источником является MMX-регистр, а операнд-назначение находится в памяти, то MMX-регистр копируется в 64-разрядный операнд в памяти.
Когда оба операнда являются MMX-регистрами, то регистр-источник копируется в операнд-назначение.
Для начала проверьте разрядность операндов. Ругается именно на них.
Подробнее можете посмотреть здесь:
http://www.club155.ru/x86cmdmmx/MOVQ
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 09.04.2012, 15:07   #3
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

информация по ссылке морально устарела.

интел говорит следующее:
Цитата:
MOVQ xmm, r/m64 === (SSE2) Move quadword from r/m64 to xmm.
так что тут я ошибки не вижу.
----
r12 - 64-x битный регистр
xmm14 128-ми битный регистр

Последний раз редактировалось f.hump; 09.04.2012 в 15:10.
f.hump вне форума Ответить с цитированием
Старый 09.04.2012, 15:33   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Opcode - Instruction - Description
0F 6F /r - MOVQ mm, mm/m64 - Move quadword from mm/m64 to mm.
0F 7F /r - MOVQ mm/m64, mm - Move quadword from mm to mm/m64.
F3 0F 7E - MOVQ xmm1, xmm2/m64 - Move quadword from xmm2/mem64 to xmm1.
66 0F D6 - MOVQ xmm2/m64, xmm1 - Move quadword from xmm1 to xmm2/mem64.
Я вот такой вариант накопал... судя по ошибке, истина где-то здесь (или директивы компилятору правильные нужны)...

http://www.jaist.ac.jp/iscenter-new/...2_hh/vc199.htm
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД на Win7 x64 Ghost of Night C# (си шарп) 0 07.02.2012 21:58
Wi-Fi в Windows 7 x64 russian-stalker Windows 4 12.07.2011 23:35
Windows 7 x64 СисТемникс Windows 7 13.09.2010 07:09
Реестр в x64 Xatr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.01.2010 04:00
X64 Debug BioS Общие вопросы C/C++ 6 07.10.2009 20:41