📄 avrstudy.s
字号:
.dbline 183
.dbline 183
clr R16
rjmp L270
L274:
.dbline 184
.dbline 184
ldi R24,160
out 0x3,R24
.dbline 184
ldi R24,132
out 0x36,R24
.dbline 184
.dbline 184
L276:
.dbline 185
L277:
.dbline 185
in R2,0x36
sbrs R2,7
rjmp L276
.dbline 186
in R24,0x1
andi R24,248
cpi R24,24
breq L279
.dbline 186
.dbline 186
clr R16
rjmp L270
L279:
.dbline 188
.dbline 188
movw R24,R20
andi R24,0
mov R24,R25
clr R25
out 0x3,R24
.dbline 188
ldi R24,132
out 0x36,R24
.dbline 188
.dbline 188
L281:
.dbline 189
L282:
.dbline 189
in R2,0x36
sbrs R2,7
rjmp L281
.dbline 190
in R24,0x1
andi R24,248
cpi R24,40
breq L284
.dbline 190
.dbline 190
clr R16
rjmp L270
L284:
.dbline 192
.dbline 192
out 0x3,R20
.dbline 192
ldi R24,132
out 0x36,R24
.dbline 192
.dbline 192
L286:
.dbline 193
L287:
.dbline 193
in R2,0x36
sbrs R2,7
rjmp L286
.dbline 194
in R24,0x1
andi R24,248
cpi R24,40
breq L289
.dbline 194
.dbline 194
clr R16
rjmp L270
L289:
.dbline 195
ldi R24,164
out 0x36,R24
L291:
.dbline 196
L292:
.dbline 196
in R2,0x36
sbrs R2,7
rjmp L291
.dbline 197
in R24,0x1
andi R24,248
cpi R24,16
breq L294
.dbline 197
.dbline 197
clr R16
rjmp L270
L294:
.dbline 198
.dbline 198
ldi R24,161
out 0x3,R24
.dbline 198
ldi R24,132
out 0x36,R24
.dbline 198
.dbline 198
L296:
.dbline 199
L297:
.dbline 199
in R2,0x36
sbrs R2,7
rjmp L296
.dbline 200
in R24,0x1
andi R24,248
cpi R24,64
breq L299
.dbline 200
.dbline 200
clr R16
rjmp L270
L299:
.dbline 202
clr R20
clr R21
rjmp L304
L301:
.dbline 203
.dbline 204
rcall _Readbyte
movw R30,R20
add R30,R10
adc R31,R11
std z+0,R16
.dbline 205
L302:
.dbline 202
subi R20,255 ; offset = 1
sbci R21,255
L304:
.dbline 202
cp R20,R22
cpc R21,R23
brlo L301
.dbline 206
.dbline 206
ldi R24,132
out 0x36,R24
.dbline 206
.dbline 206
L305:
.dbline 207
L306:
.dbline 207
in R2,0x36
sbrs R2,7
rjmp L305
.dbline 208
in R24,0x1
andi R24,248
cpi R24,88
breq L308
.dbline 208
.dbline 208
clr R16
rjmp L270
L308:
.dbline 209
ldi R24,148
out 0x36,R24
.dbline 210
ldi R16,10
ldi R17,0
rcall _delay
.dbline 211
ldi R16,1
.dbline -2
L270:
rcall pop_gset3
.dbline 0 ; func end
ret
.dbsym l temp 1 i
.dbsym r i 20 i
.dbsym r n 22 i
.dbsym r rdata 10 pc
.dbsym r dataddr 20 i
.dbend
.dbfunc e Put24c256BMP _Put24c256BMP fc
; tempp -> <dead>
; k -> R20
; x -> R22
; j -> R10
; y -> R12
; i -> R14
; dataddr -> R20,R21
.even
_Put24c256BMP::
rcall push_gset5
movw R20,R16
.dbline -1
.dbline 219
.dbline 221
ldi R22,128
.dbline 222
ldi R24,164
out 0x36,R24
L311:
.dbline 223
L312:
.dbline 223
in R2,0x36
sbrs R2,7
rjmp L311
.dbline 224
in R24,0x1
andi R24,248
cpi R24,8
breq L314
.dbline 224
.dbline 224
clr R16
rjmp L310
L314:
.dbline 225
.dbline 225
ldi R24,160
out 0x3,R24
.dbline 225
ldi R24,132
out 0x36,R24
.dbline 225
.dbline 225
L316:
.dbline 226
L317:
.dbline 226
in R2,0x36
sbrs R2,7
rjmp L316
.dbline 227
in R24,0x1
andi R24,248
cpi R24,24
breq L319
.dbline 227
.dbline 227
clr R16
rjmp L310
L319:
.dbline 229
.dbline 229
movw R24,R20
andi R24,0
mov R24,R25
clr R25
out 0x3,R24
.dbline 229
ldi R24,132
out 0x36,R24
.dbline 229
.dbline 229
L321:
.dbline 230
L322:
.dbline 230
in R2,0x36
sbrs R2,7
rjmp L321
.dbline 231
in R24,0x1
andi R24,248
cpi R24,40
breq L324
.dbline 231
.dbline 231
clr R16
rjmp L310
L324:
.dbline 233
.dbline 233
out 0x3,R20
.dbline 233
ldi R24,132
out 0x36,R24
.dbline 233
.dbline 233
L326:
.dbline 234
L327:
.dbline 234
in R2,0x36
sbrs R2,7
rjmp L326
.dbline 235
in R24,0x1
andi R24,248
cpi R24,40
breq L329
.dbline 235
.dbline 235
clr R16
rjmp L310
L329:
.dbline 236
ldi R24,164
out 0x36,R24
L331:
.dbline 237
L332:
.dbline 237
in R2,0x36
sbrs R2,7
rjmp L331
.dbline 238
in R24,0x1
andi R24,248
cpi R24,16
breq L334
.dbline 238
.dbline 238
clr R16
rjmp L310
L334:
.dbline 239
.dbline 239
ldi R24,161
out 0x3,R24
.dbline 239
ldi R24,132
out 0x36,R24
.dbline 239
.dbline 239
L336:
.dbline 240
L337:
.dbline 240
in R2,0x36
sbrs R2,7
rjmp L336
.dbline 241
in R24,0x1
andi R24,248
cpi R24,64
breq L339
.dbline 241
.dbline 241
clr R16
rjmp L310
L339:
.dbline 242
ldi R16,52
rcall _WriteCommand
.dbline 243
clr R20
rjmp L344
L341:
.dbline 244
.dbline 245
ldi R24,128
mov R12,R24
.dbline 246
clr R10
rjmp L348
L345:
.dbline 247
.dbline 248
mov R16,R12
rcall _WriteCommand
.dbline 249
mov R16,R22
rcall _WriteCommand
.dbline 250
clr R14
rjmp L352
L349:
.dbline 251
.dbline 252
rcall _Readbyte
rcall _WriteData
.dbline 253
L350:
.dbline 250
inc R14
L352:
.dbline 250
mov R24,R14
cpi R24,16
brlo L349
.dbline 254
inc R12
.dbline 256
L346:
.dbline 246
inc R10
L348:
.dbline 246
mov R24,R10
cpi R24,32
brlo L345
.dbline 257
ldi R22,136
.dbline 258
L342:
.dbline 243
inc R20
L344:
.dbline 243
cpi R20,2
brlo L341
.dbline 259
.dbline 259
ldi R24,132
out 0x36,R24
.dbline 259
.dbline 259
L353:
.dbline 260
L354:
.dbline 260
in R2,0x36
sbrs R2,7
rjmp L353
.dbline 261
in R24,0x1
andi R24,248
cpi R24,88
breq L356
.dbline 261
.dbline 261
clr R16
rjmp L310
L356:
.dbline 262
ldi R24,148
out 0x36,R24
.dbline 263
ldi R16,54
rcall _WriteCommand
.dbline -2
L310:
rcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l tempp 1 c
.dbsym r k 20 c
.dbsym r x 22 c
.dbsym r j 10 c
.dbsym r y 12 c
.dbsym r i 14 c
.dbsym r dataddr 20 i
.dbend
.dbfile E:\AVR学习专区\AVR学习板/ad.c
.dbfunc e mega8_ad _mega8_ad fi
; addata -> R20,R21
.even
_mega8_ad::
rcall push_gset1
.dbline -1
.dbline 13
.dbline 15
ldi R24,192
out 0x7,R24
.dbline 16
ldi R24,128
out 0x6,R24
.dbline 17
sbi 0x6,6
L359:
.dbline 18
L360:
.dbline 18
sbis 0x6,4
rjmp L359
.dbline 19
in R20,0x4
clr R21
.dbline 20
in R18,0x5
clr R19
ldi R16,256
ldi R17,1
rcall empy16s
add R20,R16
adc R21,R17
.dbline 21
movw R16,R20
.dbline -2
L358:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r addata 20 i
.dbend
.area lit(rom, con, rel)
L364:
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0
.area text(rom, con, rel)
.dbfile E:\AVR学习专区\AVR学习板/ad.c
.dbfunc e adchange _adchange fV
; xdata -> <dead>
; ad -> y+21
; ada -> y+17
; vstrtemp -> R10,R11
; lcddata -> y+6
; data -> y+2
; i -> R12,R13
.even
_adchange::
rcall push_gset4
sbiw R28,37
.dbline -1
.dbline 25
.dbline 27
ldi R16,<L363
ldi R17,>L363
rcall lpm32
movw R30,R28
std z+17,R16
std z+18,R17
std z+19,R18
std z+20,R19
.dbline 29
ldi R24,<L364
ldi R25,>L364
movw R30,R28
adiw R30,6
ldi R16,11
ldi R17,0
st -y,R31
st -y,R30
st -y,R25
st -y,R24
rcall asgncblk
.dbline 34
ldi R24,<L365
ldi R25,>L365
std y+1,R25
std y+0,R24
clr R18
ldi R16,1
rcall _PutStr
.dbline 36
rcall _mega8_ad
movw R2,R16
ldi R16,<L366
ldi R17,>L366
rcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R16,R2
lsr R17
ror R16
rcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
rcall empy32fs
movw R16,R2
andi R16,1
andi R17,0
rcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
rcall add32f
movw R30,R28
std z+17,R16
std z+18,R17
std z+19,R18
std z+20,R19
.dbline 37
ldi R16,<L369
ldi R17,>L369
rcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 4
ldd R2,z+21
ldd R3,z+22
ldd R4,z+23
ldd R5,z+24
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L370
ldi R17,>L370
rcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
rcall div32fs
rcall empy32f
movw R30,R28
std z+33,R16
std z+34,R17
std z+35,R18
std z+36,R19
movw R30,R28
ldd R2,z+33
ldd R3,z+34
ldd R4,z+35
ldd R5,z+36
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L371
ldi R17,>L371
rcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
rcall cmp32f
brlt L367
movw R30,R28
ldd R2,z+33
ldd R3,z+34
ldd R4,z+35
ldd R5,z+36
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L371
ldi R17,>L371
rcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
rcall sub32f
rcall fp2long
movw R2,R16
movw R4,R18
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,128
add R2,R20
adc R3,R21
adc R4,R22
adc R5,R23
movw R30,R28
std z+29,R2
std z+30,R3
std z+31,R4
std z+32,R5
rjmp L368
L367:
movw R30,R28
ldd R16,z+33
ldd R17,z+34
ldd R18,z+35
ldd R19,z+36
rcall fp2long
movw R30,R28
std z+29,R16
std z+30,R17
std z+31,R18
std z+32,R19
L368:
movw R30,R28
ldd R2,z+29
ldd R3,z+30
ldd R4,z+31
ldd R5,z+32
movw R30,R28
std z+2,R2
std z+3,R3
std z+4,R4
std z+5,R5
.dbline 38
clr R12
clr R13
rjmp L375
L372:
.dbline 39
.dbline 40
ldi R30,10
ldi R31,0
sub R30,R12
sbc R31,R13
movw R24,R28
adiw R24,6
add R30,R24
adc R31,R25
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
movw R26,R28
adiw R26,2
ld R2,x+
ld R3,x+
ld R4,x+
ld R5,x
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
rcall mod32u
std z+0,R16
.dbline 41
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+2
ldd R3,z+3
ldd R4,z+4
ldd R5,z+5
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
rcall div32u
movw R30,R28
std z+2,R16
std z+3,R17
std z+4,R18
std z+5,R19
.dbline 42
L373:
.dbline 38
movw R24,R12
adiw R24,1
movw R12,R24
L375:
.dbline 38
movw R24,R12
cpi R24,10
ldi R30,0
cpc R25,R30
brsh X3
rjmp L372
X3:
.dbline 43
ldd R2,y+7
std y+6,R2
.dbline 44
ldi R24,254
std y+7,R24
.dbline 45
ldi R16,48
rcall _WriteCommand
.dbline 46
ldi R16,136
rcall _WriteCommand
.dbline 47
clr R12
clr R13
rjmp L381
L378:
.dbline 48
.dbline 49
movw R24,R28
adiw R24,6
movw R30,R12
add R30,R24
adc R31,R25
ldd R24,z+0
clr R25
adiw R24,48
movw R10,R24
.dbline 50
mov R16,R24
rcall _WriteData
.dbline 51
L379:
.dbline 47
movw R24,R12
adiw R24,1
movw R12,R24
L381:
.dbline 47
movw R24,R12
cpi R24,11
ldi R30,0
cpc R25,R30
brlo L378
.dbline 52
ldi R16,118
rcall _WriteData
.dbline -2
L362:
adiw R28,37
rcall pop_gset4
.dbline 0 ; func end
ret
.dbsym l xdata 3 i
.dbsym l ad 21 A[8:4]i
.dbsym l ada 17 D
.dbsym r vstrtemp 10 i
.dbsym l lcddata 6 A[11:11]c
.dbsym l data 2 l
.dbsym r i 12 i
.dbend
.area lit(rom, con, rel)
_time_sequence1::
.byte 16,48
.byte 32,160
.byte 128,192
.byte 64,'P
.dbfile E:\AVR学习专区\AVR学习板/stepmotor.c
.dbsym e time_sequence1 _time_sequence1 A[8:8]kc
_time_sequence2::
.byte 16,'P
.byte 64,192
.byte 128,160
.byte 32,48
.dbsym e time_sequence2 _time_sequence2 A[8:8]kc
_time_sequence3::
.byte 16,32
.byte 128,64
.dbsym e time_sequence3 _time_sequence3 A[4:4]kc
_time_sequence4::
.byte 16,64
.byte 128,32
.dbsym e time_sequence4 _time_sequence4 A[4:4]kc
.area text(rom, con, rel)
.dbfile E:\AVR学习专区\AVR学习板/stepmotor.c
.dbfunc e corotation375 _corotation375 fV
; i -> R20
; speed -> R22,R23
.even
_corotation375::
rcall push_gset2
movw R22,R16
.dbline -1
.dbline 26
.dbline 28
clr R20
rjmp L386
L383:
.dbline 29
.dbline 30
ldi R24,<_time_sequence1
ldi R25,>_time_sequence1
mov R30,R20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -