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

📄 sdrv_charoutrect_thai.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0097  FE00              CP      0
   \   0099  2057              JR      NZ,?0018
   \   009B            ?0012:
     97              {
     98              case CharMode0608://06*08点阵模式(ascii小字体)
     99          
    100                  if (colcnt >= 6)
   \   009B  DD7E08            LD      A,(IX+8)
   \   009E  FE06              CP      6
   \   00A0  305B              JR      NC,?0032
   \   00A2            ?0013:
    101                  {//计数值超出
    102                      Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
    103                      return FALSE;
    104                  }
   \   00A2            ?0014:
    105                  //确定输出区域
    106                  region.x = CRregion->x;
   \   00A2  FD7E00            LD      A,(IY+0)
   \   00A5  320000            LD      (region),A
    107                  region.y = CRregion->y;
   \   00A8  FD7E01            LD      A,(IY+1)
   \   00AB  320100            LD      (region+1),A
    108                  region.width = CRregion->width;
   \   00AE  FD7E02            LD      A,(IY+2)
   \   00B1  320200            LD      (region+2),A
    109                  region.height = ASCII_SMALL_HEIGHT_DEF;       
   \   00B4  3E08              LD      A,8
   \   00B6  320300            LD      (region+3),A
    110                  
    111                  Hdrv_SetWindow(&region);
   \   00B9  110000            LD      DE,region
   \   00BC  CD0000            CALL    Hdrv_SetWindow
    112          
    113                  //取最小的值.
    114                  tmpwidth = (CRregion->width < (6-colcnt))? (CRregion->width):(6-colcnt); 
   \   00BF  DD4E08            LD      C,(IX+8)
   \   00C2  0600              LD      B,0
   \   00C4  210600            LD      HL,6
   \   00C7  A7                AND     A
   \   00C8  ED42              SBC     HL,BC
   \   00CA  4D                LD      C,L
   \   00CB  44                LD      B,H
   \   00CC  FD6E02            LD      L,(IY+2)
   \   00CF  2600              LD      H,0
   \   00D1  F680              OR      128
   \   00D3  ED42              SBC     HL,BC
   \   00D5  E2D900            JP      PO,?0026
   \   00D8  AC                XOR     H
   \   00D9            ?0026:
   \   00D9  F2E100            JP      P,?0016
   \   00DC  FD7E02            LD      A,(IY+2)
   \   00DF  1805              JR      ?0017
   \   00E1            ?0016:
   \   00E1  3E06              LD      A,6
   \   00E3  DD9608            SUB     (IX+8)
   \   00E6            ?0017:
   \   00E6  DD77FA            LD      (IX-6),A
    115          
    116                  //把黑白字模转为彩色字模放在Buff中
    117                  BlackCharToColor(ASCII_SMALL_WIDTH_DEF, CharPointBuffer);
   \   00E9  010000            LD      BC,CharPointBuffer
   \   00EC  110600            LD      DE,6
   \   00EF  C37201            JP      ?0029
    118                  //把暂时显存区的数据送到LCM
    119                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*ASCII_SMALL_HEIGHT_DEF*2, 
    120                                                  ASCII_SMALL_HEIGHT_DEF*tmpwidth*2);
    121          
    122                  //region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
    123                  break;
   \   00F2            ?0018:
   \   00F2  FE01              CP      1
   \   00F4  207F              JR      NZ,?0011
    124                  
    125              case CharMode0816://08*16点阵模式(ascii大字体)
    126                  //设置字模输出的大小//上半个字
    127                  //region.width = ASCII_LARGE_WIDTH_DEF;
    128                  if (colcnt >= 8)
   \   00F6  DD7E08            LD      A,(IX+8)
   \   00F9  FE08              CP      8
   \   00FB  3809              JR      C,?0020
   \   00FD            ?0019:
    129                  {//计数值超出
    130                      Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   00FD            ?0032:
   \   00FD  110000            LD      DE,0
   \   0100  CD0000            CALL    Hdrv_SetDrawMode
    131                      return FALSE;
   \   0103            ?0031:
   \   0103  AF                XOR     A
    132                  }
   \   0104  1877              JR      ?0025
   \   0106            ?0020:
    133                  //确定输出区域
    134                  region.x = CRregion->x;
   \   0106  FD7E00            LD      A,(IY+0)
   \   0109  320000            LD      (region),A
    135                  region.y = CRregion->y;
   \   010C  FD7E01            LD      A,(IY+1)
   \   010F  320100            LD      (region+1),A
    136                  region.width = CRregion->width;
   \   0112  FD7E02            LD      A,(IY+2)
   \   0115  320200            LD      (region+2),A
    137                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
   \   0118  3E08              LD      A,8
   \   011A  320300            LD      (region+3),A
    138                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字) 
   \   011D  3A0100            LD      A,(region+1)
   \   0120  C608              ADD     A,8
   \   0122  320100            LD      (region+1),A
    139                  
    140                  Hdrv_SetWindow(&region);
   \   0125  110000            LD      DE,region
   \   0128  CD0000            CALL    Hdrv_SetWindow
    141                                          
    142                  //取最小的值.
    143                  tmpwidth = (CRregion->width < (8-colcnt))? (CRregion->width):(8-colcnt);
   \   012B  DD4E08            LD      C,(IX+8)
   \   012E  0600              LD      B,0
   \   0130  210800            LD      HL,8
   \   0133  A7                AND     A
   \   0134  ED42              SBC     HL,BC
   \   0136  4D                LD      C,L
   \   0137  44                LD      B,H
   \   0138  FD6E02            LD      L,(IY+2)
   \   013B  2600              LD      H,0
   \   013D  F680              OR      128
   \   013F  ED42              SBC     HL,BC
   \   0141  E24501            JP      PO,?0027
   \   0144  AC                XOR     H
   \   0145            ?0027:
   \   0145  F24D01            JP      P,?0022
   \   0148  FD7E02            LD      A,(IY+2)
   \   014B  1805              JR      ?0023
   \   014D            ?0022:
   \   014D  3E08              LD      A,8
   \   014F  DD9608            SUB     (IX+8)
   \   0152            ?0023:
   \   0152  DD77FA            LD      (IX-6),A
    144          
    145                  //把黑白字模转为彩色字模放在Buff中(上区)
    146                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
    147                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
   \   0155  010800            LD      BC,CharPointBuffer+8
   \   0158  110800            LD      DE,8
   \   015B  CD8401            CALL    ?0033
    148                  //把暂时显存区的数据送到LCM
    149                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2,
    150                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    151          
    152                  region.y -= ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   015E  3A0100            LD      A,(region+1)
   \   0161  C6F8              ADD     A,248
   \   0163  320100            LD      (region+1),A
    153                  
    154                  Hdrv_SetWindow(&region);
   \   0166  110000            LD      DE,region
   \   0169  CD0000            CALL    Hdrv_SetWindow
    155                  
    156                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
    157                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   016C  010000            LD      BC,CharPointBuffer
   \   016F  110800            LD      DE,8
   \   0172            ?0029:
   \   0172  CD8401            CALL    ?0033
    158                  //把暂时显存区的数据送到LCM
    159                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2, 
    160                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    161                  //坐标移到下一个字的左上角
    162                  //region.x += ASCII_LARGE_WIDTH_DEF;
    163                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
    164                  break;
   \   0175            ?0024:
    165                  
    166              default:
    167                  break;
   \   0175            ?0011:
    168              }
    169              
    170              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   0175  110000            LD      DE,0
   \   0178  CD0000            CALL    Hdrv_SetDrawMode
    171              return TRUE;
   \   017B  3E01              LD      A,1
    172          }
   \   017D            ?0025:
   \   017D  DDF9              LD      SP,IX
   \   017F  DDE1              POP     IX
   \   0181  FDE1              POP     IY
   \   0183  C9                RET
   \   0184            ?0033:
   \   0184  CD0000            CALL    BlackCharToColor
   \   0187  DD6EFA            LD      L,(IX-6)
   \   018A  2600              LD      H,0
   \   018C  29                ADD     HL,HL
   \   018D  29                ADD     HL,HL
   \   018E  29                ADD     HL,HL
   \   018F  29                ADD     HL,HL
   \   0190  4D                LD      C,L
   \   0191  44                LD      B,H
   \   0192  DD6E08            LD      L,(IX+8)
   \   0195  2600              LD      H,0
   \   0197  29                ADD     HL,HL
   \   0198  29                ADD     HL,HL
   \   0199  29                ADD     HL,HL
   \   019A  29                ADD     HL,HL
   \   019B  110000            LD      DE,DisplayBuffer
   \   019E  19                ADD     HL,DE
   \   019F  EB                EX      DE,HL
   \   01A0  CD0000            CALL    Hdrv_BuffDataTrans
   \   01A3  C9                RET
   \   01A4                    END

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

⌨️ 快捷键说明

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