⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.s

📁 AT90CAN128的CAN通信源码测试成功
💻 S
📖 第 1 页 / 共 2 页
字号:
	st -y,R2
	xcall div32fs
	ldi R16,<L63
	ldi R17,>L63
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall cmp32f
	brge L61
	.dbline 174
; 
	xjmp L59
L61:
	.dbline 176
	ldi R16,<L63
	ldi R17,>L63
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	movw R30,R28
 ; stack offset 4
	ldd R2,z+4
	ldd R3,z+5
	ldd R4,z+6
	ldd R5,z+7
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	xcall empy32f
	movw R30,R28
	std z+0,R16
	std z+1,R17
	std z+2,R18
	std z+3,R19
	.dbline 177
L58:
	.dbline 171
	inc R12
L60:
	.dbline 171
	mov R24,R12
	cpi R24,15
	brsh X4
	xjmp L57
X4:
L59:
	.dbline 179
; 
; 
; 
; 
; 
	tst R10
	breq L64
	.dbline 180
; 
	ldi R16,45
	xcall _rprintfChar
	xjmp L65
L64:
	.dbline 182
; 
; 
	ldi R16,43
	xcall _rprintfChar
L65:
	.dbline 185
; 
; 
; 
	clr R12
	xjmp L69
L66:
	.dbline 186
; 
	.dbline 187
; 
	movw R30,R28
	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
	movw R30,R28
 ; stack offset 4
	ldd R2,z+4
	ldd R3,z+5
	ldd R4,z+6
	ldd R5,z+7
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	xcall div32f
	movw R30,R28
	std z+8,R16
	std z+9,R17
	std z+10,R18
	std z+11,R19
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	ldi R16,<L72
	ldi R17,>L72
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall cmp32f
	brlt L70
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	ldi R16,<L72
	ldi R17,>L72
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall sub32f
	xcall fp2int
	movw R24,R16
	subi R24,0  ; offset = 32768
	sbci R25,128
	movw R10,R24
	xjmp L71
L70:
	movw R30,R28
	ldd R16,z+8
	ldd R17,z+9
	ldd R18,z+10
	ldd R19,z+11
	xcall fp2int
	movw R10,R16
L71:
	mov R14,R10
	.dbline 189
; 
; 
	movw R30,R28
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	ldi R16,<L51
	ldi R17,>L51
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall cmp32f
	brne L75
	ldi R24,1
	ldi R25,0
	movw R10,R24
	xjmp L76
L75:
	clr R10
	clr R11
L76:
	ldd R2,y+12
	clr R3
	mov R4,R14
	clr R5
	or R4,R2
	or R5,R3
	or R4,R10
	or R5,R11
	tst R4
	brne X3
	tst R5
	breq L73
X3:
	.dbline 190
; 
	.dbline 191
; 
	clr R0
	inc R0
	std y+12,R0
	.dbline 192
; 
	mov R16,R14
	subi R16,208    ; addi 48
	xcall _rprintfChar
	.dbline 193
; 
	xjmp L74
L73:
	.dbline 195
; 
; 
	ldi R16,32
	xcall _rprintfChar
L74:
	.dbline 197
; 
; 
	movw R30,R28
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	ldi R16,<L51
	ldi R17,>L51
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall cmp32f
	brne L77
	.dbline 198
; 
	.dbline 199
; 
	ldi R16,46
	xcall _rprintfChar
	.dbline 200
; 
L77:
	.dbline 202
	movw R30,R28
	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
	mov R16,R14
	clr R17
	xcall int2fp
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	movw R30,R28
 ; stack offset 8
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	xcall empy32fs
	xcall sub32f
	movw R30,R28
	std z+21,R16
	std z+22,R17
	std z+23,R18
	std z+24,R19
	.dbline 203
	movw R30,R28
	ldd R2,z+0
	ldd R3,z+1
	ldd R4,z+2
	ldd R5,z+3
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	ldi R16,<L63
	ldi R17,>L63
	xcall lpm32
	st -y,R19
	st -y,R18
	st -y,R17
	st -y,R16
	xcall div32f
	movw R30,R28
	std z+0,R16
	std z+1,R17
	std z+2,R18
	std z+3,R19
	.dbline 204
L67:
	.dbline 185
	inc R12
L69:
	.dbline 185
	ldd R0,y+19
	cp R12,R0
	brsh X5
	xjmp L66
X5:
	.dbline -2
L50:
	adiw R28,13
	xcall pop_gset5x
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r negative 10 c
	.dbsym l firstplace 12 c
	.dbsym r digit 14 c
	.dbsym r i 12 c
	.dbsym l place 0 D
	.dbsym l x 21 D
	.dbsym l numDigits 19 c
	.dbend
	.area data(ram, con, rel)
	.dbfile D:\liliang\can-232\CAN-232/rprint.c
_flag::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\liliang\can-232\CAN-232/rprint.c
	.dbfile D:\liliang\can-232\CAN-232/can.h
	.dbstruct 0 1 BIT_FILED
	.dbfield 0 mess_wait F[0:1]
	.dbfield 0 i_over F[1:1]
	.dbfield 0 v_over F[2:1]
	.dbfield 0 ad_mux F[3:1]
	.dbfield 0 s_100ms F[4:1]
	.dbfield 0 s_200ms F[5:1]
	.dbfield 0 s_300ms F[6:1]
	.dbfield 0 s_400ms F[7:1]
	.dbend
	.dbsym e flag _flag S[BIT_FILED]
	.area text(rom, con, rel)
	.dbfile D:\liliang\can-232\CAN-232/can.h
	.dbfile D:\liliang\can-232\CAN-232/can.c
	.dbfunc e sja_port_init _sja_port_init fV
	.even
_sja_port_init::
	.dbline -1
	.dbline 30
	.dbline 32
	clr R2
	out 0x15,R2
	.dbline 33
	ldi R24,255
	out 0x14,R24
	.dbline 34
	ldi R24,192
	out 0x12,R24
	.dbline 35
	ldi R24,248
	out 0x11,R24
	.dbline 37
	in R24,0x1a
	ori R24,240
	out 0x1a,R24
	.dbline 38
	sbi 0x1b,5
	.dbline 39
	sbi 0x1b,6
	.dbline 40
	cbi 0x1b,4
	.dbline 41
	sbi 0x1b,7
	.dbline -2
L79:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e sja_write_data _sja_write_data fV
;           data -> R18
;           addr -> R16
	.even
_sja_write_data::
	.dbline -1
	.dbline 50
	.dbline 51
	sbi 0x1b,6
	.dbline 52
	ldi R24,255
	out 0x14,R24
	.dbline 54
	out 0x15,R16
	.dbline 55
	sbi 0x1b,4
	.dbline 56
	nop
	.dbline 57
	cbi 0x1b,4
	.dbline 58
	nop
	.dbline 60
	out 0x15,R18
	.dbline 61
	cbi 0x1b,7
	.dbline 62
	cbi 0x1b,5
	.dbline 63
	nop
	.dbline 64
	sbi 0x1b,5
	.dbline 65
	nop
	.dbline 67
	sbi 0x1b,7
	.dbline -2
L80:
	.dbline 0 ; func end
	ret
	.dbsym r data 18 c
	.dbsym r addr 16 c
	.dbend
	.dbfunc e sja_read_data _sja_read_data fc
;           data -> R10
;           addr -> R16
	.even
_sja_read_data::
	xcall push_gset3x
	.dbline -1
	.dbline 76
	.dbline 78
	sbi 0x1b,5
	.dbline 79
	ldi R24,255
	out 0x14,R24
	.dbline 81
	cbi 0x1b,4
	.dbline 82
	out 0x15,R16
	.dbline 83
	sbi 0x1b,4
	.dbline 84
	nop
	.dbline 85
	cbi 0x1b,4
	.dbline 86
	nop
	.dbline 88
	out 0x15,R24
	.dbline 89
	clr R2
	out 0x14,R2
	.dbline 90
	cbi 0x1b,7
	.dbline 91
	cbi 0x1b,6
	.dbline 92
	nop
	.dbline 93
	sbi 0x1b,6
	.dbline 94
	nop
	.dbline 95
	in R10,0x13
	.dbline 96
	sbi 0x1b,7
	.dbline 97
	mov R16,R10
	.dbline -2
L81:
	xcall pop_gset3x
	.dbline 0 ; func end
	ret
	.dbsym r data 10 c
	.dbsym r addr 16 c
	.dbend
	.dbfunc e sja_init _sja_init fV
;              k -> <dead>
;           temp -> <dead>
	.even
_sja_init::
	.dbline -1
	.dbline 106
	.dbline 110
	cli
	.dbline 111
	ldi R18,9
	clr R16
	xcall _sja_write_data
	.dbline 113
	ldi R16,3
	xcall _sja_read_data
	xjmp L84
L83:
	.dbline 116
	.dbline 117
	ldi R18,9
	clr R16
	xcall _sja_write_data
	.dbline 118
L84:
	.dbline 115
	clr R16
	xcall _sja_read_data
	sbrs R16,0
	rjmp L83
	.dbline 119
	ldi R16,5
	ldi R17,0
	xcall _delay_nus
	.dbline 120
	ldi R18,136
	ldi R16,31
	xcall _sja_write_data
	.dbline 121
	ldi R16,5
	ldi R17,0
	xcall _delay_nus
	.dbline 123
	ldi R18,1
	ldi R16,6
	xcall _sja_write_data
	.dbline 124
	ldi R18,28
	ldi R16,7
	xcall _sja_write_data
	.dbline 126
	ldi R18,26
	ldi R16,8
	xcall _sja_write_data
	.dbline 128
	clr R18
	ldi R16,14
	xcall _sja_write_data
	.dbline 129
	clr R18
	ldi R16,15
	xcall _sja_write_data
	.dbline 130
	clr R18
	ldi R16,12
	xcall _sja_write_data
	.dbline 132
	clr R18
	ldi R16,30
	xcall _sja_write_data
	.dbline 134
	clr R18
	ldi R16,16
	xcall _sja_write_data
	.dbline 135
	clr R18
	ldi R16,17
	xcall _sja_write_data
	.dbline 136
	clr R18
	ldi R16,18
	xcall _sja_write_data
	.dbline 137
	clr R18
	ldi R16,19
	xcall _sja_write_data
	.dbline 139
	ldi R18,255
	ldi R16,20
	xcall _sja_write_data
	.dbline 140
	ldi R18,255
	ldi R16,21
	xcall _sja_write_data
	.dbline 141
	ldi R18,255
	ldi R16,22
	xcall _sja_write_data
	.dbline 142
	ldi R18,255
	ldi R16,23
	xcall _sja_write_data
	.dbline 144
	ldi R18,129
	ldi R16,4
	xcall _sja_write_data
	.dbline 146
	ldi R18,8
	ldi R16,1
	xcall _sja_write_data
	.dbline 147
	ldi R16,10
	ldi R17,0
	xcall _delay_nus
	.dbline 148
	ldi R18,4
	ldi R16,1
	xcall _sja_write_data
L86:
	.dbline 151
	.dbline 153
	ldi R18,8
	clr R16
	xcall _sja_write_data
	.dbline 154
L87:
	.dbline 155
	clr R16
	xcall _sja_read_data
	sbrc R16,0
	rjmp L86
	.dbline 157
	sei
	.dbline -2
L82:
	.dbline 0 ; func end
	ret
	.dbsym l k 1 i
	.dbsym l temp 1 c
	.dbend
	.dbfunc e sja_tx_service _sja_tx_service fV
;             FF -> R10
;         Length -> R12
;              i -> R14
	.even
_sja_tx_service::
	xcall push_gset5x
	.dbline -1
	.dbline 166
	.dbline 169
	lds R24,_flag
	andi R24,1
	cpi R24,1
	breq X6
	xjmp L90
X6:
	.dbline 170
	.dbline 171
	cbi 0x12,7
	.dbline 172
	lds R24,_flag
	andi R24,254
	sts _flag,R24
	.dbline 173
	lds R24,_TransmitMessage
	andi R24,128
	mov R10,R24
	.dbline 174
	lds R24,_TransmitMessage
	andi R24,15
	.dbline 176
	ldi R24,8
	mov R12,R24
	tst R12
	breq L92
	.dbline 177
	.dbline 178
	ldi R24,128
	mov R12,R24
	.dbline 179
L92:
	.dbline 181
	lds R18,_TransmitMessage
	ldi R16,16
	xcall _sja_write_data
	.dbline 182
	lds R18,_TransmitMessage+1
	ldi R16,17
	xcall _sja_write_data
	.dbline 183
	lds R18,_TransmitMessage+2
	ldi R16,18
	xcall _sja_write_data
	.dbline 184
	tst R10
	breq L96
	.dbline 185
	.dbline 186
	lds R18,_TransmitMessage+3
	ldi R16,19
	xcall _sja_write_data
	.dbline 187
	lds R18,_TransmitMessage+4
	ldi R16,20
	xcall _sja_write_data
	.dbline 188
L96:
	.dbline 189
	clr R14
	xjmp L103
L100:
	.dbline 190
	.dbline 191
	tst R10
	breq L104
	.dbline 192
	ldi R24,<_TransmitMessage+5
	ldi R25,>_TransmitMessage+5
	mov R30,R14
	clr R31
	add R30,R24
	adc R31,R25
	ldd R18,z+0
	mov R16,R14
	subi R16,235    ; addi 21
	xcall _sja_write_data
	xjmp L105
L104:
	.dbline 194
	ldi R24,<_TransmitMessage+3
	ldi R25,>_TransmitMessage+3
	mov R30,R14
	clr R31
	add R30,R24
	adc R31,R25
	ldd R18,z+0
	mov R16,R14
	subi R16,235    ; addi 21
	xcall _sja_write_data
L105:
	.dbline 195
L101:
	.dbline 189
	inc R14
L103:
	.dbline 189
	cp R14,R12
	brlo L100
	.dbline 196
	sbi 0x12,7
	.dbline 199
	ldi R18,1
	ldi R16,1
	xcall _sja_write_data
	.dbline 200
L90:
	.dbline -2
L89:
	xcall pop_gset5x
	.dbline 0 ; func end
	ret
	.dbsym r FF 10 c
	.dbsym r Length 12 c
	.dbsym r i 14 c
	.dbend
	.dbfunc e sja_tx _sja_tx fV
;           sreg -> y+0
;             FF -> R12
;         Length -> R10
;          state -> R14
;              i -> R14
; TransmitMessage -> y+7
	.even
_sja_tx::
	st -y,r17
	st -y,r16
	xcall push_gset5x
	sbiw R28,1
	.dbline -1
	.dbline 209
; `j

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -