📄 main.s
字号:
L26:
.dbline 145
subi R18,255 ; offset = 1
sbci R19,255
L28:
.dbline 145
cpi R18,100
ldi R30,0
cpc R19,R30
brlo L25
.dbline 149
L22:
.dbline 143
subi R16,255 ; offset = 1
sbci R17,255
L24:
.dbline 143
cpi R16,232
ldi R30,3
cpc R17,R30
brlo L21
.dbline -2
L20:
.dbline 0 ; func end
ret
.dbsym r i 16 i
.dbsym r k 18 i
.dbend
.dbfunc e rtl_errchk _rtl_errchk fV
.even
_rtl_errchk::
.dbline -1
.dbline 154
; {
; WDR();
; }
; }
; }
;
;
; void rtl_errchk(void)
; {
.dbline 155
; if(rtl_isrstatus()&0x04) //异常状态监视
xcall _rtl_isrstatus
sbrs R16,2
rjmp L30
.dbline 156
; {
.dbline 157
; if(rtl_isrstatus()&0x04)
xcall _rtl_isrstatus
sbrs R16,2
rjmp L32
.dbline 158
; {
.dbline 159
; rtl8019_hotreset(); //网卡芯片热复位
xcall _rtl8019_hotreset
.dbline 160
; rtl8019_init(); //重新初始化
xcall _rtl8019_init
.dbline 161
; curr_temp=0x0000;
clr R2
clr R3
sts _curr_temp+1,R3
sts _curr_temp,R2
.dbline 162
; }
L32:
.dbline 163
L30:
.dbline -2
L29:
.dbline 0 ; func end
ret
.dbend
.dbfunc e uart1_init _uart1_init fV
.even
_uart1_init::
.dbline -1
.dbline 171
; }
; }
;
;
; //UART1 initialize
; // desired baud rate:19200
; // actual baud rate:19200 (0.0%)
; void uart1_init(void)
; {
.dbline 172
; UCSR1B = 0x00; //disable while setting baud rate
clr R2
sts 154,R2
.dbline 173
; UCSR1A = 0x00;
sts 155,R2
.dbline 174
; UCSR1C = 0x06;
ldi R24,6
sts 157,R24
.dbline 175
; UBRR1L = 0x26; //set baud rate lo
ldi R24,38
sts 153,R24
.dbline 176
; UBRR1H = 0x00; //set baud rate hi
sts 152,R2
.dbline 177
; UCSR1B = 0x98;
ldi R24,152
sts 154,R24
.dbline -2
L34:
.dbline 0 ; func end
ret
.dbend
.dbfunc e uartsenddata _uartsenddata fV
; udpdata -> R20,R21
.even
_uartsenddata::
xcall push_gset1
.dbline -1
.dbline 182
; }
;
;
; void uartsenddata(void)
; {
.dbline 183
; unsigned int udpdata=0;
clr R20
clr R21
.dbline 185
;
; if(UCSR1A&0x20)
lds R2,155
sbrs R2,5
rjmp L36
.dbline 186
; {
.dbline 187
; udpdata=udp_readdata();
xcall _udp_readdata
movw R20,R16
.dbline 188
; }
L36:
.dbline 189
sbrs R21,7
rjmp L38
.dbline 190
.dbline 191
movw R24,R20
andi R25,0
sts 156,R24
.dbline 192
clr R20
clr R21
.dbline 193
L38:
.dbline -2
L35:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r udpdata 20 i
.dbend
.dbfunc e led_cont _led_cont fV
; data -> R16
.even
_led_cont::
.dbline -1
.dbline 197
; if(udpdata&0x8000) //有新的UDP数据到达
; {
; UDR1=(udpdata&0x00FF); ///////////////////////////////////////
; udpdata=0;
; }
; }
;
; void led_cont(unsigned char data)
; {
.dbline 198
; LEDPORT=(data&0x30)|0xCF;
mov R24,R16
andi R24,48
ori R24,207
out 0x12,R24
.dbline -2
L40:
.dbline 0 ; func end
ret
.dbsym r data 16 c
.dbend
.dbfunc e mapping_init _mapping_init fV
.even
_mapping_init::
.dbline -1
.dbline 206
; }
;
; ////////////////////////////////////////////////////////////////////////////////
; ////////////////////////////////////////////////////////////////////////////////
; ////////////////////////////////////////////////////////////////////////////////
; //define mappings
; void mapping_init(void)
; {
.dbline 207
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01F0
_key1_ok:: .blkb 1
.dbline 212
; ".org 0x01F0\n"
; " _key1_ok:: .blkb 1\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01F4
_udpbuffer_in_rp:: .blkb 2
.dbline 217
; ".org 0x01F4\n"
; " _udpbuffer_in_rp:: .blkb 2\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01F6
_udpbuffer_in_p:: .blkb 2
.dbline 222
; ".org 0x01F6\n"
; " _udpbuffer_in_p:: .blkb 2\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01F8
_udpdatalen:: .blkb 2
.dbline 227
; ".org 0x01F8\n"
; " _udpdatalen:: .blkb 2\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01FA
_to_udpport:: .blkb 2
.dbline 232
; ".org 0x01FA\n"
; " _to_udpport:: .blkb 2\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01FC
_curr_temp:: .blkb 2
.dbline 236
; ".org 0x01FC\n"
; " _curr_temp:: .blkb 2\n"
; );
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x01FE
_curr:: .blkb 2
.dbline 241
; ".org 0x01FE\n"
; " _curr:: .blkb 2\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x0200
_ip_id:: .blkb 2
.dbline 246
; ".org 0x0200\n"
; " _ip_id:: .blkb 2\n"
; );
;
; asm(".area memory(abs)\n"
.area memory(abs)
.org 0x0202
_buffer:: .blkb 1536
.dbline 251
; ".org 0x0202\n"
; " _buffer:: .blkb 1536\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x08FF
_udpbuffer_in:: .blkb 1024
.dbline 255
; ".org 0x08FF\n"
; " _udpbuffer_in:: .blkb 1024\n"
; );
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x1100
_udpbuffer_ex:: .blkb 8192
.dbline 260
; ".org 0x1100\n"
; " _udpbuffer_ex:: .blkb 8192\n"
; );
;
; asm( ".area memory(abs)\n"
.area memory(abs)
.org 0x3100
_udpsendbuffer_ex:: .blkb 2048
.area memory(abs)
.org 0xC000
_reg_00:: .blkb 1
.org 0xC100
_reg_01:: .blkb 1
.org 0xC200
_reg_02:: .blkb 1
.org 0xC300
.dbline 274
; ".org 0x3100\n"
; " _udpsendbuffer_ex:: .blkb 2048\n"
; )
;
; asm(".area memory(abs)\n"
; ".org 0xC000\n"
; " _reg_00:: .blkb 1\n"
; ".org 0xC100\n"
; " _reg_01:: .blkb 1\n"
; ".org 0xC200\n"
; " _reg_02:: .blkb 1\n"
; ".org 0xC300\n"
; );
; asm(
_reg_03:: .blkb 1
.org 0xC400
_reg_04:: .blkb 1
.org 0xC500
_reg_05:: .blkb 1
.org 0xC600
_reg_06:: .blkb 1
.org 0xC700
.dbline 284
; " _reg_03:: .blkb 1\n"
; ".org 0xC400\n"
; " _reg_04:: .blkb 1\n"
; ".org 0xC500\n"
; " _reg_05:: .blkb 1\n"
; ".org 0xC600\n"
; " _reg_06:: .blkb 1\n"
; ".org 0xC700\n"
; );
; asm(
_reg_07:: .blkb 1
.org 0xC800
_reg_08:: .blkb 1
.org 0xC900
_reg_09:: .blkb 1
.org 0xCA00
_reg_0a:: .blkb 1
.org 0xCB00
.dbline 294
; " _reg_07:: .blkb 1\n"
; ".org 0xC800\n"
; " _reg_08:: .blkb 1\n"
; ".org 0xC900\n"
; " _reg_09:: .blkb 1\n"
; ".org 0xCA00\n"
; " _reg_0a:: .blkb 1\n"
; ".org 0xCB00\n"
; );
; asm(
_reg_0b:: .blkb 1
.org 0xCC00
_reg_0c:: .blkb 1
.org 0xCD00
_reg_0d:: .blkb 1
.org 0xCE00
_reg_0e:: .blkb 1
.org 0xCF00
.dbline 304
; " _reg_0b:: .blkb 1\n"
; ".org 0xCC00\n"
; " _reg_0c:: .blkb 1\n"
; ".org 0xCD00\n"
; " _reg_0d:: .blkb 1\n"
; ".org 0xCE00\n"
; " _reg_0e:: .blkb 1\n"
; ".org 0xCF00\n"
; );
; asm(
_reg_0f:: .blkb 1
.org 0xD000
_reg_10:: .blkb 1
.org 0xD100
_reg_11:: .blkb 1
.org 0xD200
_reg_12:: .blkb 1
.org 0xD300
.dbline 314
; " _reg_0f:: .blkb 1\n"
; ".org 0xD000\n"
; " _reg_10:: .blkb 1\n"
; ".org 0xD100\n"
; " _reg_11:: .blkb 1\n"
; ".org 0xD200\n"
; " _reg_12:: .blkb 1\n"
; ".org 0xD300\n"
; );
; asm(
_reg_13:: .blkb 1
.org 0xD400
_reg_14:: .blkb 1
.org 0xD500
_reg_15:: .blkb 1
.org 0xD600
_reg_16:: .blkb 1
.org 0xD700
.dbline 324
; " _reg_13:: .blkb 1\n"
; ".org 0xD400\n"
; " _reg_14:: .blkb 1\n"
; ".org 0xD500\n"
; " _reg_15:: .blkb 1\n"
; ".org 0xD600\n"
; " _reg_16:: .blkb 1\n"
; ".org 0xD700\n"
; );
; asm(
_reg_17:: .blkb 1
.org 0xD800
_reg_18:: .blkb 1
.org 0xD900
_reg_19:: .blkb 1
.org 0xDA00
_reg_1a:: .blkb 1
.org 0xDB00
.dbline 334
; " _reg_17:: .blkb 1\n"
; ".org 0xD800\n"
; " _reg_18:: .blkb 1\n"
; ".org 0xD900\n"
; " _reg_19:: .blkb 1\n"
; ".org 0xDA00\n"
; " _reg_1a:: .blkb 1\n"
; ".org 0xDB00\n"
; );
; asm(
_reg_1b:: .blkb 1
.org 0xDC00
_reg_1c:: .blkb 1
.org 0xDD00
_reg_1d:: .blkb 1
.org 0xDE00
_reg_1e:: .blkb 1
.org 0xDF00
_reg_1f:: .blkb 1
.text
.dbline -2
L41:
.dbline 0 ; func end
ret
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -