Invalid instruction operands (A2070)
У меня есть переменная размером 10 байт size db 10 dup(?). Туда заносится любое число, вплоть до 10 байт, я пытаюсь сравнить эту переменную с числом 20000000h, но почему-то не выходит.
Вот код: cmp size, 20000000h и выдаёт Invalid instruction operands
Хотя с более маленькими числами всё работает, почему так происходит?
Даже урезание переменной size до 8 байт не работает
Ответы (1 шт):
архитектура процессоров не позволяет сравнивать числа произвольной длины, сравнить можно только (байт / слово / двойное слов / восемь байт). все что больше восьми байт это длинная арифметика которая может быть выполнена лишь серией команд.
либо придумай как сократить длину до восьми байт либо учи длинную арифметику, которая сразу гораздо сложней.