Подскажите пожалуйста.
Как можно передавать строки, или данные в правую точку из цикла?
например:
function Name(Param1:Integer):Integer; pascal;
asm
MOV [EBP -4], EAX
MOV [EBP -8], $A
MOV EAX , $5
MOV EDX , $80000000
SUB EDX , [EBP -8]
LEA EBX , [EDX ][EAX ]
MOV EAX , [EBP -4]
PUSH , OFFSET [@574BD3]
PUSH EDX
PUSH EBX
XCHG EAX, EAX
@574BB8:MOV [EBP -4]EAX \ начало цикла
MOV EAX , [ESP ]
SUB EAX , [ESP +4]
LEA EBP , [EBP -4]
CALL вывод в правую точку
INC [ESP ]
JNO @574BB8
LEA ESP , [ESP +12]
@574BD3:RET \ конец цикла
end;
Или только как то так?
Procedure THiAsmClass.doWork;
begin
Par1:= ReadInteger(_Data,Param1);
_hi_OnEvent(onEvent,Name(Par1));
end;
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
|