.data .org 0x40 calu: .fill 0x43414c55 .fill 0x00000000 test: .fill 0x54455354 .fill 0x00000000 .text main: ldil r1, calu@lo ldih r1, calu@hi ldil r2, test@lo ldih r2, test@hi ldis r3, 5 call strncmp br dummynop strncmp: ldis r5, 0 ; strfor: ldis r0, 0 ; ldb r0, 0(r1) ldb r5, 0(r2) ; r5 = (*b2) cmpi r3, 0 ; len == 0 cmpinq r0, 0 ; (*b1) == 0 cmpinq r5, 0 ; (*b2) == 0 ldiseq r0,0 ; reteq ; sub r0, r0, r5 ; diff = (*b1)-(*b2) cmpi r0, 0 ; diff!=0 retnq ; addi r1, r1 ,1 ; ++b1 addi r2, r2, 1 ; ++b2 subi r3, r3, 1 ; --len br strfor ; dummynop: addi r0,r0,0