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

📄 sdrv_charoutrect_latin1.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0076  F27E00            JP      P,?0007
   \   0079  FD7E02            LD      A,(IY+2)
   \   007C  1805              JR      ?0008
   \   007E            ?0007:
   \   007E  3E06              LD      A,6
   \   0080  DD9608            SUB     (IX+8)
   \   0083            ?0008:
   \   0083  DD77FA            LD      (IX-6),A
     78          
     79                  //把黑白字模转为彩色字模放在Buff中
     80                  BlackCharToColor(ASCII_SMALL_WIDTH_DEF, CharPointBuffer);
   \   0086  010000            LD      BC,CharPointBuffer
   \   0089  110600            LD      DE,6
   \   008C  187B              JR      ?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;
   \   008E            ?0009:
   \   008E  FE01              CP      1
   \   0090  207A              JR      NZ,?0002
     87                  
     88              case CharMode0816://08*16点阵模式(ascii大字体)
     89                  //设置字模输出的大小//上半个字
     90                  //region.width = ASCII_LARGE_WIDTH_DEF;
     91                  if (colcnt >= 8)
   \   0092  DD7E08            LD      A,(IX+8)
   \   0095  FE08              CP      8
   \   0097  3809              JR      C,?0011
   \   0099            ?0010:
     92                  {//计数值超出
     93                      Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   0099            ?0022:
   \   0099  110000            LD      DE,0
   \   009C  CD0000            CALL    Hdrv_SetDrawMode
     94                      return FALSE;
   \   009F            ?0021:
   \   009F  AF                XOR     A
     95                  }
   \   00A0  1872              JR      ?0016
   \   00A2            ?0011:
     96                  //确定输出区域
     97                  region.x = CRregion->x;
   \   00A2  FD7E00            LD      A,(IY+0)
   \   00A5  320000            LD      (region),A
     98                  region.y = CRregion->y;
   \   00A8  FD7E01            LD      A,(IY+1)
   \   00AB  320100            LD      (region+1),A
     99                  region.width = CRregion->width;
   \   00AE  FD7E02            LD      A,(IY+2)
   \   00B1  320200            LD      (region+2),A
    100                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
   \   00B4  3E08              LD      A,8
   \   00B6  320300            LD      (region+3),A
    101                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字) 
   \   00B9  3A0100            LD      A,(region+1)
   \   00BC  C608              ADD     A,8
   \   00BE  320100            LD      (region+1),A
    102                  Sdrv_SetReadMode();
   \   00C1  CD1B01            CALL    ?0023
    103                  Hdrv_SetFontWindow(&region);
    104          
    105                  //取最小的值.
    106                  tmpwidth = (CRregion->width < (8-colcnt))? (CRregion->width):(8-colcnt);
   \   00C4  210800            LD      HL,8
   \   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,?0018
   \   00D8  AC                XOR     H
   \   00D9            ?0018:
   \   00D9  F2E100            JP      P,?0013
   \   00DC  FD7E02            LD      A,(IY+2)
   \   00DF  1805              JR      ?0014
   \   00E1            ?0013:
   \   00E1  3E08              LD      A,8
   \   00E3  DD9608            SUB     (IX+8)
   \   00E6            ?0014:
   \   00E6  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);
   \   00E9  010800            LD      BC,CharPointBuffer+8
   \   00EC  110800            LD      DE,8
   \   00EF  CD2A01            CALL    ?0024
    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准备输出下区(下半个字)
   \   00F2  3A0100            LD      A,(region+1)
   \   00F5  C6F8              ADD     A,248
   \   00F7  320100            LD      (region+1),A
    116                  Sdrv_SetReadMode();
   \   00FA  CD0000            CALL    Sdrv_SetReadMode
    117                  Hdrv_SetFontWindow(&region);
   \   00FD  110000            LD      DE,region
   \   0100  CD0000            CALL    Hdrv_SetFontWindow
    118                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
    119                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   0103  010000            LD      BC,CharPointBuffer
   \   0106  110800            LD      DE,8
   \   0109            ?0019:
   \   0109  CD2A01            CALL    ?0024
    120                  //把暂时显存区的数据送到LCM
    121                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2, 
    122                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    123                  //坐标移到下一个字的左上角
    124                  //region.x += ASCII_LARGE_WIDTH_DEF;
    125                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
    126                  break;
   \   010C            ?0015:
    127              
    128              default:
    129                  break;
   \   010C            ?0002:
    130              }
    131              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   010C  110000            LD      DE,0
   \   010F  CD0000            CALL    Hdrv_SetDrawMode
    132              return TRUE;
   \   0112  3E01              LD      A,1
    133          }
   \   0114            ?0016:
   \   0114  DDF9              LD      SP,IX
   \   0116  DDE1              POP     IX
   \   0118  FDE1              POP     IY
   \   011A  C9                RET
   \   011B            ?0023:
   \   011B  CD0000            CALL    Sdrv_SetReadMode
   \   011E  110000            LD      DE,region
   \   0121  CD0000            CALL    Hdrv_SetFontWindow
   \   0124  DD4E08            LD      C,(IX+8)
   \   0127  0600              LD      B,0
   \   0129  C9                RET
   \   012A            ?0024:
   \   012A  CD0000            CALL    BlackCharToColor
   \   012D  DD6EFA            LD      L,(IX-6)
   \   0130  2600              LD      H,0
   \   0132  29                ADD     HL,HL
   \   0133  29                ADD     HL,HL
   \   0134  29                ADD     HL,HL
   \   0135  29                ADD     HL,HL
   \   0136  4D                LD      C,L
   \   0137  44                LD      B,H
   \   0138  DD6E08            LD      L,(IX+8)
   \   013B  2600              LD      H,0
   \   013D  29                ADD     HL,HL
   \   013E  29                ADD     HL,HL
   \   013F  29                ADD     HL,HL
   \   0140  29                ADD     HL,HL
   \   0141  110000            LD      DE,DisplayBuffer
   \   0144  19                ADD     HL,DE
   \   0145  EB                EX      DE,HL
   \   0146  CD0000            CALL    Hdrv_BuffDataTrans
   \   0149  C9                RET
   \   014A                    END

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

⌨️ 快捷键说明

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