fixing two bugs in twister (asm)

This commit is contained in:
bg 2009-05-14 13:54:17 +00:00
parent ed07adb6f2
commit bfbf5262c7
2 changed files with 13 additions and 7 deletions

View File

@ -405,10 +405,11 @@ twister_big_lastBlock:
3:
tst r18
breq 4f
31:
st Z+, r0
ld r0, X+
dec r18
brne 31b
4:
mov r18, LEN_SAVE0
andi r18, 0x07
@ -423,11 +424,13 @@ twister_big_lastBlock:
5:
st Z+, r20
tst r19
breq 7f
6:
st Z+, r1
dec r19
brne 6b
7:
movw r24, CTX_SAVE0
movw r22, TMP_SAVE0
rcall twister_big_nextBlock

View File

@ -123,15 +123,15 @@ twister_small_lastBlock:
movw r30, TMP_SAVE0
ldi r20, 0x80
sub r19, r18 /* r18: bytes to copy, r19: bytes to clear */
ld r0, X+
3:
tst r18
3: tst r18
breq 4f
31:
st Z+, r0
ld r0, X+
dec r18
brne 31b
4:
mov r18, LEN_SAVE0
andi r18, 0x07
@ -146,11 +146,14 @@ twister_small_lastBlock:
5:
st Z+, r20
tst r19
breq 7f
6:
st Z+, r1
dec r19
brne 6b
7:
movw r24, CTX_SAVE0
movw r22, TMP_SAVE0
rcall twister_small_nextBlock