From 5de7477dd28b9b3205be784da09893a01171f4df Mon Sep 17 00:00:00 2001
From: evgenyk <you@example.com>
Date: Wed, 12 Mar 2025 23:16:08 +0000
Subject: [PATCH] my first try

---
 .counter.S.swo | Bin 0 -> 12288 bytes
 .gdb_history   |  48 ++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile       |   2 +-
 counter        | Bin 0 -> 5620 bytes
 counter.S      |  48 +++++++++++++++++-------------------------------
 counter.bin    | Bin 0 -> 4158 bytes
 counter.lst    |  22 ++++++++++++++++++++++
 7 files changed, 88 insertions(+), 32 deletions(-)
 create mode 100644 .counter.S.swo
 create mode 100644 .gdb_history
 create mode 100755 counter
 create mode 100755 counter.bin
 create mode 100644 counter.lst

diff --git a/.counter.S.swo b/.counter.S.swo
new file mode 100644
index 0000000000000000000000000000000000000000..d0baff0a103f2e14b92440b81dbe7bd04eaf2e98
GIT binary patch
literal 12288
zcmeI2y>1gh5XUz(Gz1X5zz`R)rC{%!Lqbv}AQ1_q@L8cmdv|N+$ldO-w^p1W!80Jy
z(oj+G22dc;(b52~0HK5m#O&VLfhY<RN&(W0^w;`kXJ%)9dyQpB{LacXSZD_f?KETG
z&cE$%uon}rk25wXrE%^*S$LtF%+7a{xoCF&u-J#LU}sC4%}yM2Vm(k+n)c1ZQfQ9|
z5P>5jFv+@Mz+Jh<)HyhN=Jt_Qrb0x32oM1xKm>>Y5g-CYfC&8i1Z*+E9$}lu>Q<p%
zC-$xNBP~RL2oM1xKm>>Y5g-CYfCvx)B0vO)z<)?UB#hlU!PsY%`~4s48NQxk>;vjK
z>Iv!rY6n%IV$^liD(VVq8TI2NW8YElQSVUCP)|{hQI}9(CK=mBeMG%My+XZ2m8fOZ
z5^4^$TlezG^+QGkhyW2F0z`la5CI}U1c(3;_*(*iCL<%oru($t8gN-9P#E1eB8R3n
zfd5wpp+F8(3*~lcWe%~(vKC9UlIw*@m0iTIOlbG&V&1o&X<gI~Xuu6wNMXTlNN^j>
z?T92v-D<-bufRQcYru+%jm)L8P-r|s8nD`DD><|fZwMn|^i~H4i>ywpYT5t`q5|)Z
zlmy#F4@Xb0%82BBpW*yF(&!o3n+CAmmEPVNkd{6Mnre_`fT!lE5>}hmOhsipP!<iw
zRe95ftx;E4@v0VyA0XPc5}M-)TF^5(cYPaKmXIn$!S)DNlleI^4-0YOWPHfEE8giq
zmc~0O-GnW?8&RZE!E`?D6MoOa>G^Oztg}QJr>T#uqJ;BTS5YE$sbX1qe(8MFqwc{t
z2JZ&%C1fs`tz!pf^ft8nnT|53e15+zvb3+D3T|7xNXBr018fZr*jQtuQx~CK^*^;F
lW1Zvs39J5%6?u-g<II@5eCmKAe0Y&_9`G=(T1tc!>?b<^0BisN

literal 0
HcmV?d00001

diff --git a/.gdb_history b/.gdb_history
new file mode 100644
index 0000000..249842e
--- /dev/null
+++ b/.gdb_history
@@ -0,0 +1,48 @@
+target extended-remote :3333
+dashboard -layout registers 
+file counter
+load 
+si
+exot
+exit
+target extended-remote :3333
+dashboard -layout registers 
+file counter
+C
+exit
+target extended-remote :3333
+exit
+target extended-remote :3333
+dashboard -layout registers 
+file counter
+load
+si
+erxitC
+exit
+target extended-remote :3333
+dashboard -layout registers 
+file counter
+loadf
+load
+si
+exit
+target extended-remote :3333
+exit
+target extended-remote :3333
+dashboard -layout registers memory
+file counter
+load
+si
+exit
+target extended-remote :3333
+dashboard -layout registers memory
+file counter
+load
+si
+load
+si
+si
+load
+si
+xit
+exit
diff --git a/Makefile b/Makefile
index bcf2937..d8a1736 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,6 @@ clean::
 	rm -f $(PROG) *.o *.lst *.bin *.srec
 
 TOP=..
-include $(TOP)/Make.rules
+include make/Make.rules
 
 LDFLAGS+=-Wl,--no-relax
diff --git a/counter b/counter
new file mode 100755
index 0000000000000000000000000000000000000000..782d6a0bbf1118cd0c994475872863c8bf89a368
GIT binary patch
literal 5620
zcmeHLK~L0B5T0&#kwsV*7NdfOnm|NCc4g(_g}4YJiSA`F8V@#YDbTQNH*I%ijR`fL
zJah2kkMKWu_b=!V@PP4XB7XDQw-my`gU3!XZ@!uN-s{V}z9yZ+wI`1hMIk8}`bDu9
zE+P1%6lIo3BbDZ8goa_My<C(th$ds0h2^>Z)s9aN3Az9-YmRxaoR4E6Y&Z^|bpXow
zRMHBh6-X<PRv@iFT7k3zX$8^>q!majkX9hAKw5$STY-=Gzdw5aC3BR~21@v`SHG%c
z4Hd|mcts_(gj|W-<8Oa_{Fp!OY1^jhc%~m{W?*_fs$Iu!Jjb`Xq>KXQyzafKQ*AHO
z4R{%`RqhH12^S=S)u1_2L{jz(BEk?dH=#<Xj8XCGm@+=97N!cbg%bA<x?*0I=9!@=
zzY8O5cm*iHv{)>oOlL+jqID7VFLJz>a8gzBgQTdLd={fBMn#NKB*NK5TyWrHY0K@j
z0^2J$sIu$s+m()QdzII&w^y+iX}$hTt2MN0d8v9)`gAU~agl@^RO8MG_e3H;svu()
zl{+s9QK?^B5mloOOP`@e9hHQCsgD_`G<eR>$2*9^S^9Z03@G=*Cwe7Hg^^K613=5B
z@6W=YOZa@|3)iB25$i3(NAF1Ri&#&G4+(iF;^}qR2Z{Vk_(}dYe7PT<-#M3mdu~2i
zma*~hdAnA2$+vNUEz72vgZ_Kkblo=Xxh==GNY{6ou4y#&w(Iaw&mhuRt!>uym9_Pa
zx~{`tX*Be;`l`UD@9TbGcmd*PY4(;87^K^+EuymD+YbyAHt-_5D^Xw{1XLE>vbaTM
zBM3al>;$%txNUZJbi*@RJEyMG+IIUX)Aa1F^qNk~mKYC^ki*!ehr0Z$Oo7PPNc7|Q
zY;eHIyPJ&{x)t;It>iO-iauVP?!Qa75#XMojC1c$_6#{Dt}N{R1m^e)@H7Uo$hY+|
zd^v|x2jI=b95ynynZO+X1l|OLSR~JcFEOV+gZC!pu#ve|jPJ&|`7xq9F=oR&)?RES
zuK^x^(WFQo+vE*zgV#pzGUEI-<vL?4l!qp7{&zG>-ytT2*I~i*Gdu&|z7HZ34U+d4
DEjhWo

literal 0
HcmV?d00001

diff --git a/counter.S b/counter.S
index 1dc1e72..12342b5 100644
--- a/counter.S
+++ b/counter.S
@@ -1,41 +1,27 @@
-    .data
-//                0x8000102c
-//                  x7 = PC+(imm <<()
-//                  x7 = 
-
-//                        =
-//                            0x8000 0000 +
-//                            0x8001 0000
-//                        =   0x8001 0000
-
-//                  aupic x7, 1
-
-sentence: .ascii "Become a Prograammermmmmmrr\0"
-//                ^
-//                    ^ 
+    .data 
+sentence: .ascii "My fbbirbst btbry\0" // \0 to bajt zerowy czyli koniec zdania w asm, C =
 
     .text
     .align 2
     .globl _start
 
 _start:
-    
-    la      t2, sentence      # Load the address of sentence into t2
-    li      t0, 0x72    // ascii 'm'
-    
-    li      t1, 0x00    // licznik wystapien 'm'
-    
-print_loop:
-    lbu     t3, 0(t2)         # Load the byte (character) from address in t2
-    beq     t3, zero, done_print  # If character is zero (null terminator), exit loop
+la t2, sentence
+li t0, 0x62  //ascii "b"
 
-    bne t3, t0, 1f
-        addi t1, t1, 1
-    1:
+li t1, 0x00 // licznik b w sentence
 
-    addi    t2, t2, 1         # Increment pointer to the next character
-    j       print_loop        # Repeat the loop
+loop:
+lbu t3, 0(t2) // ladujemy do rejestra t3 adres 1 litery sentece
+beq t3, zero, koniec # jezeli adres w sentence dojdzie do \0 czyli do konca programm sie skonczy
 
-done_print:
-    ebreak                    # End program (or use an exit system call)
+bne t3, t0, 1f // jezeli adres liczby nie jest "b" to prechodzi do 1f pomijanie przyrostu licznika.
+    addi t1, t1, 1 // dodajemy 1 do licznika liter b 
 
+1:
+
+addi  t2, t2, 1 // Tutaj wskaźnik zostanie przesunięty do następnego znaku w linii
+j loop // skok do poczatku petli
+
+koniec:
+    ebreak 
diff --git a/counter.bin b/counter.bin
new file mode 100755
index 0000000000000000000000000000000000000000..e9f20646e7b7501ef276b511b01186433b6c52dd
GIT binary patch
literal 4158
zcmbO(%)l_Y`7qODCIvQOW(Ef4bIc6MTzm}4B5@4D%)&r9VTSw<_x}|$2r!I-(GVC7
zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85p9|FFW3Ta76nMFy(B??I;Nkx?m
E0H3iD0{{R3

literal 0
HcmV?d00001

diff --git a/counter.lst b/counter.lst
new file mode 100644
index 0000000..ec13842
--- /dev/null
+++ b/counter.lst
@@ -0,0 +1,22 @@
+
+counter:     file format elf32-littleriscv
+
+
+Disassembly of section .text:
+
+80000000 <_start>:
+80000000:	00001397          	auipc	x7,0x1
+80000004:	02c38393          	addi	x7,x7,44 # 8000102c <__DATA_BEGIN__>
+80000008:	06200293          	addi	x5,x0,98
+8000000c:	00000313          	addi	x6,x0,0
+
+80000010 <loop>:
+80000010:	0003ce03          	lbu	x28,0(x7)
+80000014:	000e0a63          	beq	x28,x0,80000028 <koniec>
+80000018:	005e1463          	bne	x28,x5,80000020 <loop+0x10>
+8000001c:	00130313          	addi	x6,x6,1
+80000020:	00138393          	addi	x7,x7,1
+80000024:	fedff06f          	jal	x0,80000010 <loop>
+
+80000028 <koniec>:
+80000028:	00100073          	ebreak