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

📄 main.lis

📁 测量脉搏的源码 Cypress公司使用 CY27443 完成相关的功能
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0004           ; {
 0004           ;   INT last, min, max;
 0004           ;   BYTE gain, swing, flags;
 0004           ; } TPULSE_STATE;
 0004           ; 
 0004           ; static INT temp;
 0004           ; static TPULSE_STATE pulse;
 0004           ; 
 0004           ; BYTE *strfrm(WORD value, WORD max_val, BYTE *dest)
 0004           ; {
 0004                   .dbline 63
 0004           ;   BYTE *ps = dest;
 0004 52F8              mov A,[X-8]
 0006 5401              mov [X+1],A
 0008 52F7              mov A,[X-9]
 000A 5400              mov [X+0],A
 000C                   .dbline 64
 000C           ;   if (value > max_val) value = max_val;
 000C 52FB              mov A,[X-5]
 000E 3BF9              cmp A,[X-7]
 0010 B007              jnz X1
 0012 52FC              mov A,[X-4]
 0014 3BFA              cmp A,[X-6]
 0016 A00B              jz L4
 0018           X1:
 0018 C009              jc L4
 001A           X0:
 001A                   .dbline 64
 001A 52FA              mov A,[X-6]
 001C 54FC              mov [X-4],A
 001E 52F9              mov A,[X-7]
 0020 54FB              mov [X-5],A
 0022           L4:
 0022                   .dbline 65
 0022           ;   itoa(dest, value,10);
 0022 5000              mov A,0
 0024 08                push A
 0025 500A              mov A,10
 0027 08                push A
 0028 52FB              mov A,[X-5]
 002A 08                push A
 002B 52FC              mov A,[X-4]
 002D 08                push A
 002E 52F7              mov A,[X-9]
 0030 08                push A
 0031 52F8              mov A,[X-8]
 0033 08                push A
 0034 7C0000            xcall _itoa
 0037 38FA              add SP,-6
 0039 8006              xjmp L7
 003B           L6:
 003B                   .dbline 67
 003B 7701              inc [X+1]
 003D 0F0000            adc [X+0],0
 0040           L7:
 0040                   .dbline 67
 0040           ;   
 0040           ;   while (*ps) ps++;
 0040 5201              mov A,[X+1]
 0042 5300              mov [__r1],A
 0044 3E00              mvi A,[__r1]
 0046 BFF4              jnz L6
 0048 8019              xjmp L10
 004A           L9:
 004A                   .dbline 68
 004A 5201              mov A,[X+1]
 004C 5300              mov [__r1],A
 004E 5200              mov A,[X+0]
 0050 5300              mov [__r0],A
 0052 5100              mov A,[__r1]
 0054 0101              add A,1
 0056 5401              mov [X+1],A
 0058 5100              mov A,[__r0]
 005A 0900              adc A,0
 005C 5400              mov [X+0],A
 005E 5020              mov A,32
 0060 3F00              mvi [__r1],A
 0062           L10:
 0062                   .dbline 68
 0062           ;   while (ps < (dest + CONV_BUFFER_LENGHT - 1)) *ps++ = ' ';
 0062 52F8              mov A,[X-8]
 0064 0104              add A,4
 0066 5300              mov [__r1],A
 0068 52F7              mov A,[X-9]
 006A 0900              adc A,0
 006C 5300              mov [__r0],A
 006E 5200              mov A,[X+0]
 0070 3A00              cmp A,[__r0]
 0072 B007              jnz X3
 0074 5201              mov A,[X+1]
 0076 3A00              cmp A,[__r1]
 0078 A003              jz X2
 007A           X3:
 007A CFCF              jc L9
 007C           X2:
 007C                   .dbline 69
 007C           ;   *ps = 0;
 007C 5201              mov A,[X+1]
 007E 5300              mov [__r1],A
 0080 5000              mov A,0
 0082 3F00              mvi [__r1],A
 0084                   .dbline 71
 0084           ; 
 0084           ;   return dest;
 0084 52F8              mov A,[X-8]
 0086 5300              mov [__r1],A
 0088 52F7              mov A,[X-9]
 008A 5300              mov [__r0],A
 008C                   .dbline -2
 008C           L3:
 008C 38FE              add SP,-2
 008E 20                pop X
 008F                   .dbline 0 ; func end
 008F 7F                ret
 0090                   .dbsym l ps 0 pc
 0090                   .dbsym l dest -9 pc
 0090                   .dbsym l max_val -7 i
 0090                   .dbsym l value -5 i
 0090                   .dbend
 0090                   .dbfunc e LCDUpdate _LCDUpdate fV
 0090           ;         buffer -> X+0
 0090           ;         params -> X-5
 0090           _LCDUpdate::
 0090                   .dbline -1
 0090 10                push X
 0091 4F                mov X,SP
 0092 3805              add SP,5
 0094                   .dbline 75
 0094           ; }
 0094           ; 
 0094           ; void LCDUpdate(TPULSE_STATE *params)
 0094           ; {
 0094                   .dbline 79
 0094           ;   BYTE buffer[CONV_BUFFER_LENGHT];
 0094           ; 
 0094           ;   
 0094           ;   if (CHECKBIT(params->flags, FLAG_INIT_BIT))
 0094 52FC              mov A,[X-4]
 0096 0108              add A,8
 0098 5300              mov [__r1],A
 009A 52FB              mov A,[X-5]
 009C 0900              adc A,0
 009E 3E00              mvi A,[__r1]
 00A0 5300              mov [__r0],A
 00A2 470002            tst [__r0],2
 00A5 A09F              jz L13
 00A7                   .dbline 80
 00A7           ;   {
 00A7                   .dbline 81
 00A7           ;     LcdInit();
 00A7 7C0000            xcall _LcdInit
 00AA                   .dbline 83
 00AA           ;   
 00AA           ;     LcdGoto(0, POS_LAST_ROW);           LcdCStr(INFO_LAST_TEXT);
 00AA 5000              mov A,0
 00AC 08                push A
 00AD 08                push A
 00AE 7C0000            xcall _LcdGoto
 00B1 38FE              add SP,-2
 00B3                   .dbline 83
 00B3 5000              mov A,>L15
 00B5 08                push A
 00B6 5000              mov A,<L15
 00B8 08                push A
 00B9 7C0000            xcall _LcdCStr
 00BC                   .dbline 84
 00BC           ;     LcdGoto(0, POS_MIN_ROW);            LcdCStr(INFO_MIN_TEXT);
 00BC 5001              mov A,1
 00BE 08                push A
 00BF 5000              mov A,0
 00C1 08                push A
 00C2 7C0000            xcall _LcdGoto
 00C5 38FC              add SP,-4
 00C7                   .dbline 84
 00C7 50FA              mov A,>L16
 00C9 08                push A
 00CA 50FA              mov A,<L16
 00CC 08                push A
 00CD 7C0000            xcall _LcdCStr
 00D0                   .dbline 85
 00D0           ;     LcdGoto(0, POS_MAX_ROW);            LcdCStr(INFO_MAX_TEXT);
 00D0 5002              mov A,2
 00D2 08                push A
 00D3 5000              mov A,0
 00D5 08                push A
 00D6 7C0000            xcall _LcdGoto
 00D9 38FC              add SP,-4
 00DB                   .dbline 85
 00DB 50F4              mov A,>L17
 00DD 08                push A
 00DE 50F4              mov A,<L17
 00E0 08                push A
 00E1 7C0000            xcall _LcdCStr
 00E4                   .dbline 86
 00E4           ;     LcdGoto(0, POS_MODE_ROW);           LcdCStr(INFO_MODE_TEXT);
 00E4 5003              mov A,3
 00E6 08                push A
 00E7 5000              mov A,0
 00E9 08                push A
 00EA 7C0000            xcall _LcdGoto
 00ED 38FC              add SP,-4
 00EF                   .dbline 86
 00EF 50EE              mov A,>L18
 00F1 08                push A
 00F2 50EE              mov A,<L18
 00F4 08                push A
 00F5 7C0000            xcall _LcdCStr
 00F8                   .dbline 87
 00F8           ;     LcdGoto(0, POS_GAIN_ROW);           LcdCStr(INFO_GAIN_TEXT);
 00F8 5004              mov A,4
 00FA 08                push A
 00FB 5000              mov A,0
 00FD 08                push A
 00FE 7C0000            xcall _LcdGoto
 0101 38FC              add SP,-4
 0103                   .dbline 87
 0103 50E8              mov A,>L19
 0105 08                push A
 0106 50E8              mov A,<L19
 0108 08                push A
 0109 7C0000            xcall _LcdCStr
 010C                   .dbline 88
 010C           ;     LcdGoto(0, POS_STATUS_ROW);   LcdCStr(INFO_STATUS_TEXT);
 010C 5005              mov A,5
 010E 08                push A
 010F 5000              mov A,0
 0111 08                push A
 0112 7C0000            xcall _LcdGoto
 0115 38FC              add SP,-4
 0117                   .dbline 88
 0117 50E2              mov A,>L20
 0119 08                push A
 011A 50E2              mov A,<L20
 011C 08                push A
 011D 7C0000            xcall _LcdCStr
 0120                   .dbline 90
 0120           ;     
 0120           ;     LcdVBargraph(POS_BARGRAPH, POS_BARGRAPH_START, POS_BARGRAPH_STOP, 0);
 0120 5000              mov A,0
 0122 08                push A
 0123 5005              mov A,5
 0125 08                push A
 0126 5000              mov A,0
 0128 08                push A
 0129 504B              mov A,75
 012B 08                push A
 012C 7C0000            xcall _LcdVBargraph
 012F 38FA              add SP,-6
 0131                   .dbline 92
 0131           ;       
 0131           ;     CLEARBIT(params->flags, FLAG_INIT_BIT);
 0131 52FC              mov A,[X-4]
 0133 0108              add A,8
 0135 5300              mov [__r1],A
 0137 52FB              mov A,[X-5]
 0139 0900              adc A,0
 013B 5300              mov [__r0],A
 013D 3E00              mvi A,[__r1]
 013F 7A00              dec [__r1]
 0141 21FD              and A,-3
 0143 3F00              mvi [__r1],A
 0145                   .dbline 93
 0145           ;   }
 0145           L13:
 0145                   .dbline 95
 0145           ;    
 0145           ;   LcdGoto(POS_DATA_COL, POS_LAST_ROW); 
 0145 5000              mov A,0
 0147 08                push A
 0148 5023              mov A,35
 014A 08                push A
 014B 7C0000            xcall _LcdGoto
 014E 38FE              add SP,-2
 0150                   .dbline 96
 0150 52FC              mov A,[X-4]
 0152 5300              mov [__r1],A
 0154 3E00              mvi A,[__r1]
 0156 5300              mov [__r0],A
 0158 3E00              mvi A,[__r1]
 015A 3C0000            cmp [__r0],0
 015D B005              jnz X4
 015F 3900              cmp A,0
 0161 A02C              jz L21
 0163           X4:
 0163                   .dbline 96
 0163 5100              mov A,[__r0]
 0165 08                push A
 0166 10                push X
 0167 5003              mov A,3
 0169 08                push A
 016A 50E7              mov A,-25
 016C 08                push A
 016D 52FC              mov A,[X-4]
 016F 5300              mov [__r1],A
 0171 3E00              mvi A,[__r1]
 0173 5300              mov [__r0],A
 0175 3E00              mvi A,[__r1]
 0177 5300              mov [__r1],A
 0179 5100              mov A,[__r0]
 017B 08                push A
 017C 5100              mov A,[__r1]
 017E 08                push A
 017F 9E7F              xcall _strfrm
 0181 5100              mov A,[__r0]
 0183 08                push A
 0184 5100              mov A,[__r1]
 0186 08                push A
 0187 7C0000            xcall _LcdStr
 018A 38F8              add SP,-8
 018C 800C              xjmp L22
 018E           L21:
 018E                   .dbline 96
 018E           ;   if (params->last) LcdStr(strfrm(params->last, MAX_VALUE, buffer)); else LcdCStr(INFO_BLANK_NUMBER);
 018E 50DD              mov A,>L23
 0190 08                push A
 0191 50DD              mov A,<L23
 0193 08                push A
 0194 7C0000            xcall _LcdCStr
 0197 38FE              add SP,-2
 0199           L22:
 0199                   .dbline 98
 0199           ;   
 0199           ;   LcdGoto(POS_DATA_COL, POS_MIN_ROW); 
 0199 5001              mov A,1
 019B 08                push A
 019C 5023              mov A,35
 019E 08                push A
 019F 7C0000            xcall _LcdGoto
 01A2 38FE              add SP,-2
 01A4                   .dbline 99
 01A4 52FC              mov A,[X-4]
 01A6 0102              add A,2
 01A8 5300              mov [__r1],A
 01AA 52FB              mov A,[X-5]
 01AC 0900              adc A,0
 01AE 3E00              mvi A,[__r1]
 01B0 5300              mov [__r0],A
 01B2 3E00              mvi A,[__r1]
 01B4 3C0000            cmp [__r0],0
 01B7 B005              jnz X5
 01B9 3900              cmp A,0
 01BB A032              jz L24
 01BD           X5:
 01BD                   .dbline 99

⌨️ 快捷键说明

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