Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // compile with
- // $ zig build-obj --release-small -mcpu atmega32u2 -target avr-freestanding-eabi test.zig
- // inspect ASM output with
- // $ avr-objdump -d -j .progmem.data test.o
- const std = @import("std");
- pub fn send(data: []const u8) void {
- for (data) |byte| {
- _ = asm volatile (
- \\hello:
- \\ rjmp .+20
- \\goodbye:
- :
- : [byte] "r" (byte)
- );
- }
- }
- export fn main() void {
- var leds = [_]u16{0} ** 32;
- send(std.mem.sliceAsBytes(leds[0..]));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement