关于汇编
  • 板块学术版
  • 楼主impuk
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/12/22 16:50
  • 上次更新2023/11/5 05:48:29
查看原帖
关于汇编
279700
impuk楼主2020/12/22 16:50
{$asmmode intel}
type TVector4i = array[0..3] of longint;
function Vec_Add(const v0, v1: TVector4i): TVector4i; assembler; nostackframe; register; 
asm
  Movups Xmm0    , [v0]
  Movups Xmm1    , [v1]
  Addps  Xmm1    , Xmm0
  Movups [Result], Xmm1
end;
var a,b:TVector4i;
begin
  a[0]:=11;a[1]:=12;a[2]:=31;a[3]:=24;
  b[0]:=91;b[1]:=42;b[2]:=64;b[3]:=93;
  a:=Vec_Add(a,b);
  writeln(a[0],' ',a[1],' ',a[2],' ',a[3]);
end.

cf上成功编译,洛谷上CE,说[Result]不合法,有无汇编神仙帮忙,教我汇编大法,诶帮忙治疗一下。

(其实就是用脚实现了个__m128i的加

2020/12/22 16:50
加载中...