From 2df827267fbd8daea53279eae1121d0b2e95c29e Mon Sep 17 00:00:00 2001 From: Samu Date: Sun, 16 Nov 2025 09:12:50 +0100 Subject: [PATCH] Faltava el nou directori --- MathWorld/Makefile | 2 ++ MathWorld/out_a64 | Bin 0 -> 74344 bytes MathWorld/src/MathWorld.c | 33 +++++++++++++++++++++++++++++++++ MathWorld/src/aa_add.s | 6 ++++++ MathWorld/src/aa_fadd.s | 6 ++++++ MathWorld/src/aa_fdiv.s | 6 ++++++ MathWorld/src/aa_madd.s | 6 ++++++ MathWorld/src/aa_mul.s | 6 ++++++ MathWorld/src/aa_sub.s | 6 ++++++ MathWorld/src/aa_udiv.s | 6 ++++++ 10 files changed, 77 insertions(+) create mode 100644 MathWorld/Makefile create mode 100755 MathWorld/out_a64 create mode 100644 MathWorld/src/MathWorld.c create mode 100644 MathWorld/src/aa_add.s create mode 100644 MathWorld/src/aa_fadd.s create mode 100644 MathWorld/src/aa_fdiv.s create mode 100644 MathWorld/src/aa_madd.s create mode 100644 MathWorld/src/aa_mul.s create mode 100644 MathWorld/src/aa_sub.s create mode 100644 MathWorld/src/aa_udiv.s diff --git a/MathWorld/Makefile b/MathWorld/Makefile new file mode 100644 index 0000000..cdefe41 --- /dev/null +++ b/MathWorld/Makefile @@ -0,0 +1,2 @@ +build: + gcc -g src/MathWorld.c src/*.s -o out_a64 diff --git a/MathWorld/out_a64 b/MathWorld/out_a64 new file mode 100755 index 0000000000000000000000000000000000000000..abf2c74e9c98f0b407f78d8fdb3c4487c6f0006b GIT binary patch literal 74344 zcmeI2eQX@palmJ9@5mELQIu%w!;;0LtkiO19w~{{M{GyOFHuxPS*0j{pe~kscgy2N z_rczWO<69?rbS!8E+9J2huu0cQWTH_6mVOo)*o#x7Y?A-EuhAAz#_FxDNZ0H0j$JL zVb-GAnYV9_d&{FG2n7lhv*7N$H*aR%yx+e4czb+u;K;#%VE}I?yb4r1U*~FKy5a1m zC7T%Rg9eDf9k30^EQmYX`DIrC8*yV9cB^2bB)?~MyI*eBb}YGfk|EtzOKfR!wJbr6 z#ywK57Z%+13kz;UmQy;9X)W20s^mAT{bscv%Q>AGOCBGMjrK_$&o8%Q8*MDfmNt^K zUu&e=av4!t0G8}`?8l`fmBZT4FYncUEZOfj&`+OgZSm=%MK_P={#N3-Pmi0W#-zq} z3&x=HKX~*69Q|nbZ7+WRXP5r*Th5ov_f}7Su;qIrotbpJGn4Gdq;ut|4%;pyCiZkk zi}~nI_pDGXj;GVPAz|XI4c8c~2^*jbDkomWBC~ZhqK=|2QbWHHb=zv_Cs7xvp^u`j zR(u*)E&Y?IkKpd#?nFf`dzdVjieOoYGGP@6}q8?2$xVJqnroK(74atfoveVKgD8MWgX2jix) z`JC>_a!qR*>H!4s44P_pj|TGZ#x|Z`U!VCJo&poTpmndPdH{yBKVP?|p2&0cZo@@= zeX{;(t)E>avKUd@U(xz~`n*uw-f%bf@kpBgb-g_Uq=+S$p*qlediUL$NcfJKM zI9&_8g>^op_r`DW=)Lhbdh~ioDpbUy=X(-0?C|ItxKoq|?l9k8IQ`m73nt9$!`t%0 z>DSM`hPv~n^#hL?Tt%C!09V(3GC1FI`M^vh(DsA2i1{|}Ee4!f8;H%f1VFW^dL7oc zdFl;V@AcH1u^#u-*J1t3p89&Mf7`8lbD^@e-F*9YnEw7&+<$DscP^Q+`O9~}%ujF} zbC@Umd~n{xwjl2RzPR}H_ik^ zJizEBjNLvrIB#Q&tETZCKn{wP&%Pbt&2877e5{U6xKR7>)J}RdzvH6#9EVH;rV0vUMVC?^}F*d(& z`X4IijmAQJeu!gSIQ_RO?ig~IYXclR%FSACfO!Bo)Aq!`!eT4XlkQC0G?v%6Wf;42 z=6USr(&pIwTw82@5a-8_ko9G(U&1=sf!emd)6XnWsHA1GQ|<@0j^Lw7I+i zW9$C*qTT!0-;YpN)o0|cnJG`a{k7t~c-KrGZB&kt&(2Jc{hHXqTx)D$6WX`M#yEpYYYe zc(bZK{QC1$_g=5wYnAS!wDpV(M|zGQ9~kaE@^EBNcSk&3iVWpSPRc1n?w@oDb}60D z716H0KQh%7`Ajl0wUdq`1EVM!;P{E&n)=}rM{4W+fu?qO!@-IEp$BR@s%&fLdoYv7 zG;^uQu{=Jds?vso)L#-4&x}Wsm^liSdS=|cs~x2NKBfKn=V)6MbLIR2W3zb=y&KWJ z_1wpci}ak|cx`cU0_7o;PoVsLlsM607UemVb0{yOq^-pjU_3qo!Ktmr=B75KqxXVG zFdjYIpr?K-+1-u%S=4or4mZ-paDM}J{C>6_>y*RKQFja_^mOzzM_vei)9n39;OM*W zyw!{vRNsO-g9mj5Yp|lrd!b6!bRQQpxd9*vQf*8 zTHdN93mpcoEV}vWFmOg2+@hr(K5WqSDV+%G&jsBE9@lwor!fHc|M8+b9&A>opXmA@ zY5zrCXU#?dsUM|1MnwxEmc@OP4t3HNoIGpq8%vcd^yAKc-I%pD&-ej{i=@e(Z+q zLzt2qaq@=jJ1X|mH)MaJVt?j_?0=_X|KbhV|9Qp!@p2lVtEV9#$!Xzpgegzl-(y_5XrL+KtMAdP4=62k}s+3_h$fP^Mt+ zLuE)cug1}P{LR0^mY{06v$|!~8`u&!X*B&h$^+C^z(NC<2T+*GD2u4Yl68$v~4}H<)3q9cm5WT|Knc_)K$aquI8(ZLP7cz6Bo;bvh1S960SM za(E3!rot*6xAC5kH*5nv9vUlcx=V@|+xP@MLXEZ1vH|OB%;wF_*dNW;|0~_Mu5N@g$!5~;Mr|98KKtB&dyL% z*L|VTf&1`|VAS1Pm#Qfb*Oj$?!Zkds4G)K!>QW)2JrKYg4q+#hViaY~6mc#9P>L$O zzzCKMb-=v%qFCP^Fm58&Z&ECEz*v0Y++-|=VyOeh;*0AhW6^7rp$-^}FTk6Ob&6uC z1IFTu^d@6{nPRB}#^MY4CSyHCvD5)$@x`uVW%9XHL>=fERGi2cN|AD|m`>%KWQ0^% zJDme%P^GqQD_hP03Oku3ktJC%Nle%U(vBz7k3uqEj%OSgJbEJ1w{x$4S&4LHGwD(( z<8(N=B)!gbWbJtRzRcvF?np-}(lKrqPvsI5g?uhwE_Rf2kEL_Tj*^XmiWIm^fl(IA zahNP%qT@Pw%9%Q*bc%&UCzi1oEkfr+KI?QA?QCa%K2gp(xl*w+l`eH+Az#RK4%?-P z2lItYQsvomJhCg=-OUjw8ivsEXi!Tv8n~xc&MZ|hxuptajI|q1gF34u6-`j*&{-}P zI@7sCrkr%3SW2ez(Fq!@n}QxTc0wh$J1pr0sicy_f}0o?bW%7$R@_XyflaDAL$!&C zZ<^26)SH!ciPyt~U}Zg0tq%dOTdMVS!0-3f`g-7XLA5>%yxyqRuL53|RO=gn*JsuG zM&S4JYJC%&*YEGu`qjYex@vthT-5K2)%rCMZuDy0vI#A4sHT1`T&t;H2fTjtMl+!m zc->g7zXfWoV@$Xe&gpetwf*|a`mb8Q0lM@mqguZaVm0-fyk?cM3B1a!s8qoOUJd*8 zybAW~Z?9J9nh9H1(6=qq(_=aazgYA)xTkOVd3V?ME%1o%ytw-1=W7iHHeg8~(H*(= z%jXFZ`?P%i(>D((UI3ba^}IfJ^ItyCUH$TTOYb5p_uBv)ef@HrH{1exyBmE6SvgJ< zM11RIdhe(F{rVoQKjyP{xorSm7rVUzjB0!SF2njSVZp$!4Lm>TeADK}S$@4difu-X z>*xj4Q=a_&hhos?##w$nzJzTCEZ4jCEihSg{w(FGg5%)=?zMQjahhS)$KS0sRhCK| zhx?uN_4{ut#OFB2eDUAAjy=ENalf>fsg*y+pY+B5)phLoMUCSlnk7ssCEsI+gt|7XA10eW(Xm{(SkOw)fxX-L#iK z?`*VRhqKy$9@ARy=QFAF)OYpv$Ec4~t5oe{rCFSXu(UCgUE%g0q0sLkP4)UORJzmIK0 z{W?zCBX^TMEIluRx~+Ew`w`R=Pd}drm3>oX<` z61Ymj#ffDl^HwU8kJ}k5iA#&3WtXQQkRl%!5~qq~=cGzMairVse>hHACmuV#Z(!s>RZMl|2D2Ge zJbtMAi;2fovH$SylcRmAc;e8$orzsow5)?8J;MXmz|nro0;~VwqdmhzeW=F8oHcMr zw;t*r0c-Hc{k=U$tosihJU%dLjrQ~&8L%oVF?Y>@ewlPUVHHbup@i#_bS^e{WT>~# z+7;d14c5@;u(gDAbhwXzj?$739plBK_QO1^#1yV@(m6Yme%z_V*tr)hCux^#P%yO< zE-x{4TK(WENiUYLiR|2fSV?8`IZyOtF>g)Sxg>UM$8kkm)x*&JXqimsta8yw!eqHr ztZK&Ys1vn5weU<*=br4{^)zLJt7pr?K{8t!Jx`~qvAfG#Zzt%k7S?Ja07Q$YvbZuv zSt_`4f=ju4$%&?NVC*(pqd(oWdL35X_71##wG_{n#`0aVj7PnX9|xri?J=QPD9k0(DQa8iN0Kes7kA+cL*2sDc9ef&aOX~ zu^T&^PGAmsjEsk<>dp;~^8uoGRnbBoQ+ML!6#Ch@6kdY5n$C^qxopSd1?N$&Wzso^ z%ZQ4Lq{fq5;M>McOIpFuD=Xf1)W+*)mh>svyYYRTb@YV}Z^adVUT3rPuaL;ryY0cs zf8lRp-2cnEz>-%|+^_nwA{Z zk&$Qf=TE)9_^NRC3jRODpSWnF_jK>(_owTdbbfx%=m*bl`y9B+vJVSX z_WPR+uEkfqonx8(ywaDV^7w}K|ER$Y(2n8(+<89meT{BcJa=46_ju-3w} + +extern long long int aa_add(long long int a, long long int b); +extern long long int aa_sub(long long int a, long long int b); +extern long long int aa_mul(long long int a, long long int b); +extern long long int aa_madd(long long int a, long long int b, long long int c); +extern long long int aa_udiv(long long int a, long long int b); + +extern double aa_fadd(double d, double e); +extern double aa_fdiv(double d, double e); + +int main(void) +{ + long long int a = 3; + long long int b = 2; + long long int c = 2; + + double d = 3.2; + double e = 1.6; + + + printf("ARM ASSEMBLY 64-bit Integer Operations\n"); + printf("ADD x0 %d x1 %d RET %d\n", a, b, aa_add(a, b)); + printf("SUB x0 %d x1 %d RET %d\n", a, b, aa_sub(a, b)); + printf("MUL x0 %d x1 %d RET %d\n", a, b, aa_mul(a, b)); + printf("MADD x0 %d x1 %d x2 %d RET %d\n", a, b, c, aa_madd(a, b, c)); + printf("UDIV x0 %d x1 %d RET %d\n", a, b, aa_udiv(a, b)); + + printf("ARM ASSEMBLY 64-bit Floating Point Operations\n"); + printf("FADD d0 %lf d1 %lf RET %lf\n", d, e, aa_fadd(d, e)); + printf("FDIV d0 %lf d1 %lf RET %lf\n", d, e, aa_fdiv(d, e)); + return (0); +} diff --git a/MathWorld/src/aa_add.s b/MathWorld/src/aa_add.s new file mode 100644 index 0000000..c7bcc79 --- /dev/null +++ b/MathWorld/src/aa_add.s @@ -0,0 +1,6 @@ + .global aa_add + .type aa_add, "function" + .p2align 4 +aa_add: + add x0, x0, x1 + ret diff --git a/MathWorld/src/aa_fadd.s b/MathWorld/src/aa_fadd.s new file mode 100644 index 0000000..e381ba4 --- /dev/null +++ b/MathWorld/src/aa_fadd.s @@ -0,0 +1,6 @@ + .global aa_fadd + .type aa_fadd, "function" + .p2align 4 +aa_fadd: + fadd d0, d0, d1 + ret diff --git a/MathWorld/src/aa_fdiv.s b/MathWorld/src/aa_fdiv.s new file mode 100644 index 0000000..a729880 --- /dev/null +++ b/MathWorld/src/aa_fdiv.s @@ -0,0 +1,6 @@ + .global aa_fdiv + .type aa_fdiv, "function" + .p2align 4 +aa_fdiv: + fdiv d0, d0, d1 + ret diff --git a/MathWorld/src/aa_madd.s b/MathWorld/src/aa_madd.s new file mode 100644 index 0000000..dbf88f0 --- /dev/null +++ b/MathWorld/src/aa_madd.s @@ -0,0 +1,6 @@ + .global aa_madd + .type aa_madd, "function" + .p2align 4 +aa_madd: + madd x0, x0, x1, x2 + ret diff --git a/MathWorld/src/aa_mul.s b/MathWorld/src/aa_mul.s new file mode 100644 index 0000000..dbfc786 --- /dev/null +++ b/MathWorld/src/aa_mul.s @@ -0,0 +1,6 @@ + .global aa_mul + .type aa_mul, "function" + .p2align 4 +aa_mul: + madd x0, x0, x1, XZR + ret diff --git a/MathWorld/src/aa_sub.s b/MathWorld/src/aa_sub.s new file mode 100644 index 0000000..8d8e91b --- /dev/null +++ b/MathWorld/src/aa_sub.s @@ -0,0 +1,6 @@ + .global aa_sub + .type aa_sub, "function" + .p2align 4 +aa_sub: + sub x0, x0, x1 + ret diff --git a/MathWorld/src/aa_udiv.s b/MathWorld/src/aa_udiv.s new file mode 100644 index 0000000..233c645 --- /dev/null +++ b/MathWorld/src/aa_udiv.s @@ -0,0 +1,6 @@ + .global aa_udiv + .type aa_udiv, "function" + .p2align 4 +aa_udiv: + udiv x0, x0, x1 + ret