s3e: fix build break
[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