[Lazarus-es] Free Pascal y assembler

Claudio Romero clauslack en gmail.com
Mar Dic 7 14:45:16 CET 2010


Hola
Aqui cargue un array de bytes, y dentro del assembler incremente cada
valor, luego lo muestro en un Memo.
Yo use el ASM Intel que es familiar para mi, pero lo puedes adaptar a
tus gustos.

procedure TForm1.Button1Click(Sender: TObject);
var arreglo:array [0..10] of byte;i:integer;
begin
	{$ASMMODE intel}
    for i:=0 to 10 do arreglo[i]:=i+40;
    for i:=0 to 10 do begin
    	asm
            pushad
            xor ecx,ecx
    	    lea edi,arreglo
            add edi,i
            mov cl,[edi]
            inc ecx
            mov [edi],cl
            popad
    	end;
    end;
    for i:=0 to 10 do memo1.lines.add(IntToStr(arreglo[i]));
end;

Saludos




More information about the Lazarus-es mailing list