Created
May 1, 2014 09:20
-
-
Save brightcloudy/b2203b453bbebb47c9c6 to your computer and use it in GitHub Desktop.
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
.file "paralleldac.c" | |
__SREG__ = 0x3f | |
__SP_H__ = 0x3e | |
__SP_L__ = 0x3d | |
__CCP__ = 0x34 | |
__tmp_reg__ = 0 | |
__zero_reg__ = 1 | |
.section .text.interruptInit,"ax",@progbits | |
.global interruptInit | |
.type interruptInit, @function | |
interruptInit: | |
/* prologue: function */ | |
/* frame size = 0 */ | |
/* stack size = 0 */ | |
.L__stack_usage = 0 | |
/* #APP */ | |
; 20 "init.h" 1 | |
sei | |
; 0 "" 2 | |
/* epilogue start */ | |
/* #NOAPP */ | |
ret | |
.size interruptInit, .-interruptInit | |
.section .text.cpuPrescale,"ax",@progbits | |
.global cpuPrescale | |
.type cpuPrescale, @function | |
cpuPrescale: | |
/* prologue: function */ | |
/* frame size = 0 */ | |
/* stack size = 0 */ | |
.L__stack_usage = 0 | |
/* #APP */ | |
; 24 "init.h" 1 | |
cli | |
; 0 "" 2 | |
/* #NOAPP */ | |
ldi r25,lo8(-128) | |
out 70-32,r25 | |
out 70-32,r24 | |
/* #APP */ | |
; 27 "init.h" 1 | |
sei | |
; 0 "" 2 | |
/* epilogue start */ | |
/* #NOAPP */ | |
ret | |
.size cpuPrescale, .-cpuPrescale | |
.section .text.init,"ax",@progbits | |
.global init | |
.type init, @function | |
init: | |
/* prologue: function */ | |
/* frame size = 0 */ | |
/* stack size = 0 */ | |
.L__stack_usage = 0 | |
out 81-32,r24 | |
mov r24,r22 | |
rcall cpuPrescale | |
in r24,59-32 | |
ori r24,lo8(3) | |
out 59-32,r24 | |
/* epilogue start */ | |
ret | |
.size init, .-init | |
.section .text.timer0_wait,"ax",@progbits | |
.global timer0_wait | |
.type timer0_wait, @function | |
timer0_wait: | |
/* prologue: function */ | |
/* frame size = 0 */ | |
/* stack size = 0 */ | |
.L__stack_usage = 0 | |
ldi r24,lo8(2) | |
out 88-32,r24 | |
.L5: | |
in __tmp_reg__,88-32 | |
sbrs __tmp_reg__,1 | |
rjmp .L5 | |
ldi r24,lo8(2) | |
out 88-32,r24 | |
/* epilogue start */ | |
ret | |
.size timer0_wait, .-timer0_wait | |
.section .text.shiftOut,"ax",@progbits | |
.global shiftOut | |
.type shiftOut, @function | |
shiftOut: | |
push r29 | |
push r28 | |
push __tmp_reg__ | |
in r28,__SP_L__ | |
in r29,__SP_H__ | |
/* prologue: function */ | |
/* frame size = 1 */ | |
/* stack size = 3 */ | |
.L__stack_usage = 3 | |
std Y+1,__zero_reg__ | |
ldi r25,lo8(8) | |
std Y+1,r25 | |
ldi r25,lo8(0) | |
ldi r20,lo8(1) | |
rjmp .L8 | |
.L11: | |
ldd r18,Y+1 | |
ldi r19,lo8(0) | |
subi r18,lo8(-(-1)) | |
sbci r19,hi8(-(-1)) | |
movw r22,r24 | |
rjmp 2f | |
1: asr r23 | |
ror r22 | |
2: dec r18 | |
brpl 1b | |
sbrs r22,0 | |
rjmp .L9 | |
sbi 59-32,1 | |
rjmp .L10 | |
.L9: | |
cbi 59-32,1 | |
.L10: | |
in r18,59-32 | |
eor r18,r20 | |
out 59-32,r18 | |
in r18,59-32 | |
eor r18,r20 | |
out 59-32,r18 | |
ldd r18,Y+1 | |
subi r18,lo8(-(-1)) | |
std Y+1,r18 | |
.L8: | |
ldd r18,Y+1 | |
tst r18 | |
brne .L11 | |
/* epilogue start */ | |
pop __tmp_reg__ | |
pop r28 | |
pop r29 | |
ret | |
.size shiftOut, .-shiftOut | |
.section .text.sendCommand,"ax",@progbits | |
.global sendCommand | |
.type sendCommand, @function | |
sendCommand: | |
push r29 | |
push r28 | |
push __tmp_reg__ | |
in r28,__SP_L__ | |
in r29,__SP_H__ | |
/* prologue: function */ | |
/* frame size = 1 */ | |
/* stack size = 3 */ | |
.L__stack_usage = 3 | |
std Y+1,__zero_reg__ | |
std Y+1,__zero_reg__ | |
ldi r25,lo8(0) | |
ldi r18,lo8(7) | |
ldi r19,hi8(7) | |
ldi r22,lo8(16) | |
rjmp .L13 | |
.L16: | |
ldd r20,Y+1 | |
movw r30,r18 | |
sub r30,r20 | |
sbc r31,__zero_reg__ | |
movw r20,r30 | |
movw r30,r24 | |
rjmp 2f | |
1: asr r31 | |
ror r30 | |
2: dec r20 | |
brpl 1b | |
sbrs r30,0 | |
rjmp .L14 | |
sbi 59-32,6 | |
rjmp .L15 | |
.L14: | |
cbi 59-32,6 | |
.L15: | |
in r20,59-32 | |
eor r20,r22 | |
out 59-32,r20 | |
in r20,59-32 | |
eor r20,r22 | |
out 59-32,r20 | |
ldd r20,Y+1 | |
subi r20,lo8(-(1)) | |
std Y+1,r20 | |
.L13: | |
ldd r20,Y+1 | |
cpi r20,lo8(8) | |
brlo .L16 | |
/* epilogue start */ | |
pop __tmp_reg__ | |
pop r28 | |
pop r29 | |
ret | |
.size sendCommand, .-sendCommand | |
.section .text.readReply,"ax",@progbits | |
.global readReply | |
.type readReply, @function | |
readReply: | |
push r29 | |
push r28 | |
rcall . | |
in r28,__SP_L__ | |
in r29,__SP_H__ | |
/* prologue: function */ | |
/* frame size = 2 */ | |
/* stack size = 4 */ | |
.L__stack_usage = 4 | |
std Y+1,__zero_reg__ | |
std Y+2,__zero_reg__ | |
std Y+1,__zero_reg__ | |
ldi r18,lo8(7) | |
ldi r19,hi8(7) | |
ldi r24,lo8(1) | |
ldi r25,hi8(1) | |
ldi r23,lo8(16) | |
rjmp .L18 | |
.L20: | |
sbis 57-32,5 | |
rjmp .L19 | |
ldd r22,Y+2 | |
ldd r20,Y+1 | |
movw r30,r18 | |
sub r30,r20 | |
sbc r31,__zero_reg__ | |
movw r20,r30 | |
movw r30,r24 | |
rjmp 2f | |
1: lsl r30 | |
rol r31 | |
2: dec r20 | |
brpl 1b | |
or r22,r30 | |
std Y+2,r22 | |
.L19: | |
in r20,59-32 | |
eor r20,r23 | |
out 59-32,r20 | |
in r20,59-32 | |
eor r20,r23 | |
out 59-32,r20 | |
ldd r20,Y+1 | |
subi r20,lo8(-(1)) | |
std Y+1,r20 | |
.L18: | |
ldd r20,Y+1 | |
cpi r20,lo8(8) | |
brlo .L20 | |
ldd r24,Y+2 | |
/* epilogue start */ | |
pop __tmp_reg__ | |
pop __tmp_reg__ | |
pop r28 | |
pop r29 | |
ret | |
.size readReply, .-readReply | |
.section .text.main,"ax",@progbits | |
.global main | |
.type main, @function | |
main: | |
/* prologue: function */ | |
/* frame size = 0 */ | |
/* stack size = 0 */ | |
.L__stack_usage = 0 | |
in r24,80-32 | |
ori r24,lo8(2) | |
out 80-32,r24 | |
ldi r24,lo8(2) | |
out 86-32,r24 | |
in r24,83-32 | |
ori r24,lo8(1) | |
out 83-32,r24 | |
ldi r24,lo8(-42) | |
ldi r22,lo8(0) | |
rcall init | |
ldi r24,lo8(-1) | |
out 58-32,r24 | |
ldi r24,lo8(0) | |
.L22: | |
mov r30,r24 | |
ldi r31,lo8(0) | |
subi r30,lo8(-(sine)) | |
sbci r31,hi8(-(sine)) | |
/* #APP */ | |
; 19 "paralleldac.c" 1 | |
lpm r30, Z | |
; 0 "" 2 | |
/* #NOAPP */ | |
out 59-32,r30 | |
subi r24,lo8(-(1)) | |
rjmp .L22 | |
.size main, .-main | |
.section .progmem.data,"a",@progbits | |
.type sine, @object | |
.size sine, 256 | |
sine: | |
.byte 127 | |
.byte -126 | |
.byte -123 | |
.byte -120 | |
.byte -117 | |
.byte -113 | |
.byte -110 | |
.byte -107 | |
.byte -104 | |
.byte -101 | |
.byte -98 | |
.byte -95 | |
.byte -92 | |
.byte -89 | |
.byte -86 | |
.byte -83 | |
.byte -80 | |
.byte -78 | |
.byte -75 | |
.byte -72 | |
.byte -69 | |
.byte -66 | |
.byte -64 | |
.byte -61 | |
.byte -58 | |
.byte -56 | |
.byte -53 | |
.byte -51 | |
.byte -48 | |
.byte -46 | |
.byte -44 | |
.byte -41 | |
.byte -39 | |
.byte -37 | |
.byte -35 | |
.byte -33 | |
.byte -31 | |
.byte -29 | |
.byte -27 | |
.byte -25 | |
.byte -23 | |
.byte -22 | |
.byte -20 | |
.byte -18 | |
.byte -17 | |
.byte -16 | |
.byte -14 | |
.byte -13 | |
.byte -12 | |
.byte -11 | |
.byte -9 | |
.byte -8 | |
.byte -7 | |
.byte -7 | |
.byte -6 | |
.byte -5 | |
.byte -4 | |
.byte -4 | |
.byte -3 | |
.byte -3 | |
.byte -3 | |
.byte -2 | |
.byte -2 | |
.byte -2 | |
.byte -2 | |
.byte -2 | |
.byte -2 | |
.byte -2 | |
.byte -3 | |
.byte -3 | |
.byte -3 | |
.byte -4 | |
.byte -4 | |
.byte -5 | |
.byte -6 | |
.byte -7 | |
.byte -7 | |
.byte -8 | |
.byte -9 | |
.byte -11 | |
.byte -12 | |
.byte -13 | |
.byte -14 | |
.byte -16 | |
.byte -17 | |
.byte -18 | |
.byte -20 | |
.byte -22 | |
.byte -23 | |
.byte -25 | |
.byte -27 | |
.byte -29 | |
.byte -31 | |
.byte -33 | |
.byte -35 | |
.byte -37 | |
.byte -39 | |
.byte -41 | |
.byte -44 | |
.byte -46 | |
.byte -48 | |
.byte -51 | |
.byte -53 | |
.byte -56 | |
.byte -58 | |
.byte -61 | |
.byte -64 | |
.byte -66 | |
.byte -69 | |
.byte -72 | |
.byte -75 | |
.byte -78 | |
.byte -80 | |
.byte -83 | |
.byte -86 | |
.byte -89 | |
.byte -92 | |
.byte -95 | |
.byte -98 | |
.byte -101 | |
.byte -104 | |
.byte -107 | |
.byte -110 | |
.byte -113 | |
.byte -117 | |
.byte -120 | |
.byte -123 | |
.byte -126 | |
.byte 127 | |
.byte 124 | |
.byte 121 | |
.byte 118 | |
.byte 115 | |
.byte 111 | |
.byte 108 | |
.byte 105 | |
.byte 102 | |
.byte 99 | |
.byte 96 | |
.byte 93 | |
.byte 90 | |
.byte 87 | |
.byte 84 | |
.byte 81 | |
.byte 78 | |
.byte 76 | |
.byte 73 | |
.byte 70 | |
.byte 67 | |
.byte 64 | |
.byte 62 | |
.byte 59 | |
.byte 56 | |
.byte 54 | |
.byte 51 | |
.byte 49 | |
.byte 46 | |
.byte 44 | |
.byte 42 | |
.byte 39 | |
.byte 37 | |
.byte 35 | |
.byte 33 | |
.byte 31 | |
.byte 29 | |
.byte 27 | |
.byte 25 | |
.byte 23 | |
.byte 21 | |
.byte 20 | |
.byte 18 | |
.byte 16 | |
.byte 15 | |
.byte 14 | |
.byte 12 | |
.byte 11 | |
.byte 10 | |
.byte 9 | |
.byte 7 | |
.byte 6 | |
.byte 5 | |
.byte 5 | |
.byte 4 | |
.byte 3 | |
.byte 2 | |
.byte 2 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 2 | |
.byte 2 | |
.byte 3 | |
.byte 4 | |
.byte 5 | |
.byte 5 | |
.byte 6 | |
.byte 7 | |
.byte 9 | |
.byte 10 | |
.byte 11 | |
.byte 12 | |
.byte 14 | |
.byte 15 | |
.byte 16 | |
.byte 18 | |
.byte 20 | |
.byte 21 | |
.byte 23 | |
.byte 25 | |
.byte 27 | |
.byte 29 | |
.byte 31 | |
.byte 33 | |
.byte 35 | |
.byte 37 | |
.byte 39 | |
.byte 42 | |
.byte 44 | |
.byte 46 | |
.byte 49 | |
.byte 51 | |
.byte 54 | |
.byte 56 | |
.byte 59 | |
.byte 62 | |
.byte 64 | |
.byte 67 | |
.byte 70 | |
.byte 73 | |
.byte 76 | |
.byte 78 | |
.byte 81 | |
.byte 84 | |
.byte 87 | |
.byte 90 | |
.byte 93 | |
.byte 96 | |
.byte 99 | |
.byte 102 | |
.byte 105 | |
.byte 108 | |
.byte 111 | |
.byte 115 | |
.byte 118 | |
.byte 121 | |
.byte 127 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment