Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .equ SCREEN_WIDTH, 640
- .equ SCREEN_HEIGH, 480
- .equ BITS_PER_PIXEL, 32
- .globl main
- main:
- // X0 contiene la direccion base del framebuffer
- mov x20, x0 // Save framebuffer base address to x20
- //---------------- CODE HERE ------------------------------------
- // COLORS
- movz x10, 0x99, lsl 16
- movk x10, 0xFFFF, lsl 00 // Ice
- movz x11, 0x80, lsl 16
- movk x11, 0xFF00, lsl 00 // Snow
- // PINTAR FONDO
- mov x2, SCREEN_HEIGH // Y Size
- loop1:
- mov x1, SCREEN_WIDTH // X Size
- loop0:
- stur w10,[x0] // Set color of pixel N
- add x0,x0,4 // Next pixel
- sub x1,x1,1 // decrement X counter
- cbnz x1,loop0 // If not end row jump
- sub x2,x2,1 // Decrement Y counter
- cbnz x2,loop1 // if not last row, jump
- mov x0, x20 // Save frame
- mov x2, SCREEN_HEIGH
- loop3:
- mov x1, SCREEN_WIDTH
- loop4:
- stur w11, [x0]
- add x0,x0,4 // x0: la direccion base del framebuffer
- sub x1,x1,1 // x1: ancho
- cmp x1,120
- bne loop3 // aca paso al segudno pixel enla misma fila
- sub x2,x2,1 // x2: alto
- cmp x2,120
- bne loop4 // aca paso a la otra fila
- //---------------------------------------------------------------
- // Infinite Loop
- InfLoop:
- b InfLoop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement