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

📄 show.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01A2           ;    INT8U data[3];
 01A2           ;    INT8U redata[5];
 01A2           ;    INT8U line;
 01A2           ;    INT8U i,j;
 01A2           ;    
 01A2           ;    //数据的格式转换
 01A2           ;    p=(INT8U *)&showdata;
 01A2 AF0F              aix #15
 01A4 3500              sthx *__r0
 01A6 95                tsx
 01A7 B600              lda *__r0
 01A9 E701              sta 1,X
 01AB B600              lda *__r1
 01AD E702              sta 2,X
 01AF                   .dbline 83
 01AF           ;    data[0]=*p;
 01AF E601              lda 1,X
 01B1 EE02              ldx 2,X
 01B3 87                psha
 01B4 8A                pulh
 01B5 F6                lda ,x
 01B6 95                tsx
 01B7 E703              sta 3,X
 01B9                   .dbline 84
 01B9           ;    data[1]=*(p+1);
 01B9 E602              lda 2,X
 01BB AB01              add #1
 01BD B700              sta *__r1
 01BF E601              lda 1,X
 01C1 A900              adc #0
 01C3 B700              sta *__r0
 01C5 5500              ldhx *__r0
 01C7 F6                lda ,x
 01C8 95                tsx
 01C9 E704              sta 4,X
 01CB                   .dbline 85
 01CB           ;    data[2]=0;
 01CB 6F05              clr 5,X
 01CD                   .dbline 86
 01CD           ;    NumFormatChange(redata,data);
 01CD AF03              aix #3
 01CF 89                pshx
 01D0 8B                pshh
 01D1 95                tsx
 01D2 AF09              aix #9
 01D4 89                pshx
 01D5 8B                pshh
 01D6 CD0244            jsr _NumFormatChange
 01D9 A704              ais #4
 01DB 95                tsx
 01DC                   .dbline 88
 01DC           ;    //根据showline和lrflag把转换后的数据放入缓冲区的相应位置
 01DC           ;    if(lrflag==0)
 01DC E612              lda 18,X
 01DE 260B              bne L7
 01E0                   .dbline 89
 01E0           ;      line=(showline-1)*16;
 01E0 E611              lda 17,X
 01E2 A001              sub #1
 01E4 62                nsa
 01E5 A4F0              and #-16
 01E7 E706              sta 6,X
 01E9 200B              bra L8
 01EB           L7:
 01EB                   .dbline 91
 01EB           ;    else
 01EB           ;      line=(showline-1)*16+9;
 01EB E611              lda 17,X
 01ED A001              sub #1
 01EF 62                nsa
 01F0 A4F0              and #-16
 01F2 AB09              add #9
 01F4 E706              sta 6,X
 01F6           L8:
 01F6                   .dbline 92
 01F6           ;    for(i=0;i<5;i++)
 01F6 6F0C              clr 12,X
 01F8 2041              bra L12
 01FA           L9:
 01FA                   .dbline 93
 01FA AF07              aix #7
 01FC 3500              sthx *__r0
 01FE 95                tsx
 01FF 3F00              clr *__r2
 0201 E60C              lda 12,X
 0203 BB00              add *__r1
 0205 B700              sta *__r1
 0207 B600              lda *__r2
 0209 B900              adc *__r0
 020B B700              sta *__r0
 020D 5500              ldhx *__r0
 020F F6                lda ,x
 0210 95                tsx
 0211 B700              sta *__r1
 0213 3F00              clr *__r2
 0215 E606              lda 6,X
 0217 B700              sta *__r3
 0219 3F00              clr *__r4
 021B E60C              lda 12,X
 021D BB00              add *__r3
 021F B700              sta *__r3
 0221 B600              lda *__r4
 0223 B900              adc *__r2
 0225 B700              sta *__r2
 0227 B600              lda *__r3
 0229 EB14              add 20,X
 022B B700              sta *__r3
 022D B600              lda *__r2
 022F E913              adc 19,X
 0231 B700              sta *__r2
 0233 B600              lda *__r1
 0235 5500              ldhx *__r2
 0237 F7                sta ,x
 0238 95                tsx
 0239           L10:
 0239                   .dbline 92
 0239 6C0C              inc 12,X
 023B           L12:
 023B                   .dbline 92
 023B E60C              lda 12,X
 023D A105              cmp #5
 023F 25B9              blo L9
 0241                   .dbline -2
 0241           L4:
 0241 A70D              ais #13
 0243                   .dbline 0 ; func end
 0243 81                rts
 0244                   .dbsym l j 0 c
 0244                   .dbsym l p 1 pc
 0244                   .dbsym l data 3 A[3:3]c
 0244                   .dbsym l line 6 c
 0244                   .dbsym l redata 7 A[5:5]c
 0244                   .dbsym l i 12 c
 0244                   .dbsym l Buff 19 pc
 0244                   .dbsym l lrflag 18 c
 0244                   .dbsym l showline 17 c
 0244                   .dbsym l showdata 15 i
 0244                   .dbend
 0244                   .dbfunc e NumFormatChange _NumFormatChange fV
 0244           ;       IntDataP -> 0,X
 0244           ;              k -> 2,X
 0244           ;              j -> 3,X
 0244           ;              i -> 4,X
 0244           ;           Data -> 9,X
 0244           ;            ReP -> 7,X
 0244           _NumFormatChange::
 0244                   .dbline -1
 0244 A7FB              ais #-5
 0246 95                tsx
 0247                   .dbline 107
 0247           ;       Buff[i+line]=redata[i];
 0247           ; }
 0247           ; //NumFormatChange:数据格式转换子程序---------------------------------------*
 0247           ; //功能:将3个字节的压缩BCD码数据转换为5个字节可显示的ASCII码数据            *
 0247           ; //参数:Data[0--2]三个字节的数据:前两个字节压缩BCD码(00 00 - 99 99)        *
 0247           ; //                               第三字节为小数点位数(0-2)                 *
 0247           ; //     ReP[0--4]存放5个字节的转换结果(注意:实际是ASCII码)                  *
 0247           ; //举例:Data[0--2]:99 88 1  ->ReP[0--4]:9 9 8 . 8                         *
 0247           ; //     Data[0--2]:00 87 0  ->ReP[0--4]:      8 7                         *
 0247           ; //     Data[0--2]:02 36 2  ->ReP[0--4]:  2 . 3 6                         *
 0247           ; //返回:无                                                                  *
 0247           ; //说明:步骤4表示若有2个及以上空格就将数据居中存放 (ZY 07.04.27)            *
 0247           ; //-------------------------------------------------------------------------*
 0247           ; void NumFormatChange(INT8U *ReP,INT8U *Data)
 0247           ; { 
 0247                   .dbline 117
 0247           ;      INT8U i,j,k;           //循环控制变量
 0247           ;      INT16U * IntDataP;
 0247           ; /*     
 0247           ;      //0.处理汉字显示
 0247           ;      if(Data[2]>=200)
 0247           ;        {ReP[0]=' ';ReP[1]=Data[1];ReP[2]=' ';
 0247           ;         ReP[3]=' ';ReP[4]=' ';goto NumFormatChange_End;}
 0247           ; */     
 0247           ;      //1:得到可以显示的数据
 0247           ;      IntDataP=(INT16U *)Data;
 0247 E609              lda 9,X
 0249 F7                sta ,X
 024A E60A              lda 10,X
 024C E701              sta 1,X
 024E                   .dbline 118
 024E           ;      ReP[3]=(*IntDataP)%10+'0';
 024E F6                lda ,X
 024F EE01              ldx 1,X
 0251 87                psha
 0252 8A                pulh
 0253 E601              lda 1,x
 0255 B700              sta *__r1
 0257 F6                lda ,x
 0258 95                tsx
 0259 B700              sta *__r0
 025B 4E0000            mov *__r1,*__rlo
 025E 4E0000            mov *__r0,*__rhi
 0261 A60A              lda #10
 0263 87                psha
 0264 4F                clra
 0265 87                psha
 0266 CD0000            jsr __divmod16u
 0269 86                pula
 026A B700              sta *__r0
 026C 86                pula
 026D AB30              add #48
 026F B700              sta *__r1
 0271 B600              lda *__r0
 0273 A900              adc #0
 0275 E608              lda 8,X
 0277 AB03              add #3
 0279 B700              sta *__r3
 027B E607              lda 7,X
 027D A900              adc #0
 027F B700              sta *__r2
 0281 B600              lda *__r1
 0283 5500              ldhx *__r2
 0285 F7                sta ,x
 0286 95                tsx
 0287                   .dbline 119
 0287           ;      ReP[2]=((*IntDataP)/10)%10+'0';
 0287 F6                lda ,X
 0288 EE01              ldx 1,X
 028A 87                psha
 028B 8A                pulh
 028C E601              lda 1,x
 028E B700              sta *__r1
 0290 F6                lda ,x
 0291 95                tsx
 0292 B700              sta *__r0
 0294 4E0000            mov *__r1,*__rlo
 0297 4E0000            mov *__r0,*__rhi
 029A A60A              lda #10
 029C 87                psha
 029D 4F                clra
 029E 87                psha
 029F CD0000            jsr __divmod16u
 02A2 A702              ais #2
 02A4 4E0000            mov *__rhi,*__r0
 02A7 4E0000            mov *__rlo,*__r1
 02AA 4E0000            mov *__r1,*__rlo
 02AD 4E0000            mov *__r0,*__rhi
 02B0 A60A              lda #10
 02B2 87                psha
 02B3 4F                clra
 02B4 87                psha
 02B5 CD0000            jsr __divmod16u
 02B8 86                pula
 02B9 B700              sta *__r0
 02BB 86                pula
 02BC AB30              add #48
 02BE B700              sta *__r1
 02C0 B600              lda *__r0
 02C2 A900              adc #0
 02C4 E608              lda 8,X
 02C6 AB02              add #2
 02C8 B700              sta *__r3
 02CA E607              lda 7,X
 02CC A900              adc #0
 02CE B700              sta *__r2
 02D0 B600              lda *__r1
 02D2 5500              ldhx *__r2
 02D4 F7                sta ,x
 02D5 95                tsx
 02D6                   .dbline 120
 02D6           ;      ReP[1]=((*IntDataP)/100)%10+'0';
 02D6 F6                lda ,X
 02D7 EE01              ldx 1,X
 02D9 87                psha
 02DA 8A                pulh
 02DB E601              lda 1,x
 02DD B700              sta *__r1
 02DF F6                lda ,x
 02E0 95                tsx
 02E1 B700              sta *__r0
 02E3 4E0000            mov *__r1,*__rlo
 02E6 4E0000            mov *__r0,*__rhi
 02E9 A664              lda #100
 02EB 87                psha
 02EC 4F                clra
 02ED 87                psha
 02EE CD0000            jsr __divmod16u
 02F1 A702              ais #2
 02F3 4E0000            mov *__rhi,*__r0
 02F6 4E0000            mov *__rlo,*__r1
 02F9 4E0000            mov *__r1,*__rlo
 02FC 4E0000            mov *__r0,*__rhi
 02FF A60A              lda #10
 0301 87                psha
 0302 4F                clra
 0303 87                psha
 0304 CD0000            jsr __divmod16u
 0307 86                pula
 0308 B700              sta *__r0
 030A 86                pula
 030B AB30              add #48
 030D B700              sta *__r1
 030F B600              lda *__r0
 0311 A900              adc #0
 0313 E608              lda 8,X
 0315 AB01              add #1
 0317 B700              sta *__r3
 0319 E607              lda 7,X
 031B A900              adc #0
 031D B700              sta *__r2
 031F B600              lda *__r1
 0321 5500              ldhx *__r2
 0323 F7                sta ,x
 0324 95                tsx
 0325                   .dbline 121
 0325           ;      ReP[0]=(*IntDataP)/1000+'0';
 0325 F6                lda ,X
 0326 EE01              ldx 1,X
 0328 87                psha
 0329 8A                pulh
 032A E601              lda 1,x
 032C B700              sta *__r1
 032E F6                lda ,x
 032F 95                tsx
 0330 B700              sta *__r0
 0332 4E0000            mov *__r1,*__rlo
 0335 4E0000            mov *__r0,*__rhi
 0338 A6E8              lda #-24
 033A 87                psha
 033B A603              lda #3
 033D 87                psha
 033E CD0000            jsr __divmod16u
 0341 A702              ais #2
 0343 4E0000            mov *__rhi,*__r0
 0346 4E0000            mov *__rlo,*__r1
 0349 B600              lda *__r1
 034B AB30              add #48
 034D B700              sta *__r1
 034F B600              lda *__r0
 0351 A900              adc #0
 0353 E608              lda 8,X
 0355 B700              sta *__r3
 0357 E607              lda 7,X
 0359 B700              sta *__r2
 035B B600              lda *__r1
 035D 5500              ldhx *__r2
 035F F7                sta ,x
 0360 95                tsx
 0361                   .dbline 124
 0361           ;      
 0361           ;      //2:插入小数点
 0361           ;      if(Data[2]==1)         //有一位小数
 0361 E60A              lda 10,X
 0363 AB02              add #2
 0365 B700              sta *__r1
 0367 E609              lda 9,X
 0369 A900              adc #0
 036B B700              sta *__r0
 036D 5500              ldhx *__r0
 036F F6                lda ,x
 0370 95                tsx
 0371 A101              cmp #1
 0373 2639              bne L14
 0375                   .dbline 125
 0375           ;      {ReP[4]=ReP[3];ReP[3]='.';}
 0375                   .dbline 125
 0375 E608              lda 8,X
 0377 AB03              add #3
 0379 B700              sta *__r1
 037B E607              lda 7,X
 037D A900              adc #0
 037F B700              sta *__r0
 0381 5500              ldhx *__r0
 0383 F6                lda ,x
 0384 95                tsx
 0385 B700              sta *__r1
 0387 E608              lda 8,X
 0389 AB04              add #4
 038B B700              sta *__r3
 038D E607              lda 7,X
 038F A900              adc #0
 0391 B700              sta *__r2
 0393 B600              lda *__r1

⌨️ 快捷键说明

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