The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"nasm, деление"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Разное)
Изначальное сообщение [ Отслеживать ]

"nasm, деление"  +/
Сообщение от ivan (??), 24-Сен-23, 08:42 
Добрый день.
Потребовалось выполнить деление на 1 со знаком.
mov eax, 0
mov ebx, 0
mov, ax, 0xc9
mov bl, 1
idiv bl
Получил исключение. Если вместо 8 битного операнда использовать 16 битовый
idiv bx
то все хорошо.
В чем причина? 0xc9 / 1 = 0xc9 и должно поместиться в al
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "nasm, деление"  +/
Сообщение от ivan (??), 24-Сен-23, 12:20 
>[оверквотинг удален]
> mov eax, 0
> mov ebx, 0
> mov, ax, 0xc9
> mov bl, 1
> idiv bl
> Получил исключение. Если вместо 8 битного операнда использовать 16 битовый
> idiv bx
> то все хорошо.
> В чем причина? 0xc9 / 1 = 0xc9 и должно поместиться в
> al

Вопрос закрыт. Причина - изменение знака результата. 0xc9 в AL - трактуется как отрицательное.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру