📄 m16.s
字号:
.dbline 362
sbi 0x18,3
.dbline 362
sbi 0x18,0
.dbline 362
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 362
.dbline 362
cbi 0x18,1
.dbline 362
cbi 0x18,2
.dbline 362
sbi 0x18,3
.dbline 362
sbi 0x18,0
.dbline 362
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 362
.dbline 362
L58:
.dbline 362
subi R20,1
sbci R21,0
L60:
.dbline 362
;
cpi R20,0
cpc R20,R21
breq X7
xjmp L57
X7:
X3:
.dbline 363
ldi R20,3
ldi R21,0
xjmp L64
L61:
.dbline 363
.dbline 363
cbi 0x18,3
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,3
.dbline 363
cbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,2
.dbline 363
cbi 0x18,3
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
sbi 0x18,1
.dbline 363
cbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,0
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,3
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,0
.dbline 363
cbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,3
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,0
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,3
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,0
.dbline 363
sbi 0x18,2
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,3
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
cbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,3
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,2
.dbline 363
cbi 0x18,3
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,3
.dbline 363
sbi 0x18,2
.dbline 363
sbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
.dbline 363
cbi 0x18,3
.dbline 363
sbi 0x18,2
.dbline 363
cbi 0x18,1
.dbline 363
sbi 0x18,0
.dbline 363
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 363
L62:
.dbline 363
subi R20,1
sbci R21,0
L64:
.dbline 363
;
cpi R20,0
cpc R20,R21
breq X8
xjmp L61
X8:
X4:
.dbline 364
ldi R20,3
ldi R21,0
xjmp L68
L65:
.dbline 364
.dbline 364
cbi 0x18,3
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,3
.dbline 364
sbi 0x18,2
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,2
.dbline 364
cbi 0x18,3
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
cbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,0
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,3
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,0
.dbline 364
sbi 0x18,2
.dbline 364
cbi 0x18,1
.dbline 364
sbi 0x18,3
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,0
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,3
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,0
.dbline 364
cbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,3
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
sbi 0x18,1
.dbline 364
cbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,2
.dbline 364
sbi 0x18,3
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,2
.dbline 364
cbi 0x18,3
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,3
.dbline 364
sbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
.dbline 364
cbi 0x18,3
.dbline 364
cbi 0x18,2
.dbline 364
sbi 0x18,1
.dbline 364
sbi 0x18,0
.dbline 364
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 364
L66:
.dbline 364
subi R20,1
sbci R21,0
L68:
.dbline 364
;
cpi R20,0
cpc R20,R21
breq X9
xjmp L65
X9:
X5:
.dbline -2
L44:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbend
.dbfunc e USART_InitM1681 _USART_InitM1681 fV
; tmp -> R10,R11
; baud -> R10,R11
.even
_USART_InitM1681::
xcall push_gset3
movw R10,R16
.dbline -1
.dbline 385
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.dbline 388
;
;
;
movw R2,R10
clr R4
clr R5
ldi R20,0
ldi R21,64
ldi R22,56
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
xcall div32s
ldi R20,16
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall div32s
movw R2,R16
movw R4,R18
ldi R20,1
ldi R21,0
ldi R22,0
ldi R23,0
sub R2,R20
sbc R3,R21
sbc R4,R22
sbc R5,R23
movw R10,R2
.dbline 390
;
;
mov R2,R3
clr R3
out 0x20,R2
.dbline 391
;
out 0x9,R10
.dbline 395
;
;
;
;
ldi R24,152
out 0xa,R24
.dbline 399
;
;
;
;
ldi R24,134
out 0x20,R24
.dbline -2
L69:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r tmp 10 i
.dbsym r baud 10 i
.dbend
.dbfunc e USART_InitM1682 _USART_InitM1682 fV
; tmp -> R10,R11
; baud -> R10,R11
.even
_USART_InitM1682::
xcall push_gset3
movw R10,R16
.dbline -1
.dbline 403
;
;
;
;
.dbline 406
;
;
;
movw R2,R10
clr R4
clr R5
ldi R20,0
ldi R21,64
ldi R22,56
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
xcall div32s
ldi R20,16
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall div32s
movw R2,R16
movw R4,R18
ldi R20,1
ldi R21,0
ldi R22,0
ldi R23,0
sub R2,R20
sbc R3,R21
sbc R4,R22
sbc R5,R23
movw R10,R2
.dbline 407
;
mov R2,R3
clr R3
out 0x20,R2
.dbline 408
;
out 0x9,R10
.dbline 412
;
;
;
;
ldi R24,152
out 0xa,R24
.dbline 416
;
;
;
;
ldi R24,142
out 0x20,R24
.dbline -2
L70:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r tmp 10 i
.dbsym r baud 10 i
.dbend
.dbfunc e INT0_init _INT0_init fV
.even
_INT0_init::
.dbline -1
.dbline 474
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.dbline 475
;
cli
.dbline 476
;
clr R2
out 0x35,R2
.dbline 477
;
ldi R24,192
out 0x3a,R24
.dbline 478
;
ldi R24,64
out 0x3b,R24
.dbline 479
;
sei
.dbline -2
L71:
.dbline 0 ; func end
ret
.dbend
.dbfunc e INT1_init _INT1_init fV
.even
_INT1_init::
.dbline -1
.dbline 482
;
;
;
.dbline 483
;
cli
.dbline 484
;
clr R2
out 0x35,R2
.dbline 485
;
ldi R24,192
out 0x3a,R24
.dbline 486
;
ldi R24,128
out 0x3b,R24
.dbline 487
;
sei
.dbline -2
L72:
.dbline 0 ; func end
ret
.dbend
.dbfunc e INT01_init _INT01_init fV
.even
_INT01_init::
.dbline -1
.dbline 490
;
;
;
.dbline 491
;
cli
.dbline 492
;
clr R2
out 0x35,R2
.dbline 493
;
ldi R24,192
out 0x3a,R24
.dbline 494
;
out 0x3b,R24
.dbline 495
;
sei
.dbline -2
L73:
.dbline 0 ; func end
ret
.dbend
.dbfunc e USART_Transmit8 _USART_Transmit8 fV
; data -> R16
.even
_USART_Transmit8::
.dbline -1
.dbline 524
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
L75:
.dbline 526
L76:
.dbline 526
;
;
sbis 0xb,5
rjmp L75
.dbline 528
;
;
out 0xc,R16
.dbline -2
L74:
.dbline 0 ; func end
ret
.dbsym r data 16 c
.dbend
.dbfunc e USART_Transmit9 _USART_Transmit9 fV
; data -> R16,R17
.even
_USART_Transmit9::
.dbline -1
.dbline 532
;
;
;
;
L79:
.dbline 534
L80:
.dbline 534
;
;
sbis 0xb,5
rjmp L79
.dbline 536
;
;
cbi 0xa,0
.dbline 537
;
sbrc R17,0
.dbline 538
;
sbi 0xa,0
L82:
.dbline 540
;
;
out 0xc,R16
.dbline -2
L78:
.dbline 0 ; func end
ret
.dbsym r data 16 i
.dbend
.dbfunc e USART_Transmit_2 _USART_Transmit_2 fV
.even
_USART_Transmit_2::
.dbline -1
.dbline 543
;
;
;
L85:
.dbline 544
L86:
.dbline 544
;
sbis 0xb,5
rjmp L85
.dbline 545
;
ldi R24,72
out 0xc,R24
L88:
.dbline 546
L89:
.dbline 546
;
sbis 0xb,5
rjmp L88
.dbline 547
;
ldi R24,101
out 0xc,R24
L91:
.dbline 548
L92:
.dbline 548
;
sbis 0xb,5
rjmp L91
.dbline 549
;
ldi R24,108
out 0xc,R24
L94:
.dbline 550
L95:
.dbline 550
;
sbis 0xb,5
rjmp L94
.dbline 551
;
ldi R24,108
out 0xc,R24
L97:
.dbline 552
L98:
.dbline 552
;
sbis 0xb,5
rjmp L97
.dbline 553
;
ldi R24,111
out 0xc,R24
.dbline -2
L84:
.dbline 0 ; func end
ret
.dbend
.dbfunc e USART_Receive8 _USART_Receive8 fi
.even
_USART_Receive8::
.dbline -1
.dbline 567
;
;
;
;
;
;
;
;
;
;
;
;
;
;
L101:
.dbline 569
L102:
.dbline 569
;
;
sbis 0xb,7
rjmp L101
.dbline 570
;
in R16,0xc
clr R17
.dbline -2
L100:
.dbline 0 ; func end
ret
.dbend
.dbfunc e USART_Receive9 _USART_Receive9 fi
; resl -> R16
; status -> R20
; resh -> R18
.even
_USART_Receive9::
xcall push_gset1
.dbline -1
.dbline 574
;
;
;
;
L105:
.dbline 577
L106:
.dbline 577
;
;
;
sbis 0xb,7
rjmp L105
.dbline 580
;
;
;
in R20,0xb
.dbline 581
;
in R18,0xa
.dbline 582
;
in R16,0xc
.dbline 584
;
;
mov R24,R20
andi R24,16
ori R24,12
breq L108
.dbline 584
.dbline 584
ldi R16,-1
ldi R17,-1
xjmp L104
L108:
.dbline 586
;
;
lsr R18
andi R18,1
.dbline 587
;
mov R17,R18
.dbline -2
L104:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r resl 16 c
.dbsym r status 20 c
.dbsym r resh 18 c
.dbend
.dbfunc e USART_Flush _USART_Flush fV
; dummy -> R16
.even
_USART_Flush::
.dbline -1
.dbline 601
;
;
;
;
;
;
;
;
;
;
;
;
;
;
xjmp L112
L111:
.dbline 603
in R16,0xc
L112:
.dbline 603
;
;
sbic 0xb,7
rjmp L111
.dbline -2
L110:
.dbline 0 ; func end
ret
.dbsym r dummy 16 c
.dbend
.area lit(rom, con, rel)
_buffer::
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.byte 0,1
.dbfile C:\DOCUME~1\Administrator\桌面\调试成功\M16-ISP串口通讯\m16.c
.dbsym e buffer _buffer A[20:20]kc
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\调试成功\M16-ISP串口通讯\m16.c
.dbfunc e main _main fV
; tmp -> R20
; n -> R22
.even
_main::
.dbline -1
.dbline 9
.dbline 10
clr R22
.dbline 10
clr R20
.dbline 11
ldi R16,9600
ldi R17,37
xcall _USART_InitM1681
.dbline 13
xjmp L118
L115:
.dbline 13
.dbline 13
ldi R24,<_buffer
ldi R25,>_buffer
mov R30,R22
clr R31
add R30,R24
adc R31,R25
lpm R16,Z
xcall _USART_Transmit8
.dbline 13
L116:
.dbline 13
inc R22
L118:
.dbline 13
cpi R22,20
brlo L115
.dbline 13
xjmp L120
L119:
.dbline 17
.dbline 18
sbis 0xb,7
rjmp L122
.dbline 19
.dbline 20
xcall _USART_Receive8
mov R20,R16
.dbline 21
xcall _USART_Transmit8
.dbline 22
ldi R16,13
xcall _USART_Transmit8
.dbline 23
ldi R16,10
xcall _USART_Transmit8
.dbline 24
cpi R20,97
brne L124
.dbline 25
.dbline 26
ldi R16,79
xcall _USART_Transmit8
.dbline 27
ldi R16,75
xcall _USART_Transmit8
.dbline 28
ldi R16,13
xcall _USART_Transmit8
.dbline 29
ldi R16,10
xcall _USART_Transmit8
.dbline 30
L124:
.dbline 31
cpi R20,65
brne L126
.dbline 32
.dbline 33
xcall _USART_Transmit_2
.dbline 34
ldi R16,13
xcall _USART_Transmit8
.dbline 35
ldi R16,10
xcall _USART_Transmit8
.dbline 36
L126:
.dbline 39
L122:
.dbline 40
L120:
.dbline 16
xjmp L119
X10:
.dbline -2
L114:
.dbline 0 ; func end
ret
.dbsym r tmp 20 c
.dbsym r n 22 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -