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

📄 main.lis

📁 该程序是医院用的CPCR记录仪的终端控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0262 9507              cpc R25,R21
 0264 2CF0              brlt L66
 0266           L65:
 0266 4131              cpi R20,17
 0268 E0E0              ldi R30,0
 026A 5E07              cpc R21,R30
 026C 31F0              breq L62
 026E 0AC0              xjmp L59
 0270           L66:
 0270 4333              cpi R20,51
 0272 E0E0              ldi R30,0
 0274 5E07              cpc R21,R30
 0276 29F0              breq L64
 0278 05C0              xjmp L59
 027A           X3:
 027A                   .dbline 255
 027A           ;               {
 027A           L62:
 027A                   .dbline 261
 027A           ; //                    case 0x01:
 027A           ; //                    senddata(0);
 027A           ; //                    break;
 027A           ;                       
 027A           ;                       case 0x11:
 027A           ;                       setup_curtime();                //设置模块当前时间
 027A 7FD2              xcall _setup_curtime
 027C                   .dbline 262
 027C           ;                       break;
 027C 03C0              xjmp L59
 027E           L63:
 027E                   .dbline 265
 027E           ;                       
 027E           ;                       case 0x22:                     //采集时间记录
 027E           ;                       colle_time();
 027E 68D0              xcall _colle_time
 0280                   .dbline 266
 0280           ;                       break;
 0280 01C0              xjmp L59
 0282           L64:
 0282                   .dbline 269
 0282 03D0              xcall _colle_even
 0284                   .dbline 270
 0284                   .dbline 273
 0284           L59:
 0284                   .dbline -2
 0284           L57:
 0284 0E940000          xcall pop_gset1
 0288                   .dbline 0 ; func end
 0288 0895              ret
 028A                   .dbend
 028A                   .dbfunc e colle_even _colle_even fV
 028A           ;              i -> R20
                        .even
 028A           _colle_even::
 028A 0E940000          xcall push_gset1
 028E                   .dbline -1
 028E                   .dbline 277
 028E           ;                       
 028E           ;                       case 0x33:                      //采集事件记录
 028E           ;                       colle_even();
 028E           ;                       break;
 028E           ;                       
 028E           ;                       default:
 028E           ;                       break;
 028E           ;               }
 028E           ; }
 028E           ; void colle_even(void)
 028E           ; {
 028E                   .dbline 279
 028E           ;        unsigned char i;
 028E           ;        for(i=0;i<12;i++)
 028E 4427              clr R20
 0290 0EC0              xjmp L71
 0292           L68:
 0292                   .dbline 280
 0292 042F              mov R16,R20
 0294 1127              clr R17
 0296 0050              subi R16,0  ; offset = 512
 0298 1E4F              sbci R17,254
 029A 0E940000          xcall _EEPROMread
 029E 80E0              ldi R24,<_even_data
 02A0 90E0              ldi R25,>_even_data
 02A2 E42F              mov R30,R20
 02A4 FF27              clr R31
 02A6 E80F              add R30,R24
 02A8 F91F              adc R31,R25
 02AA 0083              std z+0,R16
 02AC           L69:
 02AC                   .dbline 279
 02AC 4395              inc R20
 02AE           L71:
 02AE                   .dbline 279
 02AE 4C30              cpi R20,12
 02B0 80F3              brlo L68
 02B2                   .dbline 281
 02B2           ;        even_data[i]=EEPROMread(0x200+i);
 02B2           ;        send_even();
 02B2 05D0              xcall _send_even
 02B4                   .dbline 282
 02B4           ;        beep(2);
 02B4 02E0              ldi R16,2
 02B6 B6DF              xcall _beep
 02B8                   .dbline -2
 02B8           L67:
 02B8 0E940000          xcall pop_gset1
 02BC                   .dbline 0 ; func end
 02BC 0895              ret
 02BE                   .dbsym r i 20 c
 02BE                   .dbend
 02BE                   .dbfunc e send_even _send_even fV
 02BE           ;              i -> R20,R21
                        .even
 02BE           _send_even::
 02BE 0E940000          xcall push_gset1
 02C2                   .dbline -1
 02C2                   .dbline 286
 02C2           ;        
 02C2           ; }
 02C2           ; void send_even(void)
 02C2           ; {
 02C2                   .dbline 288
 02C2           ;       unsigned int i;
 02C2           ;       SET_LIGHT();
 02C2 BE98              cbi 0x17,6
 02C4                   .dbline 289
 02C4           ;       TX_BUF0[0]=0x33;
 02C4 83E3              ldi R24,51
 02C6 80931400          sts _TX_BUF0,R24
 02CA                   .dbline 290
 02CA           ;       TX_BUF0[1]=15;
 02CA 8FE0              ldi R24,15
 02CC 80931500          sts _TX_BUF0+1,R24
 02D0                   .dbline 291
 02D0           ;       TX_BUF0[2]=even_data[0];
 02D0 2090FB00          lds R2,_even_data
 02D4 20921600          sts _TX_BUF0+2,R2
 02D8                   .dbline 292
 02D8           ;       TX_BUF0[3]=even_data[1];
 02D8 2090FC00          lds R2,_even_data+1
 02DC 20921700          sts _TX_BUF0+3,R2
 02E0                   .dbline 293
 02E0           ;       TX_BUF0[4]=even_data[2];
 02E0 2090FD00          lds R2,_even_data+2
 02E4 20921800          sts _TX_BUF0+4,R2
 02E8                   .dbline 294
 02E8           ;       TX_BUF0[5]=even_data[3];
 02E8 2090FE00          lds R2,_even_data+3
 02EC 20921900          sts _TX_BUF0+5,R2
 02F0                   .dbline 295
 02F0           ;       TX_BUF0[6]=even_data[4];
 02F0 2090FF00          lds R2,_even_data+4
 02F4 20921A00          sts _TX_BUF0+6,R2
 02F8                   .dbline 296
 02F8           ;       TX_BUF0[7]=even_data[5];
 02F8 20900001          lds R2,_even_data+5
 02FC 20921B00          sts _TX_BUF0+7,R2
 0300                   .dbline 297
 0300           ;       TX_BUF0[8]=even_data[6];
 0300 20900101          lds R2,_even_data+6
 0304 20921C00          sts _TX_BUF0+8,R2
 0308                   .dbline 298
 0308           ;       TX_BUF0[9]=even_data[7];
 0308 20900201          lds R2,_even_data+7
 030C 20921D00          sts _TX_BUF0+9,R2
 0310                   .dbline 299
 0310           ;       TX_BUF0[10]=even_data[8];
 0310 20900301          lds R2,_even_data+8
 0314 20921E00          sts _TX_BUF0+10,R2
 0318                   .dbline 300
 0318           ;       TX_BUF0[11]=even_data[9];
 0318 20900401          lds R2,_even_data+9
 031C 20921F00          sts _TX_BUF0+11,R2
 0320                   .dbline 301
 0320           ;       TX_BUF0[12]=even_data[10];
 0320 20900501          lds R2,_even_data+10
 0324 20922000          sts _TX_BUF0+12,R2
 0328                   .dbline 303
 0328           ;       
 0328           ;       TX_BUF0[13]=0x03;
 0328 83E0              ldi R24,3
 032A 80932100          sts _TX_BUF0+13,R24
 032E                   .dbline 304
 032E           ;       TransmitByte0(TX_BUF0,14);
 032E 2EE0              ldi R18,14
 0330 00E0              ldi R16,<_TX_BUF0
 0332 10E0              ldi R17,>_TX_BUF0
 0334 BDDE              xcall _TransmitByte0
 0336                   .dbline 305
 0336 4427              clr R20
 0338 5527              clr R21
 033A 02C0              xjmp L99
 033C           L96:
 033C                   .dbline 305
 033C           L97:
 033C                   .dbline 305
 033C 4F5F              subi R20,255  ; offset = 1
 033E 5F4F              sbci R21,255
 0340           L99:
 0340                   .dbline 305
 0340           ;       for(i=0;i<3800;i++);
 0340 483D              cpi R20,216
 0342 EEE0              ldi R30,14
 0344 5E07              cpc R21,R30
 0346 D0F3              brlo L96
 0348                   .dbline 306
 0348           ;       CLEAR_LIGHT();
 0348 BE9A              sbi 0x17,6
 034A                   .dbline -2
 034A           L72:
 034A 0E940000          xcall pop_gset1
 034E                   .dbline 0 ; func end
 034E 0895              ret
 0350                   .dbsym r i 20 i
 0350                   .dbend
 0350                   .dbfunc e colle_time _colle_time fV
 0350           ;              i -> R20,R21
                        .even
 0350           _colle_time::
 0350 0E940000          xcall push_gset1
 0354                   .dbline -1
 0354                   .dbline 309
 0354           ; }
 0354           ; void colle_time(void)
 0354           ; {
 0354                   .dbline 312
 0354           ;       unsigned int i;
 0354           ;       
 0354           ;       TX_BUF0[0]=0x22;
 0354 82E2              ldi R24,34
 0356 80931400          sts _TX_BUF0,R24
 035A                   .dbline 313
 035A           ;       TX_BUF0[1]=88;
 035A 88E5              ldi R24,88
 035C 80931500          sts _TX_BUF0+1,R24
 0360                   .dbline 314
 0360           ;       TX_BUF0[2]=EEPROMread(1*16+0);
 0360 00E1              ldi R16,16
 0362 10E0              ldi R17,0
 0364 0E940000          xcall _EEPROMread
 0368 00931600          sts _TX_BUF0+2,R16
 036C                   .dbline 315
 036C           ;       TX_BUF0[3]=EEPROMread(1*16+1);
 036C 01E1              ldi R16,17
 036E 10E0              ldi R17,0
 0370 0E940000          xcall _EEPROMread
 0374 00931700          sts _TX_BUF0+3,R16
 0378                   .dbline 316
 0378           ;       TX_BUF0[4]=EEPROMread(1*16+2);
 0378 02E1              ldi R16,18
 037A 10E0              ldi R17,0
 037C 0E940000          xcall _EEPROMread
 0380 00931800          sts _TX_BUF0+4,R16
 0384                   .dbline 317
 0384           ;       TX_BUF0[5]=EEPROMread(1*16+3);
 0384 03E1              ldi R16,19
 0386 10E0              ldi R17,0
 0388 0E940000          xcall _EEPROMread
 038C 00931900          sts _TX_BUF0+5,R16
 0390                   .dbline 318
 0390           ;       TX_BUF0[6]=EEPROMread(1*16+4);
 0390 04E1              ldi R16,20
 0392 10E0              ldi R17,0
 0394 0E940000          xcall _EEPROMread
 0398 00931A00          sts _TX_BUF0+6,R16
 039C                   .dbline 319
 039C           ;       TX_BUF0[7]=EEPROMread(1*16+5);
 039C 05E1              ldi R16,21
 039E 10E0              ldi R17,0
 03A0 0E940000          xcall _EEPROMread
 03A4 00931B00          sts _TX_BUF0+7,R16
 03A8                   .dbline 320
 03A8           ;       TX_BUF0[8]=EEPROMread(1*16+6);
 03A8 06E1              ldi R16,22
 03AA 10E0              ldi R17,0
 03AC 0E940000          xcall _EEPROMread
 03B0 00931C00          sts _TX_BUF0+8,R16
 03B4                   .dbline 322
 03B4           ;       
 03B4           ;       TX_BUF0[9]=EEPROMread(2*16+0);
 03B4 00E2              ldi R16,32
 03B6 10E0              ldi R17,0
 03B8 0E940000          xcall _EEPROMread
 03BC 00931D00          sts _TX_BUF0+9,R16
 03C0                   .dbline 323
 03C0           ;       TX_BUF0[10]=EEPROMread(2*16+1);
 03C0 01E2              ldi R16,33
 03C2 10E0              ldi R17,0
 03C4 0E940000          xcall _EEPROMread
 03C8 00931E00          sts _TX_BUF0+10,R16
 03CC                   .dbline 324
 03CC           ;       TX_BUF0[11]=EEPROMread(2*16+2);
 03CC 02E2              ldi R16,34
 03CE 10E0              ldi R17,0
 03D0 0E940000          xcall _EEPROMread
 03D4 00931F00          sts _TX_BUF0+11,R16
 03D8                   .dbline 325
 03D8           ;       TX_BUF0[12]=EEPROMread(2*16+3);
 03D8 03E2              ldi R16,35
 03DA 10E0              ldi R17,0
 03DC 0E940000          xcall _EEPROMread
 03E0 00932000          sts _TX_BUF0+12,R16
 03E4                   .dbline 326
 03E4           ;       TX_BUF0[13]=EEPROMread(2*16+4);
 03E4 04E2              ldi R16,36
 03E6 10E0              ldi R17,0
 03E8 0E940000          xcall _EEPROMread
 03EC 00932100          sts _TX_BUF0+13,R16
 03F0                   .dbline 327
 03F0           ;       TX_BUF0[14]=EEPROMread(2*16+5);
 03F0 05E2              ldi R16,37
 03F2 10E0              ldi R17,0
 03F4 0E940000          xcall _EEPROMread
 03F8 00932200          sts _TX_BUF0+14,R16
 03FC                   .dbline 328
 03FC           ;       TX_BUF0[15]=EEPROMread(2*16+6);
 03FC 06E2              ldi R16,38
 03FE 10E0              ldi R17,0
 0400 0E940000          xcall _EEPROMread
 0404 00932300          sts _TX_BUF0+15,R16
 0408                   .dbline 330
 0408           ;       
 0408           ;       TX_BUF0[16]=EEPROMread(3*16+0);
 0408 00E3              ldi R16,48
 040A 10E0              ldi R17,0

⌨️ 快捷键说明

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