summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/gray_drawgraymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lib/gray_drawgraymap.c')
-rw-r--r--apps/plugins/lib/gray_drawgraymap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/plugins/lib/gray_drawgraymap.c b/apps/plugins/lib/gray_drawgraymap.c
index 5febeb27ad..dc33446527 100644
--- a/apps/plugins/lib/gray_drawgraymap.c
+++ b/apps/plugins/lib/gray_drawgraymap.c
@@ -49,6 +49,7 @@ static void _writearray(unsigned char *address, unsigned char *src, int stride,
49 * _writepixel, see there for an explanation) for all 8 pixels and put them 49 * _writepixel, see there for an explanation) for all 8 pixels and put them
50 * on an extra "stack" */ 50 * on an extra "stack" */
51 asm ( 51 asm (
52 "sts.l pr,@-r15 \n" /* save pr (fix GCC331 build, cleaner) */
52 "mov #8,r3 \n" /* loop count in r3: 8 pixels */ 53 "mov #8,r3 \n" /* loop count in r3: 8 pixels */
53 "mov %7,r2 \n" /* copy mask */ 54 "mov %7,r2 \n" /* copy mask */
54 55
@@ -98,6 +99,7 @@ static void _writearray(unsigned char *address, unsigned char *src, int stride,
98 "add #-1,r3 \n" /* decrease loop count */ 99 "add #-1,r3 \n" /* decrease loop count */
99 "cmp/pl r3 \n" /* loop count > 0? */ 100 "cmp/pl r3 \n" /* loop count > 0? */
100 "bt .wa_loop \n" /* yes: loop */ 101 "bt .wa_loop \n" /* yes: loop */
102 "lds.l @r15+,pr \n" /* restore pr */
101 : /* outputs */ 103 : /* outputs */
102 /* %0, in & out */ "+r"(_gray_random_buffer), 104 /* %0, in & out */ "+r"(_gray_random_buffer),
103 /* %1, in & out */ "+r"(pat_ptr) 105 /* %1, in & out */ "+r"(pat_ptr)