Ver Mensaje Individual
  #2  
Antiguo 07-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Mantixd.

Si no te comprendí mal, sería:
Código Delphi [-]
const
  REGS: array[1..31] of string = (
    ' AX',' BX',' CX',' DX',' AH',' AL',' BH',' BL',' BP',' CH',' CL',' CS',
    ' CX',' DH',' DL',' DI',' DS',' EAX',' EBP',' EBX',' ECX',' EDI',' EDX',
    ' EIP',' ES',' ESIFE',' GS',' IP',' SI',' SP',' SS');

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: Integer;
begin
  Memo2.Lines.Clear;
  for i:= 0 to Memo1.Lines.Count-1 do
    for j:= Low(REGS) to High(REGS) do
      if AnsiPos(REGS[j], UpperCase(Memo1.Lines[i])) <> 0 then
        Memo2.Lines.Add(REGS[j]+' -> '+Memo1.Lines[i]);
end;
Agregué un espacio detras de cada nombre de registro y segmento declarado en el arreglo constante, por que sólamente serán nombres de registros si estan precedidos de un espacio. Es decir, podrían estar seguidos de una coma (instrucción), punto y coma (comentario), de dos puntos (dirección relativa), ..., pero nunca por otra cosa que un espacio o sería otra cosa que los mnemónicos buscados.

Saludos .)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-04-2014 a las 23:19:56.
Responder Con Cita