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

📄 ui_scroll.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
    119                  code = *(int *)str_pt;
   \   00EB  46                LD      B,(HL)
   \   00EC  23                INC     HL
   \   00ED  66                LD      H,(HL)
   \   00EE  68                LD      L,B
   \   00EF  E5                PUSH    HL
   \   00F0  FDE1              POP     IY
    120                  kregion.width = 16 - scroll_cnt;     
   \   00F2  3A0000            LD      A,(scroll_cnt)
   \   00F5  47                LD      B,A
   \   00F6  3E10              LD      A,16
   \   00F8  90                SUB     B
   \   00F9  DD77F6            LD      (IX-10),A
    121                  tmpstrpt++;
   \   00FC  DD34FA            INC     (IX-6)
   \   00FF  2015              JR      NZ,?0031
   \   0101            ?0070:
   \   0101  DD34FB            INC     (IX-5)
    122              }
    123              else
   \   0104  1810              JR      ?0031
   \   0106            ?0030:
    124              {//ASCII
    125                  code = *str_pt;
   \   0106  4E                LD      C,(HL)
   \   0107  0600              LD      B,0
   \   0109  C5                PUSH    BC
   \   010A  FDE1              POP     IY
    126                  kregion.width = 8 - scroll_cnt; 
   \   010C  3A0000            LD      A,(scroll_cnt)
   \   010F  47                LD      B,A
   \   0110  3E08              LD      A,8
   \   0112  90                SUB     B
   \   0113  DD77F6            LD      (IX-10),A
   \   0116            ?0031:
   \   0116            ?0028:
   \   0116            ?0022:
    127              }
    128              
    129              tmpstrpt++;
   \   0116  DD34FA            INC     (IX-6)
   \   0119  2003              JR      NZ,?0066
   \   011B  DD34FB            INC     (IX-5)
   \   011E            ?0066:
    130              
    131              kregion.x = scrollregionx_def;
   \   011E  DD36F430          LD      (IX-12),48
    132              kregion.y = scrollregiony_def;
   \   0122  DD36F52D          LD      (IX-11),45
    133              kregion.height = scrollregionh_def;    
   \   0126  DD36F710          LD      (IX-9),16
    134              
    135              if(!CharOutRect(code, *(str_pt+1), &kregion, scroll_cnt))
   \   012A  48                LD      C,B
   \   012B  C5                PUSH    BC
   \   012C  210200            LD      HL,2
   \   012F  39                ADD     HL,SP
   \   0130  E5                PUSH    HL
   \   0131  2A0000            LD      HL,(str_pt)
   \   0134  23                INC     HL
   \   0135  4E                LD      C,(HL)
   \   0136  0600              LD      B,0
   \   0138  FDE5              PUSH    IY
   \   013A  D1                POP     DE
   \   013B  CD0000            CALL    LWRD CharOutRect
   \   013E  E1                POP     HL
   \   013F  E1                POP     HL
   \   0140  B7                OR      A
   \   0141  200E              JR      NZ,?0033
   \   0143            ?0032:
    136              {
    137                  str_pt = tmpstrpt;
   \   0143  DD6EFA            LD      L,(IX-6)
   \   0146  DD66FB            LD      H,(IX-5)
   \   0149  220000            LD      (str_pt),HL
    138                  scroll_cnt = 0;
   \   014C  320000            LD      (scroll_cnt),A
    139              }
    140              else
   \   014F  1874              JR      ?0034
   \   0151            ?0033:
    141              {
    142                    if(language == 14)
   \   0151  DD7EFE            LD      A,(IX-2)
   \   0154  FE0E              CP      14
   \   0156  2069              JR      NZ,?0037
   \   0158            ?0035:
    143                    {
    144                          tmpstrpt1 = str_pt;
   \   0158  2A0000            LD      HL,(str_pt)
   \   015B  DD75F8            LD      (IX-8),L
   \   015E  DD74F9            LD      (IX-7),H
   \   0161            ?0038:
    145                          while(1)
    146                          {
    147                                  tmpstrpt1 ++;
   \   0161  DD34F8            INC     (IX-8)
   \   0164  2003              JR      NZ,?0067
   \   0166  DD34F9            INC     (IX-7)
   \   0169            ?0067:
    148                                  if(code == 0xd1 || (code >=0xd4 && code<0xdb) ||(code >=0xe7 && code<0xef))
   \   0169  FDE5              PUSH    IY
   \   016B  E1                POP     HL
   \   016C  3ED1              LD      A,209
   \   016E  AD                XOR     L
   \   016F  B4                OR      H
   \   0170  2831              JR      Z,?0047
   \   0172  01D480            LD      BC,32980
   \   0175  78                LD      A,B
   \   0176  AC                XOR     H
   \   0177  67                LD      H,A
   \   0178  ED42              SBC     HL,BC
   \   017A  380D              JR      C,?0045
   \   017C  01DB80            LD      BC,32987
   \   017F  FDE5              PUSH    IY
   \   0181  E1                POP     HL
   \   0182  78                LD      A,B
   \   0183  AC                XOR     H
   \   0184  67                LD      H,A
   \   0185  ED42              SBC     HL,BC
   \   0187  381A              JR      C,?0047
   \   0189            ?0045:
   \   0189            ?0044:
   \   0189  01E780            LD      BC,32999
   \   018C  FDE5              PUSH    IY
   \   018E  E1                POP     HL
   \   018F  78                LD      A,B
   \   0190  AC                XOR     H
   \   0191  67                LD      H,A
   \   0192  ED42              SBC     HL,BC
   \   0194  382B              JR      C,?0037
   \   0196  01EF80            LD      BC,33007
   \   0199  FDE5              PUSH    IY
   \   019B  E1                POP     HL
   \   019C  78                LD      A,B
   \   019D  AC                XOR     H
   \   019E  67                LD      H,A
   \   019F  ED42              SBC     HL,BC
   \   01A1  301E              JR      NC,?0037
   \   01A3            ?0047:
   \   01A3            ?0046:
   \   01A3            ?0042:
   \   01A3            ?0043:
   \   01A3            ?0040:
    149                                          CharOutRect(*tmpstrpt1, *(tmpstrpt1+1), &kregion, scroll_cnt);
   \   01A3  3A0000            LD      A,(scroll_cnt)
   \   01A6  4F                LD      C,A
   \   01A7  C5                PUSH    BC
   \   01A8  210200            LD      HL,2
   \   01AB  39                ADD     HL,SP
   \   01AC  E5                PUSH    HL
   \   01AD  DD6EF8            LD      L,(IX-8)
   \   01B0  DD66F9            LD      H,(IX-7)
   \   01B3  23                INC     HL
   \   01B4  4E                LD      C,(HL)
   \   01B5  0600              LD      B,0
   \   01B7  50                LD      D,B
   \   01B8  2B                DEC     HL
   \   01B9  5E                LD      E,(HL)
   \   01BA  CD0000            CALL    LWRD CharOutRect
   \   01BD  E1                POP     HL
   \   01BE  E1                POP     HL
    150                                  else    break;
   \   01BF  18A0              JR      ?0038
   \   01C1            ?0041:
   \   01C1            ?0048:
    151                          }
    152                    }
   \   01C1            ?0037:
   \   01C1            ?0036:
    153                          
    154                          scroll_cnt++;
   \   01C1  210000            LD      HL,scroll_cnt
   \   01C4  34                INC     (HL)
   \   01C5            ?0034:
    155              }
    156              
    157              SetTextPos(kregion.width+kregion.x, scrollregiony_def);
   \   01C5  0E2D              LD      C,45
   \   01C7  DD7EF4            LD      A,(IX-12)
   \   01CA  DD86F6            ADD     A,(IX-10)
   \   01CD  5F                LD      E,A
   \   01CE  CD0000            CALL    LWRD SetTextPos
    158              tmpstrpt1 = PutS(tmpstrpt, -1);
   \   01D1  0EFF              LD      C,255
   \   01D3  DD5EFA            LD      E,(IX-6)
   \   01D6  DD56FB            LD      D,(IX-5)
   \   01D9  CD0000            CALL    LWRD PutS
   \   01DC  DD75F8            LD      (IX-8),L
   \   01DF  DD74F9            LD      (IX-7),H
    159              
    160              if (GetOutPutErr() == RESULT_PUTCHAR_X_ERR)
   \   01E2  CD0000            CALL    LWRD GetOutPutErr
   \   01E5  3D                DEC     A
   \   01E6  2824              JR      Z,?0069
   \   01E8            ?0049:
    161              {//x超限
    162          
    163                  GetTextPos(&kregion.x, &kregion.y);
    164          
    165                  kregion.width = scrollregionw_def+scrollregionx_def - kregion.x;
    166                  kregion.height = scrollregionh_def;
    167          
    168                                          code = ReadCode(tmpstrpt1,language);
    169          
    170                  //输出最后一个字
    171                  CharOutRect(code, *(tmpstrpt1+1), &kregion, 0);
    172                  /*
    173                  result = CharOutRect(code, *(tmpstrpt1+1), &kregion, 0);
    174                  if (!result)
    175                  {
    176                      ///-return;
    177                  }
    178                  */
    179              }
    180              else
   \   01E8            ?0050:
    181              {
    182                  GetTextPos(&kregion.x, &kregion.y);
   \   01E8  210000            LD      HL,0
   \   01EB  39                ADD     HL,SP
   \   01EC  010100            LD      BC,1
   \   01EF  09                ADD     HL,BC
   \   01F0  4D                LD      C,L
   \   01F1  44                LD      B,H
   \   01F2  2B                DEC     HL
   \   01F3  EB                EX      DE,HL
   \   01F4  CD0000            CALL    LWRD GetTextPos
    183                  tmpstrpt1 = PutS(strhead_pt, -1);
   \   01F7  0EFF              LD      C,255
   \   01F9  ED5B0000          LD      DE,(strhead_pt)
   \   01FD  CD0000            CALL    LWRD PutS
   \   0200  DD75F8            LD      (IX-8),L
   \   0203  DD74F9            LD      (IX-7),H
    184                  if (GetOutPutErr() == RESULT_PUTCHAR_X_ERR)
   \   0206  CD0000            CALL    LWRD GetOutPutErr
   \   0209  3D                DEC     A
   \   020A  2049              JR      NZ,?0053
   \   020C            ?0052:
    185                  {//x超限
    186                      
    187                      GetTextPos(&kregion.x, &kregion.y);
   \   020C            ?0069:
   \   020C  210000            LD      HL,0
   \   020F  39                ADD     HL,SP
   \   0210  010100            LD      BC,1
   \   0213  09                ADD     HL,BC
   \   0214  4D                LD      C,L
   \   0215  44                LD      B,H
   \   0216  2B                DEC     HL
   \   0217  EB                EX      DE,HL
   \   0218  CD0000            CALL    LWRD GetTextPos
    188                      
    189                      kregion.width = scrollregionw_def+scrollregionx_def - kregion.x;
   \   021B  3EB0              LD      A,176
   \   021D  DD96F4            SUB     (IX-12)
   \   0220  DD77F6            LD      (IX-10),A
    190                      kregion.height = scrollregionh_def;
   \   0223  DD36F710          LD      (IX-9),16
    191                      //汉字和ASCII的不同处理
    192                                          
    193                                          code = ReadCode(tmpstrpt1,language);
   \   0227  DD4EFE            LD      C,(IX-2)
   \   022A  DD5EF8            LD      E,(IX-8)
   \   022D  DD56F9            LD      D,(IX-7)
   \   0230  3E00              LD      A,BYTE3 ReadCode
   \   0232  214F00            LD      HL,LWRD ReadCode
   \   0235  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0238  E5                PUSH    HL
   \   0239  FDE1              POP     IY
    194                                          
    195                      //输出最后一个字
    196                      CharOutRect(code, *(tmpstrpt1+1), &kregion, 0);
   \   023B  0E00              LD      C,0
   \   023D  C5                PUSH    BC
   \   023E  210200            LD      HL,2
   \   0241  39                ADD     HL,SP
   \   0242  E5                PUSH    HL
   \   0243  DD6EF8            LD      L,(IX-8)
   \   0246  DD66F9            LD      H,(IX-7)
   \   0249  23                INC     HL
   \   024A  4E                LD      C,(HL)
   \   024B  0600              LD      B,0
   \   024D  FDE5              PUSH    IY
   \   024F  D1                POP     DE
   \   0250  CD0000            CALL    LWRD CharOutRect
   \   0253  E1                POP     HL
   \   0254  E1                POP     HL
   \   0255            ?0053:
   \   0255            ?0051:
    197                      /*
    198                      result = CharOutRect(code, *(tmpstrpt1+1), &kregion, 0);
    199                      if (!result)
    200                      {
    201                      }
    202                      */
    203                  }
    204              }
    205              
    206              
    207              
    208          }
   \   0255  DDF9              LD      SP,IX
   \   0257  DDE1              POP     IX
   \   0259  FDE1              POP     IY
   \   025B  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   025E                    END

Errors: none
Warnings: none
Code size: 606
Constant size: 0
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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