Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
6-1106219568
Star
2005-01-20 14:12
2005.03.20
Обработка ошибок IdHTTP


9-1103555406
Макс
2004-12-20 18:10
2005.03.20
vectorgeometry


14-1109344932
Soft
2005-02-25 18:22
2005.03.20
Предлагаю сделать на форуме раздел newbie-delphi


6-1105566431
vers
2005-01-13 00:47
2005.03.20
Как защитить idTCPServer от ложных RST?


1-1109761840
Creator___
2005-03-02 14:10
2005.03.20
ServiceApplication




   Наверх