0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 7
1

Программа без отладчика и с ним работает по-разному

01.05.2013, 16:17. Показов 961. Ответов 11
Метки нет (Все метки)

Здравствуйте. Помогите разобраться со следующей проблемой:

Програмка на ассемблере (по вводу в регистр ax десятичного числа) работает некорректно, однако под отладчиком при ее прогонке всё верно. Т.е. Программа выдаёт разные результаты без отладчика и с ним, и верный вариант достигается именно под отладчиком. В чём может быть дело?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2013, 16:17
Ответы с готовыми решениями:

Программа под отладчиком работает не так как без отладчика. Магия?
Ситуёвина такова, что прога правильно работает под отладчиком, но неправильно без него. Вот код:...

Программа не запускается без отладчика?! (KEIL 5.21)
Не ругайте сразу. Не могу понять почему программы не запускаются без отладчика (некоторые)......

Перехват API winsock32.recv - под отладчиком работает 100%, без отладчика - 50%
Добрый день, уважаемые Киберчане. Прошу Вашей поддрежки. Описание проблемы. Вызов функции...

По-разному работает проект под студией и без
Здравствуйте. Почему-то проект запущенный без студии(через exe-шник) работает совсем по другому...

11
607 / 407 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
01.05.2013, 18:35 2
в криворукости. без кода более не могу сказать
0
0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 7
01.05.2013, 23:47  [ТС] 3
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.model tiny
 
.data
 
extrn vivod:proc
 
MSG     db  10, 13, '$'
TEN     dw  10d
FLAG        EQU bl
 
.code
 
org 100h
 
START:      mov cx, 5d      
 
CIKL:           mov ah, 01h 
            int 21h
            cmp al, '-'
            je B1
            cmp al, ' '
            je EXIT
            push ax
            mov ax, dx
            mul TEN
            mov dx, ax
            pop ax
            sub al, '0'
            cbw 
            add dx, ax
            loop CIKL
            jmp EXIT
            
EXIT:           mov ax, dx      
            cmp FLAG, 1d
            jne FINISH
            neg ax
            jmp FINISH
 
B1:                 mov FLAG, 1d        
            xor al, al
            jmp CIKL
 
FINISH:     mov dx, offset MSG  
            push ax
            mov ah, 09h
            int 21h
            pop ax
            call vivod
 
            mov ax, 4c00h
            int 21h
 
end         START
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29644 / 16199 / 3237
Регистрация: 12.02.2012
Сообщений: 26,818
Записей в блоге: 5
02.05.2013, 07:22 4
Чаще всего такие проблемы бывают, когда не почищены регистры или рабочие области памяти
0
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
02.05.2013, 12:50 5
ещё есть мысля, что инициализации сегментных регистров не хватает
0
Ушел с форума
Автор FAQ
14410 / 7138 / 857
Регистрация: 11.11.2010
Сообщений: 12,789
02.05.2013, 13:15 6
sh2ezo,
будте внимательнее, у ТС .model tiny ES=CS=DS=SS для чего их инициализировать? А вот что находится в регистре DX на 24 строке? может быть его обнулить требуется сразу после старта?
1
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
02.05.2013, 13:26 7
Mikl___, меня
Assembler
1
org 100h
смутило
0
607 / 407 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
02.05.2013, 14:47 8
Цитата Сообщение от sh2ezo Посмотреть сообщение
Assembler
1
org 100h
смутило
чем?
0
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
02.05.2013, 15:12 9
Цитата Сообщение от Troll_Face Посмотреть сообщение
чем?
ну для COM же нужна инициализация, не?
0
607 / 407 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
02.05.2013, 15:20 10
Цитата Сообщение от sh2ezo Посмотреть сообщение
ну для COM же нужна инициализация, не?
неее
0
0 / 0 / 0
Регистрация: 04.04.2013
Сообщений: 7
03.05.2013, 10:22  [ТС] 11
Большое спасибо! Обнулил dx, программа заработала корректно.
Скажите, а с чем связано, что в td она работала верно, а просто - нет? И откуда вообще в dx что-то попало?..
0
607 / 407 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
03.05.2013, 10:29 12
Цитата Сообщение от Edmonton Посмотреть сообщение
Скажите, а с чем связано, что в td она работала верно
тд обнуляет регистры.
Цитата Сообщение от Edmonton Посмотреть сообщение
И откуда вообще в dx что-то попало?
результаты работы ОС и предыдущих программ.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2013, 10:29

Программа работает по разному в Debug'e и Release'e
Добрый День! Суть проблемы: есть две программы адекватно работающие в debug'e но в release'e есть...

Программа работает по-разному на разных компах
Дали задание на написание небольшой программы в С++, работа с массивами. На домашнем компе работает...

Программа работает по-разному в VS 2008 и в Code::Blocks
Помогите разобраться! Пишу алгоритм преобразования мировых координат в координаты камеры. Пишу в...

программа работает по-разному на одном и том жке компе??????
у меня проблема-создал на делфи прогу простую до жути вот она unit Unit1; interface uses ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.