aboutsummaryrefslogtreecommitdiff
path: root/drivers/gfx-as.S
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-08 12:15:06 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-08 12:15:06 -0500
commit0d7cde7c4d735ebebd39b988440f50f5889bd29f (patch)
tree7ddc66bfc3c64becdb55af3bb6e33a536421b1a6 /drivers/gfx-as.S
parentea15c8963fa17deaba4356219e481128db66f5bc (diff)
downloadkappa-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.S27
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