📄 isp.lis
字号:
011A .dbline 54
011A ; break;
011A 80C0 rjmp L13
011C L18:
011C .dbline 56
011C ; }
011C ; case 'a':{
011C .dbline 57
011C ; putchar('Y');
011C 09E5 ldi R16,89
011E 7DDF rcall _putchar
0120 .dbline 58
0120 ; break;
0120 7DC0 rjmp L13
0122 L19:
0122 .dbline 60
0122 ; }
0122 ; case 'A':{
0122 .dbline 61
0122 ; adder=(getchar()<<8);
0122 7FDF rcall _getchar
0124 202E mov R2,R16
0126 3324 clr R3
0128 322C mov R3,R2
012A 2224 clr R2
012C 30920100 sts L11+1,R3
0130 20920000 sts L11,R2
0134 .dbline 62
0134 ; adder|=getchar();
0134 76DF rcall _getchar
0136 202E mov R2,R16
0138 3324 clr R3
013A 40900000 lds R4,L11
013E 50900100 lds R5,L11+1
0142 4228 or R4,R2
0144 5328 or R5,R3
0146 50920100 sts L11+1,R5
014A 40920000 sts L11,R4
014E .dbline 63
014E ; putchar(13);
014E 0DE0 ldi R16,13
0150 64DF rcall _putchar
0152 .dbline 64
0152 ; break;
0152 64C0 rjmp L13
0154 L20:
0154 .dbline 66
0154 ; }
0154 ; case 'D':{
0154 .dbline 67
0154 ; EEPROMwrite(adder,getchar());
0154 66DF rcall _getchar
0156 202F mov R18,R16
0158 00910000 lds R16,L11
015C 10910100 lds R17,L11+1
0160 00D0 rcall _EEPROMwrite
0162 .dbline 68
0162 ; putchar(13);
0162 0DE0 ldi R16,13
0164 5ADF rcall _putchar
0166 .dbline 69
0166 ; adder++;
0166 80910000 lds R24,L11
016A 90910100 lds R25,L11+1
016E 0196 adiw R24,1
0170 90930100 sts L11+1,R25
0174 80930000 sts L11,R24
0178 .dbline 70
0178 ; break;
0178 51C0 rjmp L13
017A L21:
017A .dbline 72
017A ; }
017A ; case 'd':{
017A .dbline 73
017A ; putchar(EEPROMread(adder));
017A 00910000 lds R16,L11
017E 10910100 lds R17,L11+1
0182 00D0 rcall _EEPROMread
0184 4ADF rcall _putchar
0186 .dbline 74
0186 ; adder++;
0186 80910000 lds R24,L11
018A 90910100 lds R25,L11+1
018E 0196 adiw R24,1
0190 90930100 sts L11+1,R25
0194 80930000 sts L11,R24
0198 .dbline 75
0198 ; break;
0198 41C0 rjmp L13
019A L22:
019A .dbline 77
019A ; }
019A ; case 'L':{
019A .dbline 78
019A ; set_bit(DDRC,0);
019A A09A sbi 0x14,0
019C .dbline 79
019C ; SEI();
019C 7894 sei
019E .dbline 80
019E ; putchar(13);
019E 0DE0 ldi R16,13
01A0 3CDF rcall _putchar
01A2 .dbline 81
01A2 ; break;
01A2 3CC0 rjmp L13
01A4 L23:
01A4 .dbline 83
01A4 ; }
01A4 ; case 'T':{
01A4 .dbline 84
01A4 ; if(getchar()==0x38)
01A4 3EDF rcall _getchar
01A6 0833 cpi R16,56
01A8 19F4 brne L24
01AA .dbline 85
01AA ; putchar(13);
01AA 0DE0 ldi R16,13
01AC 36DF rcall _putchar
01AE 36C0 rjmp L13
01B0 L24:
01B0 .dbline 87
01B0 ; else
01B0 ; putchar('?');
01B0 0FE3 ldi R16,63
01B2 33DF rcall _putchar
01B4 .dbline 88
01B4 ; break;
01B4 33C0 rjmp L13
01B6 L26:
01B6 .dbline 90
01B6 ; }
01B6 ; case 'F':{
01B6 .dbline 91
01B6 ; putchar(00);
01B6 0027 clr R16
01B8 30DF rcall _putchar
01BA .dbline 92
01BA ; break;
01BA 30C0 rjmp L13
01BC L27:
01BC .dbline 94
01BC ; }
01BC ; case 's':{
01BC .dbline 95
01BC ; putchar(2);
01BC 02E0 ldi R16,2
01BE 2DDF rcall _putchar
01C0 .dbline 96
01C0 ; putchar(1);
01C0 01E0 ldi R16,1
01C2 2BDF rcall _putchar
01C4 .dbline 97
01C4 ; putchar(0);
01C4 0027 clr R16
01C6 29DF rcall _putchar
01C8 .dbline 98
01C8 ; break;
01C8 29C0 rjmp L13
01CA L28:
01CA .dbline 100
01CA ; }
01CA ; case 'S':{
01CA .dbline 101
01CA ; putchar('A');
01CA 01E4 ldi R16,65
01CC 26DF rcall _putchar
01CE .dbline 102
01CE ; putchar('V');
01CE 06E5 ldi R16,86
01D0 24DF rcall _putchar
01D2 .dbline 103
01D2 ; putchar('R');
01D2 02E5 ldi R16,82
01D4 22DF rcall _putchar
01D6 .dbline 104
01D6 ; putchar('B');
01D6 02E4 ldi R16,66
01D8 20DF rcall _putchar
01DA .dbline 105
01DA ; putchar('O');
01DA 0FE4 ldi R16,79
01DC 1EDF rcall _putchar
01DE .dbline 106
01DE ; putchar('O');
01DE 0FE4 ldi R16,79
01E0 1CDF rcall _putchar
01E2 .dbline 107
01E2 ; putchar('T');
01E2 04E5 ldi R16,84
01E4 1ADF rcall _putchar
01E6 .dbline 108
01E6 ; break;
01E6 1AC0 rjmp L13
01E8 L29:
01E8 .dbline 110
01E8 ; }
01E8 ; case 'p':{
01E8 .dbline 111
01E8 ; putchar('S');
01E8 03E5 ldi R16,83
01EA 17DF rcall _putchar
01EC .dbline 112
01EC ; break;
01EC 17C0 rjmp L13
01EE L30:
01EE .dbline 114
01EE ; }
01EE ; case 'V':{
01EE .dbline 115
01EE ; putchar('1');
01EE 01E3 ldi R16,49
01F0 14DF rcall _putchar
01F2 .dbline 116
01F2 ; putchar('0');
01F2 00E3 ldi R16,48
01F4 12DF rcall _putchar
01F6 .dbline 117
01F6 ; break;
01F6 12C0 rjmp L13
01F8 L31:
01F8 .dbline 119
01F8 ; }
01F8 ; case 'v':{
01F8 .dbline 120
01F8 ; putchar('1');
01F8 01E3 ldi R16,49
01FA 0FDF rcall _putchar
01FC .dbline 121
01FC ; putchar('0');
01FC 00E3 ldi R16,48
01FE 0DDF rcall _putchar
0200 .dbline 122
0200 ; break;
0200 0DC0 rjmp L13
0202 L32:
0202 .dbline 124
0202 ; }
0202 ; case 'x':{
0202 .dbline 125
0202 ; getchar();
0202 0FDF rcall _getchar
0204 .dbline 126
0204 ; putchar(13);
0204 0DE0 ldi R16,13
0206 09DF rcall _putchar
0208 .dbline 127
0208 ; break;
0208 09C0 rjmp L13
020A L33:
020A .dbline 129
020A ; }
020A ; case 'y':{
020A .dbline 130
020A ; getchar();
020A 0BDF rcall _getchar
020C .dbline 131
020C ; putchar(13);
020C 0DE0 ldi R16,13
020E 05DF rcall _putchar
0210 .dbline 132
0210 ; break;
0210 05C0 rjmp L13
0212 L34:
0212 .dbline 134
0212 ; }
0212 ; case 'm':{
0212 .dbline 135
0212 ; putchar(13);
0212 0DE0 ldi R16,13
0214 02DF rcall _putchar
0216 .dbline 136
0216 ; break;
0216 02C0 rjmp L13
0218 L12:
0218 .dbline 138
0218 .dbline 139
0218 0FE3 ldi R16,63
021A FFDE rcall _putchar
021C .dbline 140
021C .dbline 141
021C L13:
021C .dbline -2
021C .dbline 142
021C ; }
021C ; default:{
021C ; putchar('?');
021C ; }
021C ; }
021C ; }
021C L10:
021C 00D0 rcall pop_gset1
021E 00D0 rcall pop_lset
0220 .dbline 0 ; func end
0220 1895 reti
0222 .dbsym r val 20 c
0222 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -