diff options
Diffstat (limited to 'aarch64/kusswurm_ch11.c')
| -rw-r--r-- | aarch64/kusswurm_ch11.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/aarch64/kusswurm_ch11.c b/aarch64/kusswurm_ch11.c new file mode 100644 index 0000000..4edfba0 --- /dev/null +++ b/aarch64/kusswurm_ch11.c @@ -0,0 +1,26 @@ +#include <stdint.h> +#include <stdio.h> + +// example 1 +int32_t i32_add_sub(int32_t a, int32_t b, int32_t c); +int64_t i64_add_sub(int64_t a, int64_t b, int64_t c); + +// example 2 +int32_t i32_mul(int32_t a, int32_t b); +int64_t i32_mul_safe(int32_t a, int32_t b); + +#define PRINT_LOG(FMT, CODE) printf(#CODE ": " FMT "\n", CODE) + +int main(int argc, const char* argv[]) +{ + // example 1 + PRINT_LOG("%d", i32_add_sub(5, 3, 1)); + PRINT_LOG("%lld", i64_add_sub(5, 3, 1)); + + // example 2 + PRINT_LOG("%d", i32_mul(5, 6)); + PRINT_LOG("%d", i32_mul(2000000000, 4)); + PRINT_LOG("%lld", i32_mul_safe(5, 6)); + PRINT_LOG("%lld", i32_mul_safe(2000000000, 4)); +} + |