![]() |
|
|
![]()
|
|
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
помогите сделать, чтобы при делении шла проверка на деление на ноль и, если делится на ноль, чтобы выходило сообщение о том, что на ноль делить нельзя
вот код m4: cmp al,'/' ;сравнение al со знаком / jne menu ;если не равно, то переход на menu call input ;вызов процедуры ввода mov eax,op1 ;копирование ор1 в ах div d ;деление ах на d mov op1,eax ;копирование ах в ор1 jmp menu ;переход на menu |
|||
|
||||
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
блин ну ктонить пажалуста....мне курсач сдавать заффтра а он не пашит (
|
|||
|
||||
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
спасибо за помощь
|
|||
|
||||
| Леша |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 7.11.2004 Где: Менск, Беларуская НР Репутация: нет Всего: 1 |
Это сообщение отредактировал(а) Леша - 18.12.2005, 18:05 |
|||
|
||||
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
спасиба канешна, но я уже сделал...и гораздо проще кстати
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Siborn, во-первых не забывай, что тебе здесь никто ничего не должен.
Во-вторых то, что курсач тебе сдавать завтра это проблема, которую ты себе создал сам. В третьих на выходных всегда меньше народу на форуме и поэтому нечего тут ждать быстрого ответа. И откуда твое d взялось кстати тоже не понятно... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
cardinal
ок извини был неправ погорячился вовторых курсач был готов неделю назад, но препод тварь сделал нам подарок на выходные - сделать коечто ещо помимо стандартного задания курсача... втретьих странна...обычно наоборот чтобы понять откуда d можно было глянуть в темку где весь код курсача есть а вообще это вторая переменная на которую нужно делить но уже ненада...уже сделал..... вот только почемуто иногда при операциях с большиим числами он неправильно считаит ((( и при умножении 65535 на 65535 выводит результат 4294836225 но при попытке ввести это число как первую переменную выдаётся ошибка о том что это ичсло очень большое ( не подскажите в чём дело? |
|||
|
||||
| cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Если делаешь так
то ошибки быть не должно. То есть проверь везде, что ты с 32 разрядным регистром работаешь, а не с ax, ah или al. Не забывай пользоваться тегами. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
| Siborn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
не немного по другому
но спасибо проверю везде ах и еах |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
Что-то я вообще не понял сути вопроса... тебе нужно проверить делимое на равенство нулю? или тебе нужно INT 0 отловить (который, кстати, и при переполнении тоже...)? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Siborn |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.12.2005 Репутация: нет Всего: нет |
Akina
мне нужно было сделать проверку на "деление на ноль" тоесть если делитель ноль - то должна выводиться ошибка "на ноль делить нельзя" но с этим я справился уже.... сейчас до завтра разрешили доделать... нужно сделать чтобы при вычитании выдавался отрицательный результат ( вот код вычитания:
m3 - метка следующей операции d - (вторая переменная (которую вычитаю) op1 - первая переменная (из которой вычитаю) я посидел на паре подумал и вот что придумал: (только неправильно считает почиму то (
вот здесь я поставил проверку на то какая переменная больше и если больше вторая переменная (которую вычитаю) то нужно из неё вычесть первую но почему то прога выводит результат саму вторую переменную с минусом ( вот весь код можете проверить (написано в фаре компилить тасмом и тлинком из паскаля):
з.ы. комменты блин не видно тут ( |
||||||
|
|||||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |