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

Вниз

проблемы с кодом на ASM   Найти похожие ветки 

 
Dysan ©   (2005-03-02 17:11) [0]

я в ASM-е не гуру, к сожалению. но потребовалось найти код написаный на нем. и вот вставив в программу столкнулся с трудностями. например:

lds si,Sim  -  ошибка: Operand size mismatch
где Sim - это string
это же качаеться и  
les bp,@Result

что надо сделать и какими командами заменить? никто не может подсказать?


 
Digitman ©   (2005-03-02 17:14) [1]

ты про какой asm-то ? явно же не про встроенный в Делфи ..
а их, разных-прочих, туева хуча существует ..


 
mrAld   (2005-03-02 17:15) [2]

не забывай, что в asmе используются строки, заканчивающиеся нулём, будь осторожен при использование delphi string


 
Димон   (2005-03-02 17:16) [3]

длинные строки тоже нулем заканиваются


 
MBo ©   (2005-03-02 17:20) [4]

>Operand size mismatch
регистры 16-разрядные используешь, а суешь в них, видимо, 32-х разрядные данные.


 
mrAld   (2005-03-02 17:20) [5]

вообще работа на асме со строками осуществляется через указатели (offsets я это точно помню), но думаю, что delphi имеет свои механизмы работы со строками в asmе. size mismatch - это несоответствие размера, что-то где-то было объявлено не так


 
VMcL ©   (2005-03-02 17:20) [6]

>>mrAld   (02.03.05 17:15) [2]

>не забывай, что в asmе используются строки, заканчивающиеся нулём

Это ещё что за бред?


 
Digitman ©   (2005-03-02 17:21) [7]

склонен предположить, что автор пытается в Делфи ассемблировать и использовать АСМ-код для ДОС


 
Dysan ©   (2005-03-02 17:21) [8]

не... пример для старого borland pascal под dos
логично было бы что он мог бы работать и под Delphi

тут до нуля дело еще не доходит тут на этапе комплияции ошибка. :(


 
mrAld   (2005-03-02 17:23) [9]

я по крайней мере, когда сидел на TAsmе использовал такие строки. Нет, если конечно хочешь, можешь каждый символ через offset считывать, тогда всё равно, чем она заканчивается. Только вот длину строки при этом хранить где-то нужно


 
Dysan ©   (2005-03-02 17:23) [10]

тоды все ясно


 
Anatoly Podgoretsky ©   (2005-03-02 17:24) [11]

То есть все таки в Дельфи, наверно 2-9
Тогда забыть про сегментные регистры,
вспомнить 32 бита для индексных и стековых.

Первое дело которые ты сейчас должен сделать это сходить к Интелу за инструкцие по процессору и его системе комманд.



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

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

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1109858480
Erik1
2005-03-03 17:01
2005.03.20
Выдление всей неактивной записи в DbEHGrid.


1-1109919297
Fktrc
2005-03-04 09:54
2005.03.20
Исключение в деструкторе треда при попытке протрассировать его


1-1110031060
Aleksandr.
2005-03-05 16:57
2005.03.20
Надо ли делать SetLength(Array,0)?


1-1109918193
ser35
2005-03-04 09:36
2005.03.20
Чтение МЕМО


1-1110103716
MU
2005-03-06 13:08
2005.03.20
Вынесение инвариантного кода за пределы цикла