нужно значение из регистра edx перенести в массив символов. Не знаю как исправить конфликт операндов.
int main() {
char buffer[5];
int number = 255;
int divider = 10;
__asm {
mov edx, 0
mov eax, number
mov ebx, divider
div ebx
add ebx, 48
mov buffer[0], edx
}
cout << buffer << endl;
}
Сделайте проще:
int main()
{
int b;
int number = 255;
int divider = 10;
__asm {
mov edx, 0
mov eax, number
mov ebx, divider
div ebx
mov b, edx
}
cout << b << endl;
}
Благо cout
сам сумеет int
вывести, ему не надо в строку его превращать...
Здесь вы в однобайтовую ячейку пытаетесь положить значение из четырехбайтового регистра, из-за этого возникает конфликт размера операнда:
mov buffer[0], edx
Вам нужен только младший байт из регистра edx
, т.е. регистр dl
:
mov buffer[0], dl
Также у вас ошибка в логике программы: нужно добавлять 48 (код символа '0'
) не к ebx
, а к edx
(или к dl
).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какой метод поиска минимума функции лучше всего использовать для такой задачи: Есть функции двух, трёх переменных и нужно найти минимальное...
Не понимаю, какое действие выполняет функция php fflush()В следующем примере у неё как будто нет никакого эффекта:
Отправляю POST с параметрами, получаю файл на скачиваниеПробую сделать подобное на php, но в консоле вижу только содержимое файлы, как отдать...
Всем приветДелаю тестовый инет магазин, когда кто то добавляет товар в корзину я поставил return redirect()->back();