|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2012, 14:25 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
как показывает опыт, отладчик (к сожалению) всегда правильно иницилизирует (обнуляет) регистры.
в отличие от запуска через OS. это раз. во-вторых, при запуске через Far Commаnder получаю такое: err2.png из области интуиции - overflow ошибка часто возникает при делении, когда не очищены предварительно регистры. |
02.05.2012, 15:05 | #3 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
Регистры следует отчистить в самом начале программы или в начале каждого модуля?
|
02.05.2012, 15:16 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
правильный ответ - везде, где это требуется. ваш К.О.
Смотрите, если Вы где-то используете регистр (даже не явно - как в случае операции деления) - то к моменту выполнения операции этот регистр должен быть проиницилизирован (нулём, или адресом памяти - это уже от регистра зависит). |
02.05.2012, 15:22 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
любой, явно или не явно используемый регистр должен иметь значение перед применением.
причем не какое попало значение. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.05.2012, 15:27 | #6 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
А существует команда очистки регистра?
|
02.05.2012, 15:40 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
нет понятия чистый регистр.
есть регистр имеющий известное значение(например ноль) или имеющий мусор в себе. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.05.2012, 15:55 | #8 |
Форумчанин
Регистрация: 29.10.2011
Сообщений: 141
|
Спасибо большое)
Для очистки придумал делать sub ax,ax, ;сейчас все корректно робит) |
02.05.2012, 16:34 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Код:
Код:
Главное, что Вы нашли, где был косяк и устранили его. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
find_first_not_of выдает разный результат | Torymo | Помощь студентам | 2 | 04.01.2012 09:14 |
разный результат | Кристина133 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 13.05.2011 19:15 |
Модуль GRAPH портит русский при запуске .exe файла! | Nemo-237 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 06.03.2011 22:59 |
Ошибка при запуске exe-ка | Andrey85 | Общие вопросы Delphi | 10 | 31.10.2010 22:47 |
Как при запуске fpc.exe из консоли посмотреть лог ошибок компиляции? | Cookson | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.10.2010 18:33 |