Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизВ 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c