projects
/
calu.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
sim: added uart extension
[calu.git]
/
2_isa
/
src
/
palindrom.s
1
; palindrom checker
2
.text
3
; r1 = str addr
4
; r2 = str len (u8)
5
6
ldis r0, 0
7
cmpi r2, 0
8
ldiszs r0, 1
9
retzs ; return 1 if strlen = 0
10
11
add r4, r1, r2 ; set r4 to end address
12
subi r4, r4, 1
13
14
cmp r1, r4 ; if strlen = 1 return 1
15
breq- end
16
17
schleife:
18
19
ldb r5, 0(r1)
20
ldb r6, 0(r4)
21
22
cmp r5, r6
23
retnq ; return 0 when palindrom not satisfied
24
25
addi r1, r1, 1
26
subi r4, r4, 1
27
28
cmp r1, r4
29
30
brlt+ schleife
31
32
end:
33
34
ldi r0, 1
35
ret