📄 uart.lst
字号:
__start:
__text_start:
0120 E5CF LDI R28,0x5F
0121 E0D4 LDI R29,4
0122 BFCD OUT 0x3D,R28
0123 BFDE OUT 0x3E,R29
0124 51C0 SUBI R28,0x10
0125 40D0 SBCI R29,0
0126 EA0A LDI R16,0xAA
0127 8308 STD Y+0,R16
0128 2400 CLR R0
0129 E4E9 LDI R30,0x49
012A E0F1 LDI R31,1
012B E011 LDI R17,1
012C 36E4 CPI R30,0x64
012D 07F1 CPC R31,R17
012E F011 BEQ 0x0131
012F 9201 ST R0,Z+
0130 CFFB RJMP 0x012C
0131 8300 STD Z+0,R16
0132 E5E7 LDI R30,0x57
0133 E0F1 LDI R31,1
0134 E6A0 LDI R26,0x60
0135 E0B0 LDI R27,0
0136 E012 LDI R17,2
0137 34E0 CPI R30,0x40
0138 07F1 CPC R31,R17
0139 F021 BEQ 0x013E
013A 95C8 LPM
013B 9631 ADIW R30,1
013C 920D ST R0,X+
013D CFF9 RJMP 0x0137
013E 940E0151 CALL _main
_exit:
0140 CFFF RJMP _exit
FILE: C:\bak\YM200\uart\uart.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #include<stdio.h>
(0004) unsigned char baud=45; //baud=9600bps
(0005) /*-----------------------------------------------------------
(0006) USART_Init :UART初始化函数
(0007) 输入参数 :无
(0008) 输出参数 :无
(0009) ------------------------------------------------------------*/
(0010) void USART_Init(void)
(0011) {
(0012) /* 设置波特率*/
(0013) UBRRH = (unsigned char)(baud>>8);
_USART_Init:
0141 90200060 LDS R2,baud
0143 2433 CLR R3
0144 2C23 MOV R2,R3
0145 2433 CLR R3
0146 FC27 SBRC R2,7
0147 9430 COM R3
0148 BC20 OUT 0x20,R2
(0014) UBRRL = (unsigned char)baud;
0149 90200060 LDS R2,baud
014B B829 OUT 0x09,R2
(0015) /* 设置帧格式: 8 个数据位, 2 个停止位*/
(0016) UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
014C E88E LDI R24,0x8E
014D BD80 OUT 0x20,R24
(0017) /* 接收器与发送器使能*/
(0018) UCSRB = (1<<RXEN)|(1<<TXEN);
014E E188 LDI R24,0x18
014F B98A OUT 0x0A,R24
0150 9508 RET
(0019) }
(0020)
(0021) void main(void)
(0022) {
(0023) unsigned char temp;
(0024) USART_Init();
_main:
temp --> R20
0151 DFEF RCALL _USART_Init
(0025) puts("Hello World!\n");
0152 E70C LDI R16,0x7C
0153 E010 LDI R17,0
0154 940E0492 CALL _puts
(0026) putchar(0x0d);
0156 E00D LDI R16,0xD
0157 940E0395 CALL _putchar
(0027) putchar(0x0a);
0159 E00A LDI R16,0xA
015A 940E0395 CALL _putchar
(0028) printf("Please Input in Tx_windows");
015C E601 LDI R16,0x61
015D E010 LDI R17,0
015E 940E0474 CALL _printf
(0029) putchar(0x0a);
0160 E00A LDI R16,0xA
0161 940E0395 CALL _putchar
(0030) putchar(0x0d);
0163 E00D LDI R16,0xD
0164 940E0395 CALL _putchar
0166 C00D RJMP 0x0174
(0031) while (1)
(0032) {
(0033) temp=getchar();
0167 940E03AC CALL _getchar
0169 2F40 MOV R20,R16
(0034) if (temp!=0)
016A 2300 TST R16
016B F041 BEQ 0x0174
(0035) {
(0036) putchar(temp);
016C 940E0395 CALL _putchar
(0037) if(temp==0x0d)
016E 304D CPI R20,0xD
016F F419 BNE 0x0173
(0038) putchar(0x0a);
0170 E00A LDI R16,0xA
0171 940E0395 CALL _putchar
(0039) temp=0;
FILE: <library>
0173 2744 CLR R20
0174 CFF2 RJMP 0x0167
0175 9508 RET
__print:
0176 940E0325 CALL push_arg4
0178 940E036D CALL push_gset5
017A 972A SBIW R28,0xA
017B 2400 CLR R0
017C 2411 CLR R1
017D 821F STD Y+7,R1
017E 820E STD Y+6,R0
017F C18F RJMP 0x030F
0180 89EE LDD R30,Y+22
0181 89FF LDD R31,Y+23
0182 8180 LDD R24,Z+0
0183 3285 CPI R24,0x25
0184 F059 BEQ 0x0190
0185 8100 LDD R16,Z+0
0186 89EC LDD R30,Y+20
0187 89FD LDD R31,Y+21
0188 940E038C CALL xicall
018A 818E LDD R24,Y+6
018B 819F LDD R25,Y+7
018C 9601 ADIW R24,1
018D 839F STD Y+7,R25
018E 838E STD Y+6,R24
018F C17A RJMP 0x030A
0190 24EE CLR R14
0191 24FF CLR R15
0192 E449 LDI R20,0x49
0193 E051 LDI R21,1
0194 E260 LDI R22,0x20
0195 898E LDD R24,Y+22
0196 899F LDD R25,Y+23
0197 9601 ADIW R24,1
0198 8B9F STD Y+23,R25
0199 8B8E STD Y+22,R24
019A 2FE8 MOV R30,R24
019B 2FF9 MOV R31,R25
019C 8020 LDD R2,Z+0
019D 2433 CLR R3
019E 823D STD Y+5,R3
019F 822C STD Y+4,R2
01A0 2D82 MOV R24,R2
01A1 2D93 MOV R25,R3
01A2 3588 CPI R24,0x58
01A3 E0E0 LDI R30,0
01A4 079E CPC R25,R30
01A5 F409 BNE 0x01A7
01A6 C08B RJMP 0x0232
01A7 E588 LDI R24,0x58
01A8 1582 CP R24,R2
01A9 0593 CPC R25,R3
01AA F0A4 BLT 0x01BF
01AB 818C LDD R24,Y+4
01AC 819D LDD R25,Y+5
01AD 3485 CPI R24,0x45
01AE E0E0 LDI R30,0
01AF 079E CPC R25,R30
01B0 F409 BNE 0x01B2
01B1 C153 RJMP 0x0305
01B2 3485 CPI R24,0x45
01B3 E0E0 LDI R30,0
01B4 079E CPC R25,R30
01B5 F40C BGE 0x01B7
01B6 C043 RJMP 0x01FA
01B7 818C LDD R24,Y+4
01B8 819D LDD R25,Y+5
01B9 3583 CPI R24,0x53
01BA E0E0 LDI R30,0
01BB 079E CPC R25,R30
01BC F409 BNE 0x01BE
01BD C0E2 RJMP 0x02A0
01BE C03B RJMP 0x01FA
01BF 818C LDD R24,Y+4
01C0 819D LDD R25,Y+5
01C1 368F CPI R24,0x6F
01C2 E0E0 LDI R30,0
01C3 079E CPC R25,R30
01C4 F409 BNE 0x01C6
01C5 C06C RJMP 0x0232
01C6 E68F LDI R24,0x6F
01C7 E090 LDI R25,0
01C8 802C LDD R2,Y+4
01C9 803D LDD R3,Y+5
01CA 1582 CP R24,R2
01CB 0593 CPC R25,R3
01CC F0DC BLT 0x01E8
01CD 818C LDD R24,Y+4
01CE 819D LDD R25,Y+5
01CF 3683 CPI R24,0x63
01D0 E0E0 LDI R30,0
01D1 079E CPC R25,R30
01D2 F409 BNE 0x01D4
01D3 C0B6 RJMP 0x028A
01D4 3684 CPI R24,0x64
01D5 E0E0 LDI R30,0
01D6 079E CPC R25,R30
01D7 F409 BNE 0x01D9
01D8 C02E RJMP 0x0207
01D9 3685 CPI R24,0x65
01DA E0E0 LDI R30,0
01DB 079E CPC R25,R30
01DC F409 BNE 0x01DE
01DD C127 RJMP 0x0305
01DE 3686 CPI R24,0x66
01DF E0E0 LDI R30,0
01E0 079E CPC R25,R30
01E1 F409 BNE 0x01E3
01E2 C122 RJMP 0x0305
01E3 3689 CPI R24,0x69
01E4 E0E0 LDI R30,0
01E5 079E CPC R25,R30
01E6 F101 BEQ 0x0207
01E7 C012 RJMP 0x01FA
01E8 818C LDD R24,Y+4
01E9 819D LDD R25,Y+5
01EA 3783 CPI R24,0x73
01EB E0E0 LDI R30,0
01EC 079E CPC R25,R30
01ED F409 BNE 0x01EF
01EE C0E0 RJMP 0x02CF
01EF 3785 CPI R24,0x75
01F0 E0E0 LDI R30,0
01F1 079E CPC R25,R30
01F2 F409 BNE 0x01F4
01F3 C03E RJMP 0x0232
01F4 3788 CPI R24,0x78
01F5 E0E0 LDI R30,0
01F6 079E CPC R25,R30
01F7 F409 BNE 0x01F9
01F8 C039 RJMP 0x0232
01F9 C000 RJMP 0x01FA
01FA 89EE LDD R30,Y+22
01FB 89FF LDD R31,Y+23
01FC 8100 LDD R16,Z+0
01FD 89EC LDD R30,Y+20
01FE 89FD LDD R31,Y+21
01FF 940E038C CALL xicall
0201 818E LDD R24,Y+6
0202 819F LDD R25,Y+7
0203 9601 ADIW R24,1
0204 839F STD Y+7,R25
0205 838E STD Y+6,R24
0206 C103 RJMP 0x030A
0207 8D88 LDD R24,Y+24
0208 8D99 LDD R25,Y+25
0209 9602 ADIW R24,2
020A 8F99 STD Y+25,R25
020B 8F88 STD Y+24,R24
020C 2FE8 MOV R30,R24
020D 2FF9 MOV R31,R25
020E 9732 SBIW R30,2
020F 8020 LDD R2,Z+0
0210 8031 LDD R3,Z+1
0211 8639 STD Y+9,R3
0212 8628 STD Y+8,R2
0213 2D82 MOV R24,R2
0214 2D93 MOV R25,R3
0215 3080 CPI R24,0
0216 E0E0 LDI R30,0
0217 079E CPC R25,R30
0218 F474 BGE 0x0227
0219 2D8E MOV R24,R14
021A 2D9F MOV R25,R15
021B 6088 ORI R24,0x8
021C 2EE8 MOV R14,R24
021D 2EF9 MOV R15,R25
021E E26D LDI R22,0x2D
021F 2D82 MOV R24,R2
0220 2D93 MOV R25,R3
0221 9580 COM R24
0222 9590 COM R25
0223 5F8F SUBI R24,0xFF
0224 4F9F SBCI R25,0xFF
0225 8799 STD Y+9,R25
0226 8788 STD Y+8,R24
0227 E08A LDI R24,0xA
0228 E090 LDI R25,0
0229 8399 STD Y+1,R25
022A 8388 STD Y+0,R24
022B 8528 LDD R18,Y+8
022C 8539 LDD R19,Y+9
022D 2F04 MOV R16,R20
022E 2F15 MOV R17,R21
022F 940E03BA CALL _itoa
0231 C053 RJMP 0x0285
0232 8D88 LDD R24,Y+24
0233 8D99 LDD R25,Y+25
0234 9602 ADIW R24,2
0235 8F99 STD Y+25,R25
0236 8F88 STD Y+24,R24
0237 2FE8 MOV R30,R24
0238 2FF9 MOV R31,R25
0239 9732 SBIW R30,2
023A 8020 LDD R2,Z+0
023B 8031 LDD R3,Z+1
023C 8639 STD Y+9,R3
023D 8628 STD Y+8,R2
023E 89EE LDD R30,Y+22
023F 89FF LDD R31,Y+23
0240 8180 LDD R24,Z+0
0241 3785 CPI R24,0x75
0242 F459 BNE 0x024E
0243 E08A LDI R24,0xA
0244 E090 LDI R25,0
0245 8399 STD Y+1,R25
0246 8388 STD Y+0,R24
0247 2D22 MOV R18,R2
0248 2D33 MOV R19,R3
0249 2F04 MOV R16,R20
024A 2F15 MOV R17,R21
024B 940E0413 CALL _utoa
024D C037 RJMP 0x0285
024E 89EE LDD R30,Y+22
024F 89FF LDD R31,Y+23
0250 8180 LDD R24,Z+0
0251 368F CPI R24,0x6F
0252 F459 BNE 0x025E
0253 E088 LDI R24,0x8
0254 E090 LDI R25,0
0255 8399 STD Y+1,R25
0256 8388 STD Y+0,R24
0257 8528 LDD R18,Y+8
0258 8539 LDD R19,Y+9
0259 2F04 MOV R16,R20
025A 2F15 MOV R17,R21
025B 940E0413 CALL _utoa
025D C027 RJMP 0x0285
025E E180 LDI R24,0x10
025F E090 LDI R25,0
0260 8399 STD Y+1,R25
0261 8388 STD Y+0,R24
0262 8528 LDD R18,Y+8
0263 8539 LDD R19,Y+9
0264 2F04 MOV R16,R20
0265 2F15 MOV R17,R21
0266 940E0413 CALL _utoa
0268 89EE LDD R30,Y+22
0269 89FF LDD R31,Y+23
026A 8180 LDD R24,Z+0
026B 3588 CPI R24,0x58
026C F4C1 BNE 0x0285
026D E489 LDI R24,0x49
026E E091 LDI R25,1
026F 2EC8 MOV R12,R24
0270 2ED9 MOV R13,R25
0271 C00E RJMP 0x0280
0272 2DEC MOV R30,R12
0273 2DFD MOV R31,R13
0274 8100 LDD R16,Z+0
0275 2711 CLR R17
0276 940E045D CALL _toupper
0278 2DEC MOV R30,R12
0279 2DFD MOV R31,R13
027A 8300 STD Z+0,R16
027B 2D8C MOV R24,R12
027C 2D9D MOV R25,R13
027D 9601 ADIW R24,1
027E 2EC8 MOV R12,R24
027F 2ED9 MOV R13,R25
0280 2DEC MOV R30,R12
0281 2DFD MOV R31,R13
0282 8020 LDD R2,Z+0
0283 2022 TST R2
0284 F769 BNE 0x0272
0285 E489 LDI R24,0x49
0286 E091 LDI R25,1
0287 2EC8 MOV R12,R24
0288 2ED9 MOV R13,R25
0289 C057 RJMP 0x02E1
028A 8D88 LDD R24,Y+24
028B 8D99 LDD R25,Y+25
028C 9602 ADIW R24,2
028D 8F99 STD Y+25,R25
028E 8F88 STD Y+24,R24
028F 2FE8 MOV R30,R24
0290 2FF9 MOV R31,R25
0291 9732 SBIW R30,2
0292 8020 LDD R2,Z+0
0293 8031 LDD R3,Z+1
0294 822A STD Y+2,R2
0295 2D02 MOV R16,R2
0296 89EC LDD R30,Y+20
0297 89FD LDD R31,Y+21
0298 940E038C CALL xicall
029A 818E LDD R24,Y+6
029B 819F LDD R25,Y+7
029C 9601 ADIW R24,1
029D 839F STD Y+7,R25
029E 838E STD Y+6,R24
029F C06A RJMP 0x030A
02A0 8D88 LDD R24,Y+24
02A1 8D99 LDD R25,Y+25
02A2 9602 ADIW R24,2
02A3 8F99 STD Y+25,R25
02A4 8F88 STD Y+24,R24
02A5 2FE8 MOV R30,R24
02A6 2FF9 MOV R31,R25
02A7 9732 SBIW R30,2
02A8 80A0 LDD R10,Z+0
02A9 80B1 LDD R11,Z+1
02AA 326D CPI R22,0x2D
02AB F4E9 BNE 0x02C9
02AC E20D LDI R16,0x2D
02AD 89EC LDD R30,Y+20
02AE 89FD LDD R31,Y+21
02AF 940E038C CALL xicall
02B1 818E LDD R24,Y+6
02B2 819F LDD R25,Y+7
02B3 9601 ADIW R24,1
02B4 839F STD Y+7,R25
02B5 838E STD Y+6,R24
02B6 C012 RJMP 0x02C9
02B7 2DEA MOV R30,R10
02B8 2DFB MOV R31,R11
02B9 95C8 LPM
02BA 2D00 MOV R16,R0
02BB 89EC LDD R30,Y+20
02BC 89FD LDD R31,Y+21
02BD 940E038C CALL xicall
02BF 818E LDD R24,Y+6
02C0 819F LDD R25,Y+7
02C1 9601 ADIW R24,1
02C2 839F STD Y+7,R25
02C3 838E STD Y+6,R24
02C4 2D8A MOV R24,R10
02C5 2D9B MOV R25,R11
02C6 9601 ADIW R24,1
02C7 2EA8 MOV R10,R24
02C8 2EB9 MOV R11,R25
02C9 2DEA MOV R30,R10
02CA 2DFB MOV R31,R11
02CB 95C8 LPM
02CC 2000 TST R0
02CD F749 BNE 0x02B7
02CE C03B RJMP 0x030A
02CF 8D88 LDD R24,Y+24
02D0 8D99 LDD R25,Y+25
02D1 9602 ADIW R24,2
02D2 8F99 STD Y+25,R25
02D3 8F88 STD Y+24,R24
02D4 2FE8 MOV R30,R24
02D5 2FF9 MOV R31,R25
02D6 9732 SBIW R30,2
02D7 80C0 LDD R12,Z+0
02D8 80D1 LDD R13,Z+1
02D9 20CC TST R12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -