![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
![]()
Пишу простенькую программу вычисления выражения (A*B-C)/D
Все работает, пока не вызываю процедуру конвертации из int в str Процедура: Код:
Сообщение об ошибке: Процессор NTVDM обнаружил недопустимую инструкцию. CS:0536 IP:0007 OP: fe 1d f0 de 01 Без этой процедуры никаких ошибок нет. В чем может быть проблема? Заранее спасибо. ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 10.04.2012 в 15:04. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а как вызываете?
и вообще, давайте исходный код программы целиком. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
![]()
Вот весь код: (он еще не доработан и я только начал изучать, не судите строго)
Код:
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
![]() Код:
Последний раз редактировалось Glaciuse; 10.04.2012 в 15:27. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 22.05.2011
Сообщений: 44
|
![]()
Работаю с TASM, TLINK, TD.
Если через TD прогу запускать, то все ок, а из cmd.exe не хочет, мб система кривая, а не прога? |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
тоже сталкивался с подобным. но сейчас найти косяк не удалось - в отладчике всё работает как часы! Glaciuse, а проверка деления на ноль, имхо, у вас некорректно реализована! я бы так предложил написать (то, что красным - убрать, то, что зелёным - добавить: Код:
|
|
![]() |
![]() |
![]() |
#9 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
То что бросилось в глаза. В процедуре convertIntToStr, изначально cl не занулено, там скорее всего какой-то мусор, а потом вы по этому мусору начинаете работать со стеком, цикл с попами. По крайней мере лично у меня программа вообще ничего не выводила, пока я там со счётчиками порядок не навёл.
Вот этот выриант работает, по крайней мере под NTVDM и под DOSBOX.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Ulex, браво!!
в принципе, в исходный код достаточно зануление cx добавить, чтобы всё заработало: Код:
Добавлено посмотрел код (с) Ulex - да он там полпрограммы перелопал!! Очень рекомендую взять его вариант! Последний раз редактировалось Serge_Bliznykov; 11.04.2012 в 08:29. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Процессор NTVDM обнаружил недопустимую инструкцию (глючит Паскаль?) | hon | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 02.08.2011 13:41 |
Описать код программы и написать инструкцию | (=Анастасия=) | Помощь студентам | 0 | 20.06.2011 18:11 |
Может вы знаете что делать если 'процессор NTVDM обнаружил недопустимую инструкцию' | aslanbek999 | Помощь студентам | 1 | 04.06.2009 00:26 |
Ошибка: Процессор NTVDM обнаружил недопустимою инструкцию. | Iceman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 23.03.2009 14:32 |