From 927b2edd1f863fe531bca0b06656e0b8f18e3e9c Mon Sep 17 00:00:00 2001
From: aht2nguy <aht2nguy@student.cs.uwaterloo.ca>
Date: Sun, 27 May 2018 09:10:07 -0400
Subject: [PATCH] indentation fixed + Ans script

---
 src/an                   |   3 +
 src/developing/first.map |  64 ++++++++++-----------
 src/developing/main.c    |   8 ++-
 src/developing/main.elf  | Bin 6983 -> 6397 bytes
 src/developing/main.o    | Bin 1400 -> 700 bytes
 src/developing/main.s    | 121 +++------------------------------------
 src/main.c               |  72 ++++++++++++-----------
 src/main.elf             | Bin 0 -> 11864 bytes
 src/main.o               | Bin 0 -> 1488 bytes
 src/main.s               |  98 +++++++++++++++++++++++++++++++
 src/sketch               |   2 +-
 11 files changed, 180 insertions(+), 188 deletions(-)
 create mode 100755 src/an
 create mode 100755 src/main.elf
 create mode 100644 src/main.o
 create mode 100644 src/main.s

diff --git a/src/an b/src/an
new file mode 100755
index 0000000..825b356
--- /dev/null
+++ b/src/an
@@ -0,0 +1,3 @@
+#! /bin/bash
+
+cp main.elf /u/cs452/tftp/ARM/temp/
diff --git a/src/developing/first.map b/src/developing/first.map
index 5b04277..4c18731 100644
--- a/src/developing/first.map
+++ b/src/developing/first.map
@@ -1,6 +1,6 @@
 Archive member included because of file (symbol)
 
-../../lib/libbwio.a(bwio.o)   main.o (bwprintf)
+../../lib/libbwio.a(bwio.o)   main.o (bwputr)
 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o)
                               ../../lib/libbwio.a(bwio.o) (__udivsi3)
 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o)
@@ -28,46 +28,40 @@ bss             0x0000000000000000        0x0
  *(.bss)
                 0x0000000000000000                _BssEnd = .
 
-text            0x0000000000000000      0xff8
+text            0x0000000000000000      0xe58
  *(.text)
- .text          0x0000000000000000      0x15c main.o
-                0x0000000000000000                test
-                0x00000000000000f4                main
- .text          0x000000000000015c      0xc54 ../../lib/libbwio.a(bwio.o)
-                0x00000000000004d4                bwputr
-                0x0000000000000a40                bwi2a
-                0x000000000000015c                bwsetfifo
-                0x0000000000000330                bwputc
-                0x0000000000000790                bwa2d
-                0x0000000000000224                bwsetspeed
-                0x00000000000003f4                c2x
-                0x0000000000000838                bwa2i
-                0x00000000000006d8                bwgetc
-                0x00000000000008fc                bwui2a
-                0x0000000000000aa4                bwformat
-                0x00000000000005d0                bwputw
-                0x0000000000000d78                bwprintf
-                0x0000000000000454                bwputx
-                0x0000000000000554                bwputstr
- .text          0x0000000000000db0      0x110 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o)
-                0x0000000000000db0                __udivsi3
-                0x0000000000000ea8                __aeabi_uidivmod
- .text          0x0000000000000ec0       0xcc /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o)
-                0x0000000000000ec0                __umodsi3
- .text          0x0000000000000f8c        0x4 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_dvmd_tls.o)
-                0x0000000000000f8c                __aeabi_ldiv0
-                0x0000000000000f8c                __div0
-                0x0000000000000f8c                __aeabi_idiv0
+ .text          0x0000000000000000       0x24 main.o
+                0x0000000000000000                main
+ .text          0x0000000000000024      0xc54 ../../lib/libbwio.a(bwio.o)
+                0x000000000000039c                bwputr
+                0x0000000000000908                bwi2a
+                0x0000000000000024                bwsetfifo
+                0x00000000000001f8                bwputc
+                0x0000000000000658                bwa2d
+                0x00000000000000ec                bwsetspeed
+                0x00000000000002bc                c2x
+                0x0000000000000700                bwa2i
+                0x00000000000005a0                bwgetc
+                0x00000000000007c4                bwui2a
+                0x000000000000096c                bwformat
+                0x0000000000000498                bwputw
+                0x0000000000000c40                bwprintf
+                0x000000000000031c                bwputx
+                0x000000000000041c                bwputstr
+ .text          0x0000000000000c78      0x110 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o)
+                0x0000000000000c78                __udivsi3
+                0x0000000000000d70                __aeabi_uidivmod
+ .text          0x0000000000000d88       0xcc /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o)
+                0x0000000000000d88                __umodsi3
+ .text          0x0000000000000e54        0x4 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_dvmd_tls.o)
+                0x0000000000000e54                __aeabi_ldiv0
+                0x0000000000000e54                __div0
+                0x0000000000000e54                __aeabi_idiv0
  *(.got)
  *(.got.plt)
- .got.plt       0x0000000000000f90        0xc main.o
-                0x0000000000000f90                _GLOBAL_OFFSET_TABLE_
  *(.rodata)
- .rodata        0x0000000000000f9c       0x5c main.o
  *(.glue_7)
  *(.glue_7t)
-
-.rel.dyn
 LOAD main.o
 LOAD ../../lib/libbwio.a
 LOAD /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a
diff --git a/src/developing/main.c b/src/developing/main.c
index d11389f..68fea93 100644
--- a/src/developing/main.c
+++ b/src/developing/main.c
@@ -1,6 +1,6 @@
 #include <types.h>
 #include <bwio.h>
-
+/*
 void test(TD* T){
   asm volatile(//"mov r0, #0\n\t"
 	       "mov r1, #11\n\t"
@@ -34,8 +34,9 @@ void test(TD* T){
   bwprintf(COM2,"sp:%d, lr:%d, spsr:%d, retval:%d, args:%d\n\r",T->sp,T->lr,T->spsr,T->RetVal,T->Args);
   bwprintf(COM2,"r4:%d, r5:%d, r6:%d, r7:%d, r8:%d\n\r",four,five,six,seven,eight);
 }
-
+*/
 int main(){
+/*
   //TD T;
   //T.sp = 0x1e000000;
   //T.lr = 222;
@@ -57,5 +58,6 @@ int main(){
   register int r3 asm("r3");
   int three = r3;
   bwprintf(COM2,"r3: %d\n\r",three);
-  return 0;
+*/  
+return 0;
 }
diff --git a/src/developing/main.elf b/src/developing/main.elf
index 4c9afe2fb40d46f2d382f5f2b2e6b60aee982c80..68c107d859ce077751ba32c66ef4eb663a3b30ef 100755
GIT binary patch
delta 1154
zcmZ`&O=uHA6n?u&+o;L9yCzs-NiRuIuu`RpdXk``poow|ytTFmTZ~o_3_(Z_J@g`0
z=b)g%>Zyl<0YL->MGA^~5D_T|LK}b4i;B>T==Wu3WGVE)n{U4N=Kai@-KRVLY@O~-
z31k3T^RZkm^bS-U5o#BB9GZF@EXaJ{*Ld^LqVxx?m;?)!1g#D?XuTKtCNnp`+-+Lh
z9d+0pw`)oD$epyOQfi-9EtHWbcCpK{ZLzE>lG#wCwYb)jB2%cZ951JKXV<Dv{$|zh
zy9pW@xy;e&Z*0f@#!5Gvj2x+#n9yyfW_pnxs4Zu(@*ZKam+f7+g#Ja4&|h}c?R9VM
zSx42=xow^LWEsd(M#8fqn_!3(6NEia7wuP$`U&WDRW?(!&w8o^XnJZ4;QH!Hrr1|W
zi%i5s)*wR;%8V{_6%^+GGQVD=pgv|kH;l=KpHW8Q^5bs;B(Dwh^Bq5EZh_PPeYsyZ
zZv0D{oA}xAop8T)d_x{;gE??OPsb#vXik4d7bBPk`81T3{Cx72{kT6L+#D!ja|45#
z0Qx9+5SYO5Ml?SH<V2onehkPP&S^dfWJ61uj{%LiXz?5fFEj&W{yOK+4*BuWFbU*H
zlSoQ_340?<a213T8wApSolg8urh!|ayii>G?*M}ik^7q815)x(#y1{d6AgGmuND`t
z^aA@i6xgd9dJTRO6M2IsnBX1wI4;l)Bxm#2P(7i~{{oNZw_x9c3GEEe@0Zmu^h8GP
qkt4wcoiGb-gbhh`X!O*UVaX54@$;jnxf?M*>rpkGJ)xWpyZ!;J28ek8

delta 1746
zcmaJ>U1(cn7=Clkaf>}oa++i#W8HRybW}~pS&dt%L$hk@V3BqjL{RLi9kZ}@T~hoR
zLIQfDtl070c(JjAKQM5zcroxsEKG0=!Cs6ZvSE|#Xo`YWCiFs$&wIY_%vjVHzVp2Q
zKi~Hzf9(Ep&q6A4n~1VFsU(qhx@SjuEk?v=Ba{YCWYMjy-t1d3s`+~F(i8P1_ng<^
zzO$So(=#o%vDtPT_c(4NlXDw;$J|DeD)ooSUa_d!Tn<&6`*Nn2bGCW|j_GB`OwT!N
zdYM_%>#ayVEehXmEc;mY!nRa&S`sZscx2CehBfbnop~=rZez?j=jqPd%ev*(I&HTW
zb=+FNPCq&*MDWP~4PY-Yh_TyZ_Ssv#ENnf9NiQ9&uYP>Cd8^fGor%p5UBUD`HQkU?
z8<_flnz{qU|843=sBa}qpEZ-1k{j%9E0#nt6NL!3q?20<UpU)b{j=5j33Ws+wB?i2
z-O;1C>3~YJgFTZO`&iM3(rigG#UpbsPaN}g6UCz?FdY#pW_?BRK?!>#?3FM8V4nvD
zZJ$8_aUps_t473**qhp7RD2kl?m2}v^!be;O`}j~8a|reh!J9_Mu--ph?|LR7iKCZ
zM!GU$!Lq`v<j8e~4e?$?8KK|sW%I&6T}}>hLd#Fh>4~~=G&+GVFPkj(mCwnKwAUd>
z`>B}F;@7pjCBBVs@8>0DD&X+a2E@L6?!{><MhLqvu~VD1#FK!}yTnOAJR#l#j3vZX
zKs6zLP3-Jj+ayz%fV5=E0^W_I;{>#}g=ka^Cx0lPxl>;!4C$|t^wKFFxC1rBbMmIr
zg&?QE^Eyb9{`|{i3j7Od5cc0DP5#%QUs}jtrstGH5YR0j5*Hv7rj>lhuI32rj*<iW
zt#$U>>+BVE`!c?a$5skXz;_mq>d;>%*8P{Ack2J_yikGt5SVLt;tDX1de5Lf<vNHa
zmEw6I-^djuzXaq7zfkgVATQ&Zl3xP`WTC}3An-uvfn4A%AUDX%$+7@4@iVbpeisa1
zaVLth;(fL%;)EZ8=PNu6Wcx+nK=|*5E<xrAF_dq=4E$yT(Wgqj3gluu2*-a7Z1XSE
zbtnR|@ao?|_#FivQw@C&`2*b0H8jZyeujJ=6Y=t~%)b==y)t!aI&Fr$bQe)r#cu<)
z6{Pzizls|ifPb8x)+q}`0qs|Og-#E#j0CSMnHvd+8>H!pshM3b(ysiY4u5u2dV<oE
z%=Xg@uS^|>P5r+dGUkqy=ESq9sZHaL=SPS3=f_7!MxGijj2HF~<%h?`<<#I`RN_OK

diff --git a/src/developing/main.o b/src/developing/main.o
index 9b4a0d9ffc8f15617e2c4cb2c4162a9212aaf51b..36edf06a140130581d35d11051df71b807955346 100644
GIT binary patch
delta 278
zcmeytwTE?rg2fUB2rvOt8VsBaYz({y7CdCQq5G0$gU=%dg9VS785TTbWLWT+Rbav6
zfB*l#W>_)z#pE}P&g{wgxw)x%C6gVQ)F-Dhi8HA%Os->6;@rZ-z`y}CkA3n=CV9q)
z$rqW$CqG~kfUtxNfHI5_OTlCW!(=CBHP$R3$8vHmvobFaQ2PWR4`RezW@*+rKoRlD
zdzq6HKw>b!gklT>12Y3F12<Gs1xO14<pp4hfi#$%o0yrWm&~A&$N*w7B$XGGmJ~5C
L$N=S~frbMBsk$}0

literal 1400
zcmah{TWb?h5T5OBY|OTGEmbN}T&0DG>9W>nLn)f{k_tu}u!0YTxNV~?G;P>jygb=w
zp(ymZbRT_C=pPXJ1ANF2sE`W>66`|+pIc{k&(W<2J#g~PH}lQR&dI!+$>$_VvVb26
z5+DhJnCS{g%7+BRpc{Jky?W>SNL$&<HxkuHjjFfHV%~>Z22`eMUh|^vHLsaoGnw(4
zV+F4{0Go|_ptm*HYt^K^)<i~S88gn(rpi(Um6^{~maM2Ou^ISbf7_2MwE&}ffIV7(
znz_wD-(rfk#iHgGlfY{h%v~m%?`yK=)q8ZW-e-FCqvPWrCiVf;BoP(F1fs~%Lpc+A
zoTV^EIYZTljn0>y*0<0*(9CcU%&g$d5BSV6?ESx)@54wt3SV0TI3s=E<xsBy>_vS5
z-$(|p9{s%2n&!Qn%J}edQeU%ua4Jq<*d_OswdVUQ`=x_MtQYK*@38L#a5sRl0MZDg
zxjnA?2GyUPni|&=vyY$N&{KwKi~<<W+p=pdBD!{fE5fo%Yld5T<ASklxfU3Ujsu3h
z5s;;ga=Enbh92k?^D4$^ug-8C?bAYN(G>2FBcA0pK{|pvh#197a?+7K%(;w6=VPcA
zaY1jQP5RSxCePvP?$=vDpE%<C(&!MiDRzjYUx-4n^Jt5n6h1;-mJEJG4MNeALRC!C
z(MfO6hnM<lc!`JWbuf@apE#nP-~z*b1%4h2KcReL65`<w#KqJ>mJAX9E&tYtKrfQy
zA4lZGTXbRl3m9whxP*KV?ZQ9$Uz`j5JpX9YhmVZgbA>x7ryt|jLjrmy`oF~?p2bVr
z6}+T}vbDNyEP;`qGU?|Q3|TO=Oy(%KCC7!u*A;tp-F*SY+5FsOHeZ~}<(|yU7w5B+
s`I(}hkF`GGjh_QJ;7BuG!iI;4gSg}!!ft?RY)LwriQ>-?2V(%g0eq(P82|tP

diff --git a/src/developing/main.s b/src/developing/main.s
index a6e5398..8743442 100644
--- a/src/developing/main.s
+++ b/src/developing/main.s
@@ -1,127 +1,20 @@
 	.file	"main.c"
-	.section	.rodata
-	.align	2
-.LC0:
-	.ascii	"sp:%d, lr:%d, spsr:%d, retval:%d, args:%d\012\015\000"
-	.align	2
-.LC1:
-	.ascii	"r4:%d, r5:%d, r6:%d, r7:%d, r8:%d\012\015\000"
-	.text
-	.align	2
-	.global	test
-	.type	test, %function
-test:
-	@ args = 0, pretend = 0, frame = 28
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #40
-	ldr	sl, .L4
-.L3:
-	add	sl, pc, sl
-	str	r0, [fp, #-64]
-	mov r1, #11
-	mov r2, #22
-	mov r3, #33
-	mov r4, #44
-	mov r5, #55
-	add r0, r0,#20
-	stmfd r0!, {r1-r5}
-	
-	ldmfd r0!,{r4}
-	ldmfd r0!,{r5-r8}
-	
-	str	r4, [fp, #-60]
-	ldr	r3, [fp, #-64]
-	str	r3, [fp, #-56]
-	str	r5, [fp, #-52]
-	str	r6, [fp, #-48]
-	str	r7, [fp, #-44]
-	str	r8, [fp, #-40]
-	ldr	r3, [fp, #-64]
-	ldr	ip, [r3, #0]
-	ldr	r3, [fp, #-64]
-	ldr	lr, [r3, #4]
-	ldr	r3, [fp, #-64]
-	ldr	r2, [r3, #8]
-	ldr	r3, [fp, #-64]
-	ldr	r1, [r3, #12]
-	ldr	r3, [fp, #-64]
-	ldr	r3, [r3, #16]
-	str	r2, [sp, #0]
-	str	r1, [sp, #4]
-	str	r3, [sp, #8]
-	mov	r0, #1
-	ldr	r3, .L4+4
-	add	r3, sl, r3
-	mov	r1, r3
-	mov	r2, ip
-	mov	r3, lr
-	bl	bwprintf(PLT)
-	ldr	r3, [fp, #-48]
-	str	r3, [sp, #0]
-	ldr	r3, [fp, #-44]
-	str	r3, [sp, #4]
-	ldr	r3, [fp, #-40]
-	str	r3, [sp, #8]
-	mov	r0, #1
-	ldr	r3, .L4+8
-	add	r3, sl, r3
-	mov	r1, r3
-	ldr	r2, [fp, #-60]
-	ldr	r3, [fp, #-52]
-	bl	bwprintf(PLT)
-	sub	sp, fp, #36
-	ldmfd	sp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
-.L5:
-	.align	2
-.L4:
-	.word	_GLOBAL_OFFSET_TABLE_-(.L3+8)
-	.word	.LC0(GOTOFF)
-	.word	.LC1(GOTOFF)
-	.size	test, .-test
-	.section	.rodata
-	.align	2
-.LC2:
-	.ascii	"r3: %d\012\015\000"
 	.text
 	.align	2
 	.global	main
 	.type	main, %function
 main:
-	@ args = 0, pretend = 0, frame = 4
+	@ args = 0, pretend = 0, frame = 0
 	@ frame_needed = 1, uses_anonymous_args = 0
 	mov	ip, sp
-	stmfd	sp!, {sl, fp, ip, lr, pc}
+	stmfd	sp!, {fp, ip, lr, pc}
 	sub	fp, ip, #4
-	sub	sp, sp, #4
-	ldr	sl, .L9
-.L8:
-	add	sl, pc, sl
-	mov r0, #10
-	mov r1, #11
-	mov r2, #22
-	mov r3, #33
-	mov r4, #44
-	mov r5, #55
-	stmfd sp!, {r0-r5}
-	ldmfd sp!, {r3}
-	
-	str	r3, [fp, #-20]
-	mov	r0, #1
-	ldr	r3, .L9+4
-	add	r3, sl, r3
-	mov	r1, r3
-	ldr	r2, [fp, #-20]
-	bl	bwprintf(PLT)
 	mov	r3, #0
 	mov	r0, r3
-	ldmfd	sp, {r3, sl, fp, sp, pc}
-.L10:
-	.align	2
-.L9:
-	.word	_GLOBAL_OFFSET_TABLE_-(.L8+8)
-	.word	.LC2(GOTOFF)
+	
+	mov r0, #1
+	mov r1, #5
+	bl bwputr(PLT)
+	ldmfd	sp, {fp, sp, pc}
 	.size	main, .-main
 	.ident	"GCC: (GNU) 4.0.2"
diff --git a/src/main.c b/src/main.c
index 44fb95a..93caf47 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,39 +14,41 @@
 
 int main()
 {
-  
-  KernelStruct Colonel;
-  int i, Status, req;
-  TD* Next;
-  
-  //int* kernelEntry = (int *)(0x28);
-  //*kernelEntry = (int)&kerent;
-  InitSwi();
-  //SetUpRegs();
-  //kerent();
-  kernelInit(&Colonel); 
-  //schedulerInit();
-  // First User Task
-  TD* FirstUserTask= CreateTask(&Colonel, Prio4, (void *) (&firstUserTaskChildren));
-  //bwprintf(COM2,"main function ptr: %d\n\r",(&firstUserTaskChildren));
-  pushToScheduler(&Colonel, FirstUserTask);
-  TD* Task;
-  int ReturnValue = 0;
-  FOREVER {
-    if(Colonel.Active == NULL){
-      ReturnValue = 0;
-      Task = getNextTaskScheduler(&Colonel);
-    }else{
-      Task = Colonel.Active;
-      ReturnValue = Task->RetVal;
-    }
-    //bwprintf(COM2,"Kernel Loop Task  = %d\n\r",Task);
-    if(Task == NULL) break;
-    req = Activate(&Colonel,Task);
-    //register int r0 asm("r0");
-    //req = r0;
-    //bwprintf(COM2,"req= %d\n\r",req);
-    Handle(&Colonel, req);
-  }
-  return 0;  
+
+	KernelStruct Colonel;
+	int i, Status, req;
+	TD* Next;
+
+	InitSwi();
+	kernelInit(&Colonel); 
+	// First User Task
+//	bwprintf(COM2, "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\r");
+//	bwprintf(COM2, "main: before calling create first task \n\r");
+	TD* FirstUserTask= CreateTask(&Colonel, Prio4, (void *) (&firstUserTaskChildren));
+
+//	bwprintf(COM2,"main function ptr: %d\n\r",(&firstUserTaskChildren));
+	pushToScheduler(&Colonel, FirstUserTask);
+	TD* Task;
+	int ReturnValue = 0;
+	FOREVER {
+		if(Colonel.Active == NULL){
+//			bwprintf(COM2, "main: Active == NULL\n\r");
+			ReturnValue = 0;
+			Task = getNextTaskScheduler(&Colonel);
+		}
+		else{
+//			bwprintf(COM2, "main: Active not NULL\n\r");
+			Task = Colonel.Active;
+			ReturnValue = Task->RetVal;
+		}
+		if(Task == NULL) break;
+		bwprintf(COM2,"main: Active->Priority: %d\n\r", Task->TaskPriority);
+		req = Activate(&Colonel,Task);
+//		bwprintf(COM2,"main: after Activates finished req= %d\n\r",req);
+//		bwprintf(COM2,"main: before Handle\n\r");
+		Handle(&Colonel, req);
+//		bwprintf(COM2, "main: done with one loop\n\r");
+//		bwprintf(COM2,"==================================================================\n\r");
+	}
+	return 0;  
 }
diff --git a/src/main.elf b/src/main.elf
new file mode 100755
index 0000000000000000000000000000000000000000..a05424ee0b37637a3b08e7773911504458f7927d
GIT binary patch
literal 11864
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
SakzlD3aO+!LhC~U7x-U{Pp@SF

literal 0
HcmV?d00001

diff --git a/src/main.o b/src/main.o
new file mode 100644
index 0000000000000000000000000000000000000000..b1d698ffb67943d59d446e587535ebe4179162bf
GIT binary patch
literal 1488
zcmah}&1=(O7=N;Kb9SB9xkFtB=Fnk97lI6t9tK@lr!4z`b|82tX_MKoevBk@8wg%J
z?c!nLL6F6}ibs$86L$14WNit49`qk@K2MUD#_X^clHc=tzTZ6Wn`iTCk>fZG!o@)j
zI7SdZhh)ar<sb<cVD!-K!146=#7DLJ{>xG~b+ptSetY00-4`c+Pfve-m|g6qWTnf4
z+lli;+U=dl2OclK{>qDi9b~sNDUW#3xXHBOQ7qbe<7oSp7d(Jc?*_mG(?$J5-%bX7
zZv*@wf08q@;HBh!k8+SqITU~-$)dRLap3mKem{FBeEMv^nSLLgEar&T%!W1r>rqd%
z-}KR97v8=3mWX`Bre?PCVxi`kPmJl=Rm*H!rn8$Dr}X5g|5+ClB`@X{me+2IGm<Rb
z0g&w7rlVC69V@^(lPselImV6ylCC)#NLAYg$!Z6r)^0Y9mJ=D^IpTG+Q>#OvAI({g
z^qvUyxJS4c$^;Jw0d^3F@gaBeBY7(1JR&VUl8ZQ_w@@bk^Zev6W&n{E<r94=c(MNO
zA!WJA@*K%n;NriT?FuqhlMJuWQ1Cs17xN=zHOW%PpjA}TH%Q_`b<_9|kLLS?1{ZZ~
zv3!g(jOr8c=alIQ`Tur8JX(P`+jS7d!=V2y`#A<7I9P#Z0P|6=*{~>gCjSsz4TEX+
zV`$Ixllie?jMMzsqTF{GK_p&`@kcSP$9OZwqeqzX?ZxasmrAOEq$)CGHOT6|1|GCb
zr?hRthGDgg1~E`9LvxI>W^cgemR&EmOSQV8Z#4`H9vjXwUL~^imDTM{%WOI8;NMsb
zh5K4dZx~QnP*>&(YGtKZEX|iI<-(jgUx9VgvYj>CuqcaCHygTTv|tkZ6-EH?Uj#x5
zKqbVX)Cn&EJVoU2fW0JsIXE-K4@3Pi>2c$~3GvXTa4rHK=rkhv(JZgw&~k_q<5&kV
HgO~UpA}aW|

literal 0
HcmV?d00001

diff --git a/src/main.s b/src/main.s
new file mode 100644
index 0000000..fda61f5
--- /dev/null
+++ b/src/main.s
@@ -0,0 +1,98 @@
+	.file	"main.c"
+	.section	.rodata
+	.align	2
+.LC0:
+	.ascii	"main: Active->Priority: %d\012\015\000"
+	.text
+	.align	2
+	.global	main
+	.type	main, %function
+main:
+	@ args = 0, pretend = 0, frame = 2780
+	@ frame_needed = 1, uses_anonymous_args = 0
+	mov	ip, sp
+	stmfd	sp!, {sl, fp, ip, lr, pc}
+	sub	fp, ip, #4
+	sub	sp, sp, #2768
+	sub	sp, sp, #12
+	ldr	sl, .L10
+.L9:
+	add	sl, pc, sl
+	bl	InitSwi(PLT)
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	bl	kernelInit(PLT)
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	mov	r1, #4
+	ldr	r3, .L10+4
+	ldr	r3, [sl, r3]
+	mov	r2, r3
+	bl	CreateTask(PLT)
+	mov	r3, r0
+	str	r3, [fp, #-28]
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	ldr	r1, [fp, #-28]
+	bl	pushToScheduler(PLT)
+	mov	r3, #0
+	str	r3, [fp, #-20]
+.L2:
+	ldr	r3, [fp, #-2796]
+	cmp	r3, #0
+	bne	.L3
+	mov	r3, #0
+	str	r3, [fp, #-20]
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	bl	getNextTaskScheduler(PLT)
+	mov	r3, r0
+	str	r3, [fp, #-24]
+	b	.L5
+.L3:
+	ldr	r3, [fp, #-2796]
+	str	r3, [fp, #-24]
+	ldr	r3, [fp, #-24]
+	ldr	r3, [r3, #12]
+	str	r3, [fp, #-20]
+.L5:
+	ldr	r3, [fp, #-24]
+	cmp	r3, #0
+	beq	.L6
+	ldr	r3, [fp, #-24]
+	ldr	r2, [r3, #32]
+	mov	r0, #1
+	ldr	r3, .L10+8
+	add	r3, sl, r3
+	mov	r1, r3
+	bl	bwprintf(PLT)
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	ldr	r1, [fp, #-24]
+	bl	Activate(PLT)
+	mov	r3, r0
+	str	r3, [fp, #-36]
+	sub	r3, fp, #2784
+	sub	r3, r3, #12
+	mov	r0, r3
+	ldr	r1, [fp, #-36]
+	bl	Handle(PLT)
+	b	.L2
+.L6:
+	mov	r3, #0
+	mov	r0, r3
+	sub	sp, fp, #16
+	ldmfd	sp, {sl, fp, sp, pc}
+.L11:
+	.align	2
+.L10:
+	.word	_GLOBAL_OFFSET_TABLE_-(.L9+8)
+	.word	firstUserTaskChildren(GOT)
+	.word	.LC0(GOTOFF)
+	.size	main, .-main
+	.ident	"GCC: (GNU) 4.0.2"
diff --git a/src/sketch b/src/sketch
index 5dc31aa..8ea26d8 100644
--- a/src/sketch
+++ b/src/sketch
@@ -1 +1 @@
-K.Active(0)->T0(Create(someFunc))->SWI->K.Active(return 0)->K.Handle(0)->handelCreate()->Activate(T0)->(probably kerxit)
\ No newline at end of file
+K.Active(0)->T0(Create(someFunc))->SWI->K.Active(return 0)->K.Handle(0)->handelCreate()->Activate(T0)->(probably kerxit)
-- 
GitLab