Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В D5 компилируется, а в ;D6 не хочет... [D6, Win2k]


Voldemar ©   (2002-06-05 14:28:00) 

Доброе время суток!
Столкнулся с проблемой:
В 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:39:00) [1]

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

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


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

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

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


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

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

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

?


Наверх

Титульная страница Поиск, карта сайта Написать письмо