Created
April 23, 2014 03:48
-
-
Save iamgreaser/11202184 to your computer and use it in GitHub Desktop.
ARM is pretty
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* uint32_t crc_asm01(void *, uint32_t); */ | |
.global crc_asm01 | |
crc_asm01: | |
push {r4} | |
mvn r2, #0 | |
ldr r3, =0xEDB88320 | |
.L1: | |
ldrb r4, [r0] | |
add r0, #1 | |
eor r2, r4 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
lsrs r2, #1 | |
eorcs r2, r3 | |
subs r1, #1 | |
bne .L1 | |
mvn r0, r2 | |
pop {r4} | |
bx lr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment