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

📄 sdrv_charoutrect_latin1.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0078  ED42              SBC     HL,BC
   \   007A  E27E00            JP      PO,?0017
   \   007D  AC                XOR     H
   \   007E            ?0017:
   \   007E  F28600            JP      P,?0007
   \   0081  FD7E02            LD      A,(IY+2)
   \   0084  1805              JR      ?0008
   \   0086            ?0007:
   \   0086  3E06              LD      A,6
   \   0088  DD9608            SUB     (IX+8)
   \   008B            ?0008:
   \   008B  DD77FA            LD      (IX-6),A
     78          
     79                  //把黑白字模转为彩色字模放在Buff中
     80                  BlackCharToColor(ASCII_SMALL_WIDTH_DEF, CharPointBuffer);
   \   008E  010000            LD      BC,CharPointBuffer
   \   0091  110600            LD      DE,6
   \   0094  C31701            JP      ?0019
     81                  //把暂时显存区的数据送到LCM
     82                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*ASCII_SMALL_HEIGHT_DEF*2, 
     83                                                  ASCII_SMALL_HEIGHT_DEF*tmpwidth*2);
     84          
     85                  //region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
     86                  break;
   \   0097            ?0009:
   \   0097  FE01              CP      1
   \   0099  207F              JR      NZ,?0002
     87                  
     88              case CharMode0816://08*16点阵模式(ascii大字体)
     89                  //设置字模输出的大小//上半个字
     90                  //region.width = ASCII_LARGE_WIDTH_DEF;
     91                  if (colcnt >= 8)
   \   009B  DD7E08            LD      A,(IX+8)
   \   009E  FE08              CP      8
   \   00A0  3809              JR      C,?0011
   \   00A2            ?0010:
     92                  {//计数值超出
     93                      Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   00A2            ?0022:
   \   00A2  110000            LD      DE,0
   \   00A5  CD0000            CALL    Hdrv_SetDrawMode
     94                      return FALSE;
   \   00A8            ?0021:
   \   00A8  AF                XOR     A
     95                  }
   \   00A9  1877              JR      ?0016
   \   00AB            ?0011:
     96                  //确定输出区域
     97                  region.x = CRregion->x;
   \   00AB  FD7E00            LD      A,(IY+0)
   \   00AE  320000            LD      (region),A
     98                  region.y = CRregion->y;
   \   00B1  FD7E01            LD      A,(IY+1)
   \   00B4  320100            LD      (region+1),A
     99                  region.width = CRregion->width;
   \   00B7  FD7E02            LD      A,(IY+2)
   \   00BA  320200            LD      (region+2),A
    100                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
   \   00BD  3E08              LD      A,8
   \   00BF  320300            LD      (region+3),A
    101                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字) 
   \   00C2  3A0100            LD      A,(region+1)
   \   00C5  C608              ADD     A,8
   \   00C7  320100            LD      (region+1),A
    102                  
    103                  Hdrv_SetWindow(&region);
   \   00CA  110000            LD      DE,region
   \   00CD  CD0000            CALL    Hdrv_SetWindow
    104          
    105                  //取最小的值.
    106                  tmpwidth = (CRregion->width < (8-colcnt))? (CRregion->width):(8-colcnt);
   \   00D0  DD4E08            LD      C,(IX+8)
   \   00D3  0600              LD      B,0
   \   00D5  210800            LD      HL,8
   \   00D8  A7                AND     A
   \   00D9  ED42              SBC     HL,BC
   \   00DB  4D                LD      C,L
   \   00DC  44                LD      B,H
   \   00DD  FD6E02            LD      L,(IY+2)
   \   00E0  2600              LD      H,0
   \   00E2  F680              OR      128
   \   00E4  ED42              SBC     HL,BC
   \   00E6  E2EA00            JP      PO,?0018
   \   00E9  AC                XOR     H
   \   00EA            ?0018:
   \   00EA  F2F200            JP      P,?0013
   \   00ED  FD7E02            LD      A,(IY+2)
   \   00F0  1805              JR      ?0014
   \   00F2            ?0013:
   \   00F2  3E08              LD      A,8
   \   00F4  DD9608            SUB     (IX+8)
   \   00F7            ?0014:
   \   00F7  DD77FA            LD      (IX-6),A
    107          
    108                  //把黑白字模转为彩色字模放在Buff中(上区)
    109                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
    110                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
   \   00FA  010800            LD      BC,CharPointBuffer+8
   \   00FD  110800            LD      DE,8
   \   0100  CD2901            CALL    ?0023
    111                  //把暂时显存区的数据送到LCM
    112                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2,
    113                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    114          
    115                  region.y -= ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   0103  3A0100            LD      A,(region+1)
   \   0106  C6F8              ADD     A,248
   \   0108  320100            LD      (region+1),A
    116                  
    117                  Hdrv_SetWindow(&region);
   \   010B  110000            LD      DE,region
   \   010E  CD0000            CALL    Hdrv_SetWindow
    118                  
    119                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
    120                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   0111  010000            LD      BC,CharPointBuffer
   \   0114  110800            LD      DE,8
   \   0117            ?0019:
   \   0117  CD2901            CALL    ?0023
    121                  //把暂时显存区的数据送到LCM
    122                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2, 
    123                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    124                  //坐标移到下一个字的左上角
    125                  //region.x += ASCII_LARGE_WIDTH_DEF;
    126                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
    127                  break;
   \   011A            ?0015:
    128              
    129              default:
    130                  break;
   \   011A            ?0002:
    131              }
    132              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   011A  110000            LD      DE,0
   \   011D  CD0000            CALL    Hdrv_SetDrawMode
    133              return TRUE;
   \   0120  3E01              LD      A,1
    134          }
   \   0122            ?0016:
   \   0122  DDF9              LD      SP,IX
   \   0124  DDE1              POP     IX
   \   0126  FDE1              POP     IY
   \   0128  C9                RET
   \   0129            ?0023:
   \   0129  CD0000            CALL    BlackCharToColor
   \   012C  DD6EFA            LD      L,(IX-6)
   \   012F  2600              LD      H,0
   \   0131  29                ADD     HL,HL
   \   0132  29                ADD     HL,HL
   \   0133  29                ADD     HL,HL
   \   0134  29                ADD     HL,HL
   \   0135  4D                LD      C,L
   \   0136  44                LD      B,H
   \   0137  DD6E08            LD      L,(IX+8)
   \   013A  2600              LD      H,0
   \   013C  29                ADD     HL,HL
   \   013D  29                ADD     HL,HL
   \   013E  29                ADD     HL,HL
   \   013F  29                ADD     HL,HL
   \   0140  110000            LD      DE,DisplayBuffer
   \   0143  19                ADD     HL,DE
   \   0144  EB                EX      DE,HL
   \   0145  CD0000            CALL    Hdrv_BuffDataTrans
   \   0148  C9                RET
   \   0149                    END

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

⌨️ 快捷键说明

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