# Compiled by Clang | |
-- c | |
#include <stdint.h> | |
#include <stdbool.h> | |
uint64_t entry(uint64_t arg) | |
{ | |
int i = 0; | |
for (i = 2; i < arg; i++) { | |
if (arg % i == 0) { | |
return false; | |
} | |
} | |
return true; | |
} | |
-- asm | |
mov r1, 67 | |
mov r0, 0x1 | |
mov r2, 0x2 | |
jgt r1, 0x2, +4 | |
ja +10 | |
add r2, 0x1 | |
mov r0, 0x1 | |
jge r2, r1, +7 | |
mov r3, r1 | |
div r3, r2 | |
mul r3, r2 | |
mov r4, r1 | |
sub r4, r3 | |
mov r0, 0x0 | |
jne r4, 0x0, -10 | |
exit | |
-- result | |
0x1 |