projects
/
calu.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
progs/sum: reducing code size
[calu.git]
/
3_test
/
strncmp.s
1
.data
2
.org 0x40
3
calu:
4
.fill 0x43414c55
5
.fill 0x00000000
6
test:
7
.fill 0x54455354
8
.fill 0x00000000
9
10
.text
11
main:
12
ldil r1, calu@lo
13
ldih r1, calu@hi
14
ldil r2, test@lo
15
ldih r2, test@hi
16
ldis r3, 5
17
call strncmp
18
br dummynop
19
20
strncmp:
21
22
ldis r5, 0 ;
23
24
strfor:
25
ldis r0, 0 ;
26
ldb r0, 0(r1)
27
ldb r5, 0(r2) ; r5 = (*b2)
28
cmpi r3, 0 ; len == 0
29
cmpinq r0, 0 ; (*b1) == 0
30
cmpinq r5, 0 ; (*b2) == 0
31
32
ldiseq r0,0 ;
33
reteq ;
34
35
sub r0, r0, r5 ; diff = (*b1)-(*b2)
36
cmpi r0, 0 ; diff!=0
37
retnq ;
38
addi r1, r1 ,1 ; ++b1
39
addi r2, r2, 1 ; ++b2
40
subi r3, r3, 1 ; --len
41
br strfor ;
42
43
44
dummynop:
45
addi r0,r0,0