Have you considered using the compiler's Swap function?
procedure TForm1.FormCreate(Sender: TObject);
var
  a: word;
begin
  a := $1234;
  a := Swap(a);
  Caption := IntToHex(a, 4)
end;
If not, you don't need ASM for this (and ASM will probably not be available in 64-bit Delphi). You can just do
procedure MySwap(var a: word);
var
  tmp: byte;
begin
  tmp := PByte(@a)^;
  PByte(@a)^ := PByte(NativeUInt(@a) + sizeof(byte))^;
  PByte(NativeUInt(@a) + sizeof(byte))^ := tmp;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
  a: word;
begin
  a := $123456;
  MySwap(a);
  Caption := IntToHex(a, 4)
end;
and, of course, there are "a million" variations on this theme.
procedure MySwap(var a: word);
var
  tmp: byte;
type
  PWordRec = ^TWordRec;
  TWordRec = packed record
    byte1, byte2: byte;
  end;
begin
  with PWordRec(@a)^ do
  begin
    tmp := byte1;
    byte1 := byte2;
    byte2 := tmp;
  end;
end;
and, very briefly,
procedure MySwap(var a: word);
begin
  a := word(a shl 8) + byte(a shr 8);
end;
or
procedure MySwap(var a: word);
begin
  a := lo(a) shl 8 + hi(a);
end;