#include #include #define N 10 .extern _sygnal1; .extern _wzorzec1; .extern _wzorzec2; .segment /pm seg_pmco; _euclidean_dist_asm: .global _euclidean_dist_asm; leaf_entry; //wejscie do procedury b0=_sygnal1; l0=10; m0=1; b8=_wzorzec2; l8=10; m8=1; f8=0; f12=0; f0=dm(i0,m0), f4=pm(i8,m8); //wartosc poczatkowa lcntr =N+1, do loop_wektor until LCE; f2=f0-f4; f6=f0-f4; loop_wektor: f12=f2*f6, f8=f8+f12, f0=dm(i0,m0), f4=pm(i8,m8); //loop_wektor: f12=f0*f4, f8=f8+f12, f0=dm(i0,m0), f4=pm(i8,m8); //f4=f8; //ccall(_sqrtf); r0=f8; leaf_exit; _euclidean_dist_asm.end: _euclidean_dist_asm2: //parametry przekazywane w r4,r8 .global _euclidean_dist_asm2; leaf_entry; //wejscie do procedury b0=r4; l0=10; m0=1; b8=r8; l8=10; m8=1; f8=0; f12=0; f0=dm(i0,m0), f4=pm(i8,m8); //wartosc poczatkowa lcntr =N+1, do loop_wektor2 until LCE; f2=f0-f4; f6=f0-f4; loop_wektor2: f12=f2*f6, f8=f8+f12, f0=dm(i0,m0), f4=pm(i8,m8); //f4=f8; //ccall(_sqrtf); r0=f8; leaf_exit; _euclidean_dist_asm2.end: .endseg;