Fun LED stuff

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Program3_F20_Leong.s

Committer:
kkleong
Date:
2020-11-16
Revision:
4:69f1e5fa2cb6
Parent:
2:1be4e7457636

File content as of revision 4:69f1e5fa2cb6:

                    AREA Program3, CODE, READONLY
                    GLOBAL getQuad
                    ; uint32_t getQuad ( uint16_t x, uint16_t y)
getQuad             CMP R0, #125
                    MOVLT R0, #1
                    MOVGT R0, #2
                    CMP R1, #160
                    ADDGT R0, R0, #2
                    BX LR
                    
                    GLOBAL swapRedBlue
                    ; uint32_t swapRedBlue ( uint32_t color)
swapRedBlue         AND R1, R0, #0x00FF0000
                    ASR R1, R1, #16
                    
                    LDR R5, =0x000000FF
                    AND R2, R0, R5
                    LSL R2, R2, #16
                    
                    LDR R4, =0xFF00FF00
                    AND R3, R0, R4
                    
                    ORR R0, R1, R2
                    ORR R0, R0, R3
                    
                    GLOBAL toggleAlphaMSB
                    ; uint32_t toggleAlphaMSB ( uint32_t color)
toggleAlphaMSB      MVN R1, R0
                    LSR R1, R1, #24
                    LSL R1, R1, #24 
                    LSL R0, R0, #8
                    LSR R0, R0, #8
                    ORR R0, R0, R1
                           
                    BX LR
                    
                    GLOBAL rotateRGBBytes
                    ; uint32_t rotateRGBBytes ( uint32_t color)
rotateRGBBytes      MOV R1, R0
                    MOV R2, R0
                    MOV R3, R0
                    
                    LSR R1, R1, #24
                    LSL R1, R1, #24
                    
                    LSL R2, #8
                    LSR R2, #16
                    
                    LSL R3, #24
                    LSR R3, #8
                    
                    ORR R0, R1, R2
                    ORR R0, R0, R3       
                    BX LR
                    
                    GLOBAL setRGBBits
                    ;  uint32_t setRGBBits ( uint32_t color, uint8_t n)  
setRGBBits             
                    BX LR
                
        
                    END