diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-08 12:15:06 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-08 12:15:06 -0500 |
| commit | 0d7cde7c4d735ebebd39b988440f50f5889bd29f (patch) | |
| tree | 7ddc66bfc3c64becdb55af3bb6e33a536421b1a6 /drivers/gfx-as.S | |
| parent | ea15c8963fa17deaba4356219e481128db66f5bc (diff) | |
| download | kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.zip kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.gz kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.bz2 kappa-0d7cde7c4d735ebebd39b988440f50f5889bd29f.tar.xz | |
lots of stuff
Diffstat (limited to 'drivers/gfx-as.S')
| -rw-r--r-- | drivers/gfx-as.S | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/gfx-as.S b/drivers/gfx-as.S new file mode 100644 index 0000000..70009c1 --- /dev/null +++ b/drivers/gfx-as.S @@ -0,0 +1,27 @@ + .global gfx_clear + .extern fb_width + .extern fb_height + .extern fb_bpp + .extern _gfx_bgcol + .extern framebuffer + # void gfx_clear(uint32_t color) +gfx_clear: + movzwl fb_width, %ecx + movzwl fb_height, %edx + movl framebuffer, %eax + pushl %ebx + movl _gfx_bgcol, %ebx + imull %ecx, %edx + movzbl fb_bpp, %ecx + imull %ecx, %edx + addl %eax, %edx + cmpl %edx, %eax + jnb .L2 +.L6: + movl %ebx, (%eax) + addl %ecx, %eax + cmpl %eax, %edx + ja .L6 +.L2: + popl %ebx + ret |