From 409f77642d059ba3c2cdc1fb0dbf75a6bc07c7b0 Mon Sep 17 00:00:00 2001 From: a33-rogers <alex4.rogers@live.uwe.ac.ukmake> Date: Mon, 6 Jan 2025 14:09:57 +0000 Subject: [PATCH] this should work probs --- Task 1/fiber_program | Bin 0 -> 17304 bytes Task 1/main.cpp | 25 +++++++++++++++++++++++++ context | 1 + 3 files changed, 26 insertions(+) create mode 100755 Task 1/fiber_program create mode 100644 Task 1/main.cpp create mode 160000 context diff --git a/Task 1/fiber_program b/Task 1/fiber_program new file mode 100755 index 0000000000000000000000000000000000000000..9f0dc2d806f68a13138658cb037e44f619fa29a5 GIT binary patch literal 17304 zcmb<-^>JfjWMqH=W(GS35O0D2M8p9?F+|uv84L^z4h$9y+zbv3vJ5f|YzzzxEMPH+ zJWM@|&R~Lw!)Oi&mw_3oZv|8yotA;BgV7*2frLOb$UYDo8|Hvo0HYb8{s8G?1!;it zVd5})Dab(#3=A+DCJxdEwod`1nSp@;jh+Bfz`(!&qmlK2!lpnMqOZUfm0ke#_XnuG zFnu6lkiHJ6z7D897|j4u05S?nL%j=*1CTq9K*iB%7mywX1_l@nQVS9acv_MIVhce1 zg--i`6frO`z-W+KkWk>$k`#6jgGdYu_8_QzxWZ)u)cr6T8oUhpIhjdjCi*!kx;dG7 zr4_mr7G}C;CVIvBdPZQsi!d;N)0DekC<ANC<hb4ce<&P2kiyex<&c@X>AfMy-5@uB z%mb+bIU5x8Q0u_K%EQ0_PWzznXJD8JW`o2)YA>Xo%N3o$;|yYB!=Vfe3_@5W^cb;= z@5G^g1rBjp9Oit)p<W&-sUkbe3x_$Nuz@B4WaSLjILw)V!(MAf1_mV*6CfN;Mg|5! z1_=fSXu%)=iU^QYPG(YZNlLP|HYhI57~<p8bMy1!i%SxVO5)=g;ypur<5N<LQqwbw zOHzwMe4TUh^HM_+lX6laa@b{}f=f(N^HOp=lY>hP4U;nxi{eX)5;IGRJ(FEsgMv#8 zjgu0KGn3=<i%W`96LUR7;zJDLU4zZy8RDb-f=eti^NZt?5{pw!Jo7S3Tnt^yz~cEi z#jXKvLBaXK@vaQ<QNblS#h%2OpBxhJ8f+RL;GGOM2+aa#hy}qVCdv7wB@8*4Ny)Il zC@x7%&W=yc$c|4-%*<hkk58^hj87~{t;j5aa?&#M5_2-EQW@goK^mbUmz$WG$KdYc z>Es*{5pS$#0%6A+A+e0~Ou>1EiGi7cnSlkIdmy=inE@mQiX2dWU<Bs_So$c@oWudj zX))0FV`N}r5N2e66<-V@nVGzx8X*HJRw|Xr$-uzGPy|(904>j8<yL_p#GVQ?@f2ug zYCsb=fU4(!rX!d+F#ZX9h<Ttq49mM9kqb!TP^W-|8EznnBbR3nki=njfHb^766XX7 zK=B78aW1GBi28vf&J7ZPVpu)^)k(ZiF%Y!?svhJPNNj*a85mX|iG#{5h$sWY1|)G% z83z;Jfg}#H115d|NgNbLF!51(Gz3ONU^E0qLtr!nMnhoagurKhxnCa5Z#X=<S#Rny zFnF{cC}H}4!K3*I$6;_F{5Q?gXJGiRnxoIaz%TE>@Lv_g&j882eDMGO|Np8<`V0)9 z)*i#l3t)Z}h!1MIygUHr2Z8vYCd<nWV7?cK4{EBsTma@f=`%2-fw~hQGZ{ecF?{RU zc`?qT^N~mMlMewQKE15Zm>3v5dU^A~l<h$V28RElO8N{8UnY3;+IoWA-OCCx$HVeR ziKs_6>pwk+S2+Ja;FoUz8GIN@d-U2$g4LS}fhf&?9-SXN4!*PZIQWCvgYlTh#eXFt z9^I^0p$2gLe~`v6@4~<U(+_fAgRQ6m0|P^;cBn_QZId1Y1A|BB(-Iz!Zrg2o3=A(c z|NsC0BIW=8|HoM0>N7Af#vbOEN74VX{Qv*|AcI0ZI-hzpzX?e3=w?yX0Gs3b!|=dy z)@}MAH-r4_y1}FK_>0RRxn9!{K9G=Y2gsJ@fB*k`bRP2PX5|FAwey%q=k*tL|Nj5) zX06d@U}!zSKjlEnffDI%)?9rChUNo|ovbM!ANN8`T*JV?umfa?N4M{f6c1w_u>B>h zFTDT#|9|o@lIsLIYyWhX{%EfK!&qw6So`Due+Gt9O=vj2&;dE4S9Gr~$YrK%ARD?_ z=Yx2i$6uWP`~Uw0gkk$YTK9um-!JC;|NlSsuunIOiccrIPp^v#hfk+Fhev0;fJbM( zgimL>f=_3@hEHd?flp_>h2eq2KHcmd-RT@2-SGk*-T4we-RTNG-T4|m-Q@;8-SrlZ z0bn)68Ryf@=Fy$T;n5u@;L)8Y;nSU_;M1L_;nQ7a;L}|PF^gZm1r$2q^ynDw(`)Oj z#lYYg=Gl48G1Rm3t7C{`=buoIUR@h428LiC&A*^L^kV&=|NlJ>{$(zaH@po^Z$6!$ zd^+E`bUt_dFLK|b`7oo0<=xU(p!^jb>lou0>lo)4e>g2o57|CY&I3gN$V`w*5FhNA zQDQU%MnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1Skjr(EJTUqC#$JadBdLDgy(fG_y5m zt`{`tA@Je<e^BSS;KTp_pn1uL5C8vzdj6Ro|NlS0z`(%%>Hq%+3=9k*pZ@;`O%e%w z{{LTrk%6J%^Z)<g5dj7U2GG1L$a#!aK@5x)0*ul;>>QxEa*((T0|Nud4sd7Jg&j1- z#Gt~!z+l3_z|isj|NjJ#Mm_;IJ_#>=?sAR>274)MEn^k%^dd-q3<Cqhf%pIagWL*I z3c?^WOBfg!7Jm5ue;!D{l~16J$(fgpX(|sp2Ll60ehLEvgZ#(;|9w&9UEuOtK=a)n z|NoanmJa|+gXhn$FfcH@`1t>SDoEaqPoSU4lTV_L*_BVBm&KJ&qleXn&!COXgU_Ow z-JQ=NkI%x9&%lvS!--G9iBH0bPr!+f13X_Q1DYfI^#4Ed{0zv*Q9K#~qaiRF0;3@? z8UmvsFd71*Aut*OqaiRnLIAej4Ys}www?_%D+cl*It^M|2NH*`Wdrw;7#Lt{#%2hE zWEmL1eH8`<2H5&KX^1emp8;Y@fd~c$2H1K!P(KJH1nWC}{r5i~%m>ZXGB7Z}`XmjY znOX)0@H%ghya7}mw#Kav>R{N~HVKd-1_lOEC=H{a+88>Z>(4+F#2~o}5P{TB1g(1m z35kOU(7I}<0F+`VfG%2txf|5q1Sy5B#e>-|2NGmpV1TLn{U72#MySv~C|?0;-hU_` z=B^J={y%6y{DktM!2va$dK7$pH=2=V(D-(P(qT|K4N8|mX*6vlb7AWz-JPAS6f{DU zO7lue6)g2k^bB+jOTj$DIwJ!;0~0+XO^7&QE0`G=8DQ)BkyV4%m%`Skqlz;#ynsaj zk_2dVDhDh9p@_3Gz|td<Fat9K8v`ueqKdOKz~U2CoPz<D4p7B8;pq)koQq)sEI}ek zFf(u?7Q&*4^Dro2i6>?TUWNv&;(QFS{TE2aFfcRlGr;mYs<;4RUjmW@GlL)lY&}1c zFatA#5JLi%#oo*e!tn9~RlNwj+&~o<Wx$qhnHj|3`5aZfIB4?-vJjZfjI=HsEC3~# z;iVc>0J=V(h2i6Wgb0KMDj%5`_!thLg(n{aX!S84!v{2RMW{He{Dqjpz+euxLxLf| z5h4OD-Wc4#;+Wx(3pEE;u0wP&FjRuoV}|Dp@V*yJ_b&vi7hqt4#tY2eJz#MOh6ptG zoQB#f4qYb=9?N22VE7Fcht)5zdI4k})^KA4t??FO=m7-?%<)hfn|djbL0Hn2Br_<S zG1I>;*nG@%Vg@!x7$aS|L&ahB7}O~YQDAd0(^Ua@KLa1b8E81b)YpQ>))>SY1fc80 zVd9sWKv@Md9kzh?Cm`|>tel^WV?V=ssJ)fY_2}TSMg|6kEnsn&Z3y}g$b2So23R=@ zlL=&IU=U)$%-5Vu*!PWG2a6-h2k_V_0|SFHSR7_5f(GroLJJzOWE)sLA44sg<Rq{- zSP2TTj){RmkO?z9xj_D6kYEUbrcYS7?E<Ms%Ga>{9v7KFMI>hUJAva%f*}EF4$Sg< zVD%Ch@%RddJNZH3$-u{;0Bsk6$7n(0y-@KLX#Uk^2Bim>Z3x;Os(u309B4CuAsj4@ zPzPg`;V`EahxmLP<}f4|l@ynhrlsj6Ga&Z8#Fym8Cxdpr6f?xfr{u?{=j10P=ESFz z<QEmkCze()B<JTA<fN9Qrs!E1m>FVM6rYxvml>Z}RFqg5pPE-vRLPK5l$e_upHiBe zTgea~kHm}5%*!l6Q3~2nqL*Ay0N(fFV`y2BnVOtho>`n4pPZjpTvAk;Tmq4@h>y?A z2We-Bk1{cg2kl2G$xH?tm<igbl30?NpBJB)mlB_n3egAR8)RlO#Jl_WJ30Eq#}}6- z#e2qAFvQ2Z1v&b<#=H8t#K$wl$GiK5#=Ckz1wCAX7~)+b{TzKgof+c6=EEJFf+_&s zOawRH-_0%9H6%X7(aFa(o}suru>j<SlGKV4hWON!#F9jYcu)WM;*yliy!g`MRFGMq zO*gQ8HVzKpZ8h;mdY}z7pkM*}o4oBtP{W{mbmHSviu2<$67y0(yPJ@<`aqRI?Id&O z5!4WvT~U6)$orX4Wz$nj5P<@ULZnSdP?g}lMDg(<zRs}t0d2YhZD4{bfLRm|3R937 zMW8K9NyWu5b`-`=E6_$Lblu=hP07Wj;235oMs^s!y<w2eP#}GvRFAni3Th23NU`iX z!?Cjr!_lDaVNlbcUS`lMuFNe-Ok&V0E-8Z088B96UP)?E0fSy%eo3lcdS0nsQfX#R zif(2KRLIfEQ@12BodGPDkyxC;pqEmaS6rD3p-YM&GG(bn#hLkeD4h5r2EC%xoJ5cY zD61f+gh3CS8TATsO7zn6OBnRPDP0d7DtblvpvYm+OU;1h{*06&1P`JWlB*cNI$-RS z%Dlwf%wz^Vi1wu7Vg|kB{M_8sJkZ=5tW2bY2K8S-O#xVU0M?Iy(Xjq2%np!R7#l<@ zgXSl}Z6OekfdSUvfYG3NMu-fAgw<OR9s`3JntoWn1V%%fX)xvBJ*aRFbf4|F|NlWN zmchcX{tJu-t@Z^;!0HuPKNTbf!hQ@4pxy*{Un+<X>*v7e0H}vS-B%D3rXSY-4Fm7( z1GULOx*6d8Ay~f%)^CT%g4%#E7KDxit+7UOKdj#bqha9>b3ZJeV01PE0|Tg!4dcW5 zS1>vNVhwm)0i*`zeyA`*6}X*@a6hcy52IoIewh6*{V@N7R_}u1)Cp=JtiJ}ME1=>a z{bESt1Tg)5;C44++yg$40_{hD(kIjiFa@#;%zzS|X!>FOKNt<3+lHzIQBY&y)_~@y zLGcQTUywYkp9rI2{sqZ_FpLkQ=c3sU>rcXHR<!;!%zltrAiNk&Kdj#gqhaGuAhjTj z?*Elg{h+u7$)oR^=LZWS2z31$(e%Umu`n96MggH4wBr<+$H1^3O+T!^3!@D{fs3RC z7H%-1lMD<DpuQt4m|*=8*uHi2@Pg@w(N`H57(jl6>4%NGH9+_E!_>j-gYjYXL+F?r zOh2rj-2v4PD;Qwu1Evq=E>J%c<VCoC=(t-4w8H>P|G4ab1r0x#eg;@S3bgY9v~B~Y z5lX}ChjJM{K=Tw#KWx9N08~FL|H9P6jEC{RLhXkthY2&l^lQUKAPkUSK`dk%p7uZz zQ0xFTFaSD!1IouBA(;DN`JWS7enPdusR^I~0tN<#BQTFaWnlI~xeTCgA(|4fR0wE8 NJ*aF1^AH5OegN*c;8y?u literal 0 HcmV?d00001 diff --git a/Task 1/main.cpp b/Task 1/main.cpp new file mode 100644 index 0000000..5b676d1 --- /dev/null +++ b/Task 1/main.cpp @@ -0,0 +1,25 @@ +#include <iostream> +#include "./context.hpp" // Assuming this is the provided header + +volatile int x = 0; // Prevent compiler optimization + +int main() { + // Step 1: Set x to 0 + x = 0; + + // Step 2: Set c to get_context + Context c; + get_context(&c); + + // Step 3: Output "a message" + std::cout << "a message" << std::endl; + + // Step 4: Check if x == 0 and set x to x + 1 if true + if (x == 0) { + x = x + 1; // Step 5: Set x to x PLUS 1 + // Step 6: Call set_context with c to switch back to the saved context + set_context(&c); + } + + return 0; +} diff --git a/context b/context new file mode 160000 index 0000000..4d1a25c --- /dev/null +++ b/context @@ -0,0 +1 @@ +Subproject commit 4d1a25c67a7215d32a18719c8cdbe2ad70582458 -- GitLab