📄 avrstudy.s
字号:
ret
.dbsym l vstr 0 A[16:8]i
.dbsym r vstrtemp 20 i
.dbsym r i 22 i
.dbsym r time 10 pc
.dbend
.dbfile E:\AVR学习专区\AVR学习板/delay.h
.dbfunc e delay_us _delay_us fV
; i -> R20,R21
; us -> R22,R23
.even
_delay_us::
rcall push_gset2
movw R22,R16
.dbline -1
.dbline 6
.dbline 8
ldi R16,5
ldi R17,0
movw R18,R22
rcall empy16s
movw R22,R16
lsr R23
ror R22
lsr R23
ror R22
.dbline 9
clr R20
clr R21
rjmp L143
L140:
.dbline 9
L141:
.dbline 9
subi R20,255 ; offset = 1
sbci R21,255
L143:
.dbline 9
cp R20,R22
cpc R21,R23
brlo L140
.dbline -2
L139:
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r us 22 i
.dbend
.dbfunc e delay_ms _delay_ms fV
; i -> R20,R21
; j -> R22,R23
; ms -> R16,R17
.even
_delay_ms::
rcall push_gset2
.dbline -1
.dbline 12
.dbline 14
clr R20
clr R21
rjmp L148
L145:
.dbline 15
clr R22
clr R23
rjmp L152
L149:
.dbline 15
L150:
.dbline 15
subi R22,255 ; offset = 1
sbci R23,255
L152:
.dbline 15
cpi R22,117
ldi R30,4
cpc R23,R30
brlo L149
L146:
.dbline 14
subi R20,255 ; offset = 1
sbci R21,255
L148:
.dbline 14
cp R20,R16
cpc R21,R17
brlo L145
.dbline -2
L144:
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r j 22 i
.dbsym r ms 16 i
.dbend
.dbfile E:\AVR学习专区\AVR学习板/mega8_spi.c
.dbfunc e spi_init _spi_init fV
.even
_spi_init::
.dbline -1
.dbline 18
.dbline 19
in R24,0x17
ori R24,47
out 0x17,R24
.dbline 20
ldi R24,83
out 0xd,R24
.dbline -2
L153:
.dbline 0 ; func end
ret
.dbend
.dbfunc e senddat _senddat fV
; status -> <dead>
; spi_data -> R20
.even
_senddat::
rcall push_gset1
mov R20,R16
.dbline -1
.dbline 27
.dbline 29
clr R2
out 0xe,R2
.dbline 30
cbi 0x18,0
.dbline 31
mov R2,R20
com R2
out 0xf,R2
L155:
.dbline 32
L156:
.dbline 32
in R24,0xe
andi R24,128
out 0xe,R24
tst R24
breq L155
.dbline 33
clr R2
out 0xe,R2
.dbline 34
ldi R16,10
ldi R17,0
rcall _delay
.dbline 35
sbi 0x18,0
.dbline -2
L154:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym l status 1 c
.dbsym r spi_data 20 c
.dbend
.dbfile E:\AVR学习专区\AVR学习板/24cxx12864.c
.dbfunc e Readbyte _Readbyte fc
.even
_Readbyte::
.dbline -1
.dbline 66
.dbline 67
ldi R24,196
out 0x36,R24
L159:
.dbline 68
L160:
.dbline 68
in R2,0x36
sbrs R2,7
rjmp L159
.dbline 69
in R16,0x3
.dbline -2
L158:
.dbline 0 ; func end
ret
.dbend
.dbfunc e twi_init _twi_init fV
.even
_twi_init::
.dbline -1
.dbline 73
.dbline 74
ldi R24,32
out 0x0,R24
.dbline 75
clr R2
out 0x1,R2
.dbline 76
ldi R24,68
out 0x36,R24
.dbline -2
L162:
.dbline 0 ; func end
ret
.dbend
.dbfunc e twi_writeBtye _twi_writeBtye fc
; rdata -> R20
; dataddr -> R22,R23
.even
_twi_writeBtye::
rcall push_gset2
mov R20,R18
movw R22,R16
.dbline -1
.dbline 80
.dbline 81
ldi R24,164
out 0x36,R24
L164:
.dbline 82
L165:
.dbline 82
in R2,0x36
sbrs R2,7
rjmp L164
.dbline 83
in R24,0x1
andi R24,248
cpi R24,8
breq L167
.dbline 83
.dbline 83
clr R16
rjmp L163
L167:
.dbline 84
.dbline 84
ldi R24,160
out 0x3,R24
.dbline 84
ldi R24,132
out 0x36,R24
.dbline 84
.dbline 84
L169:
.dbline 85
L170:
.dbline 85
in R2,0x36
sbrs R2,7
rjmp L169
.dbline 86
in R24,0x1
andi R24,248
cpi R24,24
breq L172
.dbline 86
.dbline 86
clr R16
rjmp L163
L172:
.dbline 87
.dbline 87
movw R24,R22
andi R24,0
mov R24,R25
clr R25
out 0x3,R24
.dbline 87
ldi R24,132
out 0x36,R24
.dbline 87
.dbline 87
L174:
.dbline 88
L175:
.dbline 88
in R2,0x36
sbrs R2,7
rjmp L174
.dbline 89
in R24,0x1
andi R24,248
cpi R24,40
breq L177
.dbline 89
.dbline 89
clr R16
rjmp L163
L177:
.dbline 90
.dbline 90
out 0x3,R22
.dbline 90
ldi R24,132
out 0x36,R24
.dbline 90
.dbline 90
L179:
.dbline 91
L180:
.dbline 91
in R2,0x36
sbrs R2,7
rjmp L179
.dbline 92
in R24,0x1
andi R24,248
cpi R24,40
breq L182
.dbline 92
.dbline 92
clr R16
rjmp L163
L182:
.dbline 93
.dbline 93
out 0x3,R20
.dbline 93
ldi R24,132
out 0x36,R24
.dbline 93
.dbline 93
L184:
.dbline 94
L185:
.dbline 94
in R2,0x36
sbrs R2,7
rjmp L184
.dbline 95
in R24,0x1
andi R24,248
cpi R24,40
breq L187
.dbline 95
.dbline 95
clr R16
rjmp L163
L187:
.dbline 96
ldi R24,148
out 0x36,R24
.dbline 97
ldi R16,10
ldi R17,0
rcall _delay
.dbline 98
ldi R16,1
.dbline -2
L163:
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r rdata 20 c
.dbsym r dataddr 22 i
.dbend
.dbfunc e twi_writeNBtye _twi_writeNBtye fc
; i -> R20
; j -> R14
; n -> R10,R11
; rdata -> R12,R13
; dataddr -> R22,R23
.even
_twi_writeNBtye::
rcall push_gset5
movw R12,R18
movw R22,R16
ldd R10,y+10
ldd R11,y+11
.dbline -1
.dbline 102
.dbline 104
clr R20
rjmp L193
L190:
.dbline 105
.dbline 106
ldi R24,164
out 0x36,R24
L194:
.dbline 107
L195:
.dbline 107
in R2,0x36
sbrs R2,7
rjmp L194
.dbline 108
in R24,0x1
andi R24,248
cpi R24,8
breq L197
.dbline 108
.dbline 108
clr R16
rjmp L189
L197:
.dbline 109
.dbline 109
ldi R24,160
out 0x3,R24
.dbline 109
ldi R24,132
out 0x36,R24
.dbline 109
.dbline 109
L199:
.dbline 110
L200:
.dbline 110
in R2,0x36
sbrs R2,7
rjmp L199
.dbline 111
in R24,0x1
andi R24,248
cpi R24,24
breq L202
.dbline 111
.dbline 111
clr R16
rjmp L189
L202:
.dbline 113
.dbline 113
movw R24,R22
andi R24,0
mov R24,R25
clr R25
out 0x3,R24
.dbline 113
ldi R24,132
out 0x36,R24
.dbline 113
.dbline 113
L204:
.dbline 114
L205:
.dbline 114
in R2,0x36
sbrs R2,7
rjmp L204
.dbline 115
in R24,0x1
andi R24,248
cpi R24,40
breq L207
.dbline 115
.dbline 115
clr R16
rjmp L189
L207:
.dbline 117
.dbline 117
out 0x3,R22
.dbline 117
ldi R24,132
out 0x36,R24
.dbline 117
.dbline 117
L209:
.dbline 118
L210:
.dbline 118
in R2,0x36
sbrs R2,7
rjmp L209
.dbline 119
in R24,0x1
andi R24,248
cpi R24,40
breq L212
.dbline 119
.dbline 119
clr R16
rjmp L189
L212:
.dbline 120
ldi R24,64
mul R24,R20
movw R2,R10
sub R2,R0
sbc R3,R1
clr R25
cp R24,R2
cpc R25,R3
brsh L214
.dbline 121
.dbline 122
clr R14
rjmp L219
L216:
.dbline 123
.dbline 124
.dbline 124
ldi R24,64
mul R24,R20
movw R30,R0
mov R2,R14
clr R3
add R30,R2
adc R31,R3
add R30,R12
adc R31,R13
ldd R2,z+0
out 0x3,R2
.dbline 124
ldi R24,132
out 0x36,R24
.dbline 124
.dbline 124
L220:
.dbline 125
L221:
.dbline 125
in R2,0x36
sbrs R2,7
rjmp L220
.dbline 126
in R24,0x1
andi R24,248
cpi R24,40
breq L223
.dbline 126
.dbline 126
clr R16
rjmp L189
L223:
.dbline 127
L217:
.dbline 122
inc R14
L219:
.dbline 122
mov R24,R14
cpi R24,64
brlo L216
.dbline 128
rjmp L215
L214:
.dbline 130
.dbline 131
clr R14
rjmp L228
L225:
.dbline 132
.dbline 133
.dbline 133
ldi R24,64
mul R24,R20
movw R30,R0
mov R2,R14
clr R3
add R30,R2
adc R31,R3
add R30,R12
adc R31,R13
ldd R2,z+0
out 0x3,R2
.dbline 133
ldi R24,132
out 0x36,R24
.dbline 133
.dbline 133
L229:
.dbline 134
L230:
.dbline 134
in R2,0x36
sbrs R2,7
rjmp L229
.dbline 135
in R24,0x1
andi R24,248
cpi R24,40
breq L232
.dbline 135
.dbline 135
clr R16
rjmp L189
L232:
.dbline 136
L226:
.dbline 131
inc R14
L228:
.dbline 131
movw R24,R10
andi R24,63
andi R25,0
mov R2,R14
clr R3
cp R2,R24
cpc R3,R25
brlo L225
.dbline 137
L215:
.dbline 138
subi R22,192 ; offset = 64
sbci R23,255
.dbline 139
ldi R24,148
out 0x36,R24
.dbline 140
ldi R16,10
ldi R17,0
rcall _delay
.dbline 141
L191:
.dbline 104
inc R20
L193:
.dbline 104
ldi R18,6
ldi R19,0
movw R16,R10
rcall lsr16
movw R24,R16
adiw R24,1
mov R2,R20
clr R3
cp R2,R24
cpc R3,R25
brsh X1
rjmp L190
X1:
.dbline 142
ldi R16,1
.dbline -2
L189:
rcall pop_gset5
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r j 14 c
.dbsym r n 10 i
.dbsym r rdata 12 pc
.dbsym r dataddr 22 i
.dbend
.dbfunc e twi_readBtye _twi_readBtye fc
; temp -> R20,R21
; dataddr -> R20,R21
.even
_twi_readBtye::
rcall push_gset1
movw R20,R16
.dbline -1
.dbline 146
.dbline 148
ldi R24,164
out 0x36,R24
L235:
.dbline 149
L236:
.dbline 149
in R2,0x36
sbrs R2,7
rjmp L235
.dbline 150
in R24,0x1
andi R24,248
cpi R24,8
breq L238
.dbline 150
.dbline 150
clr R16
rjmp L234
L238:
.dbline 151
.dbline 151
ldi R24,160
out 0x3,R24
.dbline 151
ldi R24,132
out 0x36,R24
.dbline 151
.dbline 151
L240:
.dbline 152
L241:
.dbline 152
in R2,0x36
sbrs R2,7
rjmp L240
.dbline 153
in R24,0x1
andi R24,248
cpi R24,24
breq L243
.dbline 153
.dbline 153
clr R16
rjmp L234
L243:
.dbline 155
.dbline 155
movw R24,R20
andi R24,0
mov R24,R25
clr R25
out 0x3,R24
.dbline 155
ldi R24,132
out 0x36,R24
.dbline 155
.dbline 155
L245:
.dbline 156
L246:
.dbline 156
in R2,0x36
sbrs R2,7
rjmp L245
.dbline 157
in R24,0x1
andi R24,248
cpi R24,40
breq L248
.dbline 157
.dbline 157
clr R16
rjmp L234
L248:
.dbline 159
.dbline 159
out 0x3,R20
.dbline 159
ldi R24,132
out 0x36,R24
.dbline 159
.dbline 159
L250:
.dbline 160
L251:
.dbline 160
in R2,0x36
sbrs R2,7
rjmp L250
.dbline 161
in R24,0x1
andi R24,248
cpi R24,40
breq L253
.dbline 161
.dbline 161
clr R16
rjmp L234
L253:
.dbline 162
ldi R24,164
out 0x36,R24
L255:
.dbline 163
L256:
.dbline 163
in R2,0x36
sbrs R2,7
rjmp L255
.dbline 164
in R24,0x1
andi R24,248
cpi R24,16
breq L258
.dbline 164
.dbline 164
clr R16
rjmp L234
L258:
.dbline 165
.dbline 165
ldi R24,161
out 0x3,R24
.dbline 165
ldi R24,132
out 0x36,R24
.dbline 165
.dbline 165
L260:
.dbline 166
L261:
.dbline 166
in R2,0x36
sbrs R2,7
rjmp L260
.dbline 167
in R24,0x1
andi R24,248
cpi R24,64
breq L263
.dbline 167
.dbline 167
clr R16
rjmp L234
L263:
.dbline 168
rcall _Readbyte
mov R20,R16
clr R21
.dbline 169
.dbline 169
ldi R24,132
out 0x36,R24
.dbline 169
.dbline 169
L265:
.dbline 170
L266:
.dbline 170
in R2,0x36
sbrs R2,7
rjmp L265
.dbline 171
in R24,0x1
andi R24,248
cpi R24,88
breq L268
.dbline 171
.dbline 171
clr R16
rjmp L234
L268:
.dbline 172
ldi R24,148
out 0x36,R24
.dbline 173
ldi R16,10
ldi R17,0
rcall _delay
.dbline 174
mov R16,R20
rjmp L234
X2:
.dbline 175
ldi R16,1
.dbline -2
L234:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r temp 20 i
.dbsym r dataddr 20 i
.dbend
.dbfunc e twi_readNBtye _twi_readNBtye fc
; temp -> <dead>
; i -> R20,R21
; n -> R22,R23
; rdata -> R10,R11
; dataddr -> R20,R21
.even
_twi_readNBtye::
rcall push_gset3
movw R10,R18
movw R20,R16
ldd R22,y+6
ldd R23,y+7
.dbline -1
.dbline 179
.dbline 181
ldi R24,164
out 0x36,R24
L271:
.dbline 182
L272:
.dbline 182
in R2,0x36
sbrs R2,7
rjmp L271
.dbline 183
in R24,0x1
andi R24,248
cpi R24,8
breq L274
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -