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

📄 ui_scroll2.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
     58                      }    
     59                      else
   \   0075            ?0010:
     60                      {//ASCII
     61                                          code = *tmpstrpt1;
   \   0075            ?0011:
   \   0075            ?0008:
     62                      }
     63                  }
     64                  else if (*tmpstrpt1 >= FirstSectionCode)
   \   0075  FEA1              CP      161
   \   0077  380B              JR      C,?0014
   \   0079            ?0013:
     65                  {//汉字
     66                          code = *(int *)tmpstrpt1;
   \   0079            ?0023:
   \   0079  DD6E00            LD      L,(IX+0)
   \   007C  DD6601            LD      H,(IX+1)
   \   007F  E5                PUSH    HL
   \   0080  FDE1              POP     IY
     67                  }
     68                  else
   \   0082  1808              JR      ?0015
   \   0084            ?0014:
     69                  {//ASCII
     70                          code = *tmpstrpt1;
   \   0084  DD4E00            LD      C,(IX+0)
   \   0087  0600              LD      B,0
   \   0089  C5                PUSH    BC
   \   008A  FDE1              POP     IY
   \   008C            ?0015:
   \   008C            ?0012:
   \   008C            ?0006:
     71                  }
     72                  return code;
   \   008C  FDE5              PUSH    IY
   \   008E  E1                POP     HL
     73          }
   \   008F  F1                POP     AF
   \   0090  DDE1              POP     IX
   \   0092  FDE1              POP     IY
   \   0094  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0097            ScrollInit_sub:
     74          
     75          void ScrollInit_sub(char *str,char language)
     76          {
   \   0097  FDE5              PUSH    IY
   \   0099  DDE5              PUSH    IX
   \   009B  C5                PUSH    BC
   \   009C  F5                PUSH    AF
   \   009D  F5                PUSH    AF
   \   009E  D5                PUSH    DE
   \   009F  DDE1              POP     IX
     77              int code;
     78              ///bool result;
     79              region_t kregion;//余下部分区域
     80              
     81              
     82              scroll_cnt = 0;
   \   00A1  AF                XOR     A
   \   00A2  320000            LD      (scroll_cnt),A
     83              
     84              SetTextPos(scrollregionx_def, scrollregiony_def);
   \   00A5  0E2D              LD      C,45
   \   00A7  1E30              LD      E,48
   \   00A9  CD0000            CALL    LWRD SetTextPos
     85              strhead_pt = str_pt = str;
   \   00AC  DDE5              PUSH    IX
   \   00AE  E1                POP     HL
   \   00AF  220000            LD      (str_pt),HL
   \   00B2  DD220000          LD      (strhead_pt),IX
     86                          
     87              str_pt = PutS(str_pt, -1);
   \   00B6  0EFF              LD      C,255
   \   00B8  EB                EX      DE,HL
   \   00B9  CD0000            CALL    LWRD PutS
   \   00BC  220000            LD      (str_pt),HL
     88              
     89              if (GetOutPutErr() == RESULT_PUTCHAR_X_ERR)
   \   00BF  CD0000            CALL    LWRD GetOutPutErr
   \   00C2  3D                DEC     A
   \   00C3  204B              JR      NZ,?0017
   \   00C5            ?0016:
     90              {//x超限
     91                                          
     92                                          code = ReadCode_sub(str_pt, language);
   \   00C5  210400            LD      HL,4
   \   00C8  39                ADD     HL,SP
   \   00C9  4E                LD      C,(HL)
   \   00CA  ED5B0000          LD      DE,(str_pt)
   \   00CE  3E00              LD      A,BYTE3 ReadCode_sub
   \   00D0  215200            LD      HL,LWRD ReadCode_sub
   \   00D3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00D6  E5                PUSH    HL
   \   00D7  FDE1              POP     IY
     93                                          
     94                  GetTextPos(&kregion.x, &kregion.y);
   \   00D9  210000            LD      HL,0
   \   00DC  39                ADD     HL,SP
   \   00DD  010100            LD      BC,1
   \   00E0  09                ADD     HL,BC
   \   00E1  4D                LD      C,L
   \   00E2  44                LD      B,H
   \   00E3  2B                DEC     HL
   \   00E4  EB                EX      DE,HL
   \   00E5  CD0000            CALL    LWRD GetTextPos
     95                                          
     96                  kregion.width = scrollregionw_def+scrollregionx_def - kregion.x;
   \   00E8  210200            LD      HL,2
   \   00EB  39                ADD     HL,SP
   \   00EC  E5                PUSH    HL
   \   00ED  2B                DEC     HL
   \   00EE  2B                DEC     HL
   \   00EF  3EB0              LD      A,176
   \   00F1  96                SUB     (HL)
   \   00F2  E1                POP     HL
   \   00F3  77                LD      (HL),A
     97                  kregion.height = scrollregionh_def;
   \   00F4  210300            LD      HL,3
   \   00F7  39                ADD     HL,SP
   \   00F8  3610              LD      (HL),16
     98                                          
     99                  //输出最后一个字
    100                  ///result = CharOutRect(code, *(str_pt+1), &kregion, scroll_cnt);
    101                  CharOutRect(code, *(str_pt+1), &kregion, 0);
   \   00FA  0E00              LD      C,0
   \   00FC  C5                PUSH    BC
   \   00FD  2B                DEC     HL
   \   00FE  2B                DEC     HL
   \   00FF  2B                DEC     HL
   \   0100  E5                PUSH    HL
   \   0101  2A0000            LD      HL,(str_pt)
   \   0104  23                INC     HL
   \   0105  4E                LD      C,(HL)
   \   0106  0600              LD      B,0
   \   0108  FDE5              PUSH    IY
   \   010A  D1                POP     DE
   \   010B  CD0000            CALL    LWRD CharOutRect
   \   010E  E1                POP     HL
   \   010F  E1                POP     HL
   \   0110            ?0017:
    102                  ///if (!result)
    103                  ///{
    104                  ///    scroll_cnt = 0;
    105                  ///    str_pt = strhead_pt;
    106                  ///    return;
    107                  ///}
    108                  ///scroll_cnt = kregion.width;
    109              }
    110              str_pt = strhead_pt;
   \   0110  2A0000            LD      HL,(strhead_pt)
   \   0113  220000            LD      (str_pt),HL
    111              scroll_cnt = 0;
   \   0116  AF                XOR     A
   \   0117  320000            LD      (scroll_cnt),A
    112          }
   \   011A  E1                POP     HL
   \   011B  E1                POP     HL
   \   011C  E1                POP     HL
   \   011D  DDE1              POP     IX
   \   011F  FDE1              POP     IY
   \   0121  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0124                    END

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

⌨️ 快捷键说明

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