init
This commit is contained in:
commit
cfe877a4ec
14
Makefile
Normal file
14
Makefile
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
PROG=counter
|
||||||
|
|
||||||
|
all:: $(PROG).bin $(PROG).lst
|
||||||
|
|
||||||
|
$(PROG).bin:: $(PROG)
|
||||||
|
|
||||||
|
clean::
|
||||||
|
rm -f $(PROG) *.o *.lst *.bin *.srec
|
||||||
|
|
||||||
|
TOP=..
|
||||||
|
include $(TOP)/Make.rules
|
||||||
|
|
||||||
|
LDFLAGS+=-Wl,--no-relax
|
27
counter.S
Normal file
27
counter.S
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
.data
|
||||||
|
sentence: .ascii "Become a Prograammer"
|
||||||
|
|
||||||
|
.text
|
||||||
|
.align 2
|
||||||
|
.globl _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
la t2, sentence # Load the address of sentence into t2
|
||||||
|
|
||||||
|
li t0, 0x6d // ascii 'm'
|
||||||
|
li t1, 0 // 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
|
||||||
|
|
||||||
|
bne t3, t0, 1f
|
||||||
|
addi t1, t1, 1
|
||||||
|
1:
|
||||||
|
|
||||||
|
addi t2, t2, 1 # Increment pointer to the next character
|
||||||
|
j print_loop # Repeat the loop
|
||||||
|
|
||||||
|
done_print:
|
||||||
|
ebreak # End program (or use an exit system call)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user