blob: 70009c1cc6eac7b32ac6d2c4951335b1a4f72315 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
|