Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.17;
Скачать: CL | DM;

Вниз

В D5 компилируется, а в D6 не хочет...   Найти похожие ветки 

 
Voldemar ©   (2002-06-05 14:28) [0]

Доброе время суток!
Столкнулся с проблемой:
В D5 следующий код компилируется, а в D6 не хочет. Причем, что самое странное, ошибка в ассемблерном коде.

@Encode8:
MOV EAX, MatchPos
MOV byte ptr [EDX+OFFSET CodeBuf], AL <- здесь ошибка
INC EDX
SHL AH, 4
MOV AL, byte ptr [OFFSET MatchLen]
SUB AL, Threshold+1
ADD AH, AL
MOV byte ptr [EDX+OFFSET CodeBuf], AH <- здесь ошибка
INC EDX

где CodeBuf: array[1..16] of byte;
причем конструкция OR byte ptr [OFFSET CodeBuf], AL проходит без ошибок.

почему так происходит?


 
Игорь Шевченко ©   (2002-06-05 14:31) [1]

Codebuf часом не локальная переменная ?

А почему бы не
lea edx, Codebuf
mov [edx],al

?


 
Voldemar ©   (2002-06-05 14:36) [2]

>Игорь Шевченко © (05.06.02 14:31)
Переменная самая что ни на есть глобальная :))
А ассемблерный код менять я побоялся, т.к. ассемблера почти не знаю. Твой вариант - это аналог оригинала?

PS И все-таки мне непонятно, почему в прошлых версиях именно этот код пролетал, а в 6 - отказывается...


 
Игорь Шевченко ©   (2002-06-05 14:39) [3]

Я не знаю, что за оригинал. Я просто предложил.
Какая ошибка-то, а то у меня D6 нету :-(

Скорее всего, можно попробовать убрать byte ptr



Страницы: 1 вся ветка

Текущий архив: 2002.06.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
7-55334
Макшанов Максим
2002-03-21 22:58
2002.06.17
Работа с ком портами


3-55037
antoniz
2002-05-24 11:31
2002.06.17
Как программно создать файл формата dBASEIII+


1-55169
Karlush
2002-06-04 11:27
2002.06.17
Окна диалога


14-55268
Vadik
2002-05-14 15:19
2002.06.17
Запись в BLOB


7-55323
Александп
2002-03-19 17:54
2002.06.17
Как в WinNt запустить Socket Server, чтобы он работал при стартовом окошке (нажмите Ctrl+Alt+Del)