powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / так делить нельзя ?
9 сообщений из 9, страница 1 из 1
так делить нельзя ?
    #33509724
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void CAsm3Dlg::OnButton3()
{

int a,b,c,d;
UpdateData(true);
a=m_edit1;
d=m_edit4;

_asm{
push eax
push ebx
push ecx
push edx
sub eax,eax
sub ebx,ebx
sub ecx,ecx
sub edx,edx
mov eax,a
mov edx,d
div edx

mov a,eax
pop edx
pop ecx
pop ebx
pop eax
}

m_edit1=a;
UpdateData(false);

}
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33509861
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ухх , а я уже ассемблер подзабыл ...
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510037
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В зависимости от того, что и на что вы делите.
Здесь у вас: EDX:EAX / EAX = EAX % EDX
Но что то мне кажется по
Код: plaintext
1.
2.
a=m_edit1;
d=m_edit4;
что вы не этого хотели
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510081
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант с умножением работает превосходно:

mov eax,a
mov edx,d
mul edx
mov a,eax


Деление сделал по аналогии с 16-разрядными регистрами.
Может быть надо указать word ptr ax ?
Об этом вчера подумал, но пока не пробовал. Вроде бы классика, но не складывается. Что-то видимо упускаю.
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510115
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибок при компиляции и линковке нет. После запуска на исполнение с пощью EXECUTE ошибки тоже нет. Ошибка возникает после ввода данных и клика по кнопке, запускающей процесс вычислений - появляется сообщение об ошибке и предложение сообщить в Microsoft.
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510187
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант с word ptr попробовал - не вариант. Придется пошагово мозговым дебагером шарить. Во всей логике разбираться.
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510195
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saintВ зависимости от того, что и на что вы делите.
Здесь у вас: EDX:EAX / EAX = EAX % EDX
Но что то мне кажется по
Код: plaintext
1.
2.
a=m_edit1;
d=m_edit4;
что вы не этого хотели

Скорее всего именно здесь собака и зарыта!
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33510530
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалось не зарыта. Проверил вот так:

//mov eax,a
mov eax,133
//mov edx,d
mov edx,3
div edx
mov a,eax

Значит сам процесс деления организован мною не правильно.
...
Рейтинг: 0 / 0
так делить нельзя ?
    #33523145
neskif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько дней назад разобрался. Забыл общественности доложить. Заменяю div edx на div ebx и все работает без проблем.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / так делить нельзя ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]