X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=test_src%2Fcircularbytebuffer-asm.S;h=199c86a38327cf38292f840b9d48ac9318b1c738;hb=b97b5aeaa3569443d9b95a77a388c6615b33f9e3;hp=bd0d3109f32d2e6c04bc892ad272d25b6687de7f;hpb=52ec168ece9d61bd9cb652235dfe8faee6232a11;p=avr-crypto-lib.git diff --git a/test_src/circularbytebuffer-asm.S b/test_src/circularbytebuffer-asm.S index bd0d310..199c86a 100644 --- a/test_src/circularbytebuffer-asm.S +++ b/test_src/circularbytebuffer-asm.S @@ -229,6 +229,8 @@ circularbytebuffer_get_lifo: * } * * param cb: r24:r25 + * return: r24 + * modifys: r22-r27,r30,r31 */ .global circularbytebuffer_get_fifo circularbytebuffer_get_fifo: @@ -285,6 +287,7 @@ circularbytebuffer_append: ldd r23, Z+BUFFER_SIZE_OFFSET cp r22, r23 brne 10f +5: ldi r24, 1 ret 10: @@ -341,14 +344,15 @@ circularbytebuffer_push: ldd r22, Z+FILLCOUNT_OFFSET ldd r23, Z+BUFFER_SIZE_OFFSET cp r22, r23 - brne 10f - ldi r24, 1 - ret + brlo 10f + rjmp 5b +; ldi r24, 1 +; ret 10: - clt - tst r22 - brne 11f - set +; clt +; tst r22 +; brne 11f +; set 11: inc r22 std Z+FILLCOUNT_OFFSET, r22 @@ -366,7 +370,7 @@ circularbytebuffer_push: 20: std Z+HEAD_OFFSET, r26 std Z+HEAD_OFFSET+1, r27 - brtc 30b - std Z+TAIL_OFFSET, r26 - std Z+TAIL_OFFSET+1, r27 +; brtc 30b +; std Z+TAIL_OFFSET, r26 +; std Z+TAIL_OFFSET+1, r27 rjmp 30b