From 40575cafe477df2ed3779789174a13eae5da187e Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Wed, 18 Dec 2024 00:30:51 -0700 Subject: Initial commit for programming an arduino in Zig. This is a simple collatz blinker program. --- init.zig | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 init.zig (limited to 'init.zig') diff --git a/init.zig b/init.zig new file mode 100644 index 0000000..be0bd10 --- /dev/null +++ b/init.zig @@ -0,0 +1,27 @@ +pub export fn _start() linksection(".vectors") callconv(.Naked) void { + asm volatile ( + \\ rjmp reset ; jump to reset + \\ rjmp ext_int0 + ); +} + +pub export const end_of_ram: u16 = 0x8FF; +pub export fn reset() linksection(".vectors") callconv(.Naked) void { + asm volatile ( + \\ sei + \\ rjmp main + ); + // asm volatile ( + // \\ ldi r16, hi8(%[ramend]) + // \\ sts 0x3E, r16 + // \\ ldi r16, lo8(%[ramend]) + // \\ sts 0X3D, r16 + // \\ sei + // \\ jmp main + // : + // : [ramend] "i" (end_of_ram) + // : "r16" + // ); +} + +pub export fn ext_int0() void {} -- cgit