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

📄 sdrv_putchar_latin1.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
     63                  //把黑白字模转为彩色字模放在Buff中
     64                  BlackCharToColor(ASCII_SMALL_WIDTH_DEF, CharPointBuffer);
   \   0052  010000            LD      BC,CharPointBuffer
   \   0055  110600            LD      DE,6
   \   0058  CD0000            CALL    BlackCharToColor
     65                  //把暂时显存区的数据送到LCM
     66                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_SMALL_HEIGHT_DEF*ASCII_SMALL_WIDTH_DEF*2);
   \   005B  016000            LD      BC,96
   \   005E  CDFA00            CALL    ?0015
     67                  region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
   \   0061  3A0000            LD      A,(region)
   \   0064  C606              ADD     A,6
   \   0066  1868              JR      ?0011
     68                  break;
   \   0068            ?0004:
   \   0068  FE01              CP      1
   \   006A  2023              JR      NZ,?0005
     69                  
     70              case CharMode0816://08*16点阵模式(ascii大字体)
     71                  //设置字模输出的大小//上半个字
     72                  region.width = ASCII_LARGE_WIDTH_DEF;
   \   006C  3E08              LD      A,8
   \   006E  320200            LD      (region+2),A
     73                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
     74          
     75                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
     76                  Hdrv_SetWindow(&region);
   \   0071  CDE000            CALL    ?0013
     77                  //把黑白字模转为彩色字模放在Buff中(上区)
     78                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);               //change by ybfu
   \   0074  010800            LD      BC,CharPointBuffer+8
     79                  //把暂时显存区的数据送到LCM
     80                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0077  CDF100            CALL    ?0016
     81          
     82                  region.y -= ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   007A  3A0100            LD      A,(region+1)
   \   007D  C6F8              ADD     A,248
     83                  Hdrv_SetWindow(&region);        
   \   007F  CDE800            CALL    ?0014
     84                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   0082  010000            LD      BC,CharPointBuffer
     85                  //把暂时显存区的数据送到LCM
     86                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0085  CDF100            CALL    ?0016
     87                  //坐标移到下一个字的左上角
     88                  region.x += ASCII_LARGE_WIDTH_DEF;
   \   0088  3A0000            LD      A,(region)
   \   008B  C608              ADD     A,8
   \   008D  1841              JR      ?0011
     89                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
     90                  break;
   \   008F            ?0005:
   \   008F  FE02              CP      2
   \   0091  2040              JR      NZ,?0002
     91              
     92              case CharMode1616://16*16点阵模式(汉字)
     93                  //设置字模输出的大小(上半个汉字)
     94                  region.width = CHINESE_WIDTH_DEF;
   \   0093  3E10              LD      A,16
   \   0095  320200            LD      (region+2),A
     95                  region.height = CHINESE_HEIGHT_DEF/2;
   \   0098  3E08              LD      A,8
     96                  region.y += CHINESE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个汉字)
     97                  
     98                  Hdrv_SetWindow(&region);
   \   009A  CDE000            CALL    ?0013
     99          
    100                  //把黑白字模转为彩色字模放在Buff中
    101                  //putCharChFlag=8;
    102                  BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF);       //change by ybfu
   \   009D  011000            LD      BC,CharPointBuffer+16
   \   00A0  111000            LD      DE,16
   \   00A3  CD0000            CALL    BlackCharToColor
    103                  //putCharChFlag=8;
    104                  //把暂时显存区的数据送到LCM
    105                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF/2)*CHINESE_WIDTH_DEF*2);        
   \   00A6  010001            LD      BC,256
   \   00A9  CDFA00            CALL    ?0015
    106                  region.y -= CHINESE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个汉字)
   \   00AC  3A0100            LD      A,(region+1)
   \   00AF  C6F8              ADD     A,248
   \   00B1  320100            LD      (region+1),A
    107                  region.height = CHINESE_HEIGHT_DEF/2;
   \   00B4  3E08              LD      A,8
   \   00B6  320300            LD      (region+3),A
    108                  Hdrv_SetWindow(&region);        
   \   00B9  CDEB00            CALL    ?0012
    109                  BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);        
   \   00BC  010000            LD      BC,CharPointBuffer
   \   00BF  111000            LD      DE,16
   \   00C2  CD0000            CALL    BlackCharToColor
    110                  
    111                  //把暂时显存区的数据送到LCM
    112                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF/2)*CHINESE_WIDTH_DEF*2);
   \   00C5  010001            LD      BC,256
   \   00C8  CDFA00            CALL    ?0015
    113                                                                  
    114                  //坐标移到下一个字的左上角
    115                  region.x += CHINESE_WIDTH_DEF;
   \   00CB  3A0000            LD      A,(region)
   \   00CE  C610              ADD     A,16
   \   00D0            ?0011:
   \   00D0  320000            LD      (region),A
    116                  //region.y -= CHINESE_HEIGHT_DEF/2;
    117                  break;
   \   00D3            ?0006:
    118          
    119                  
    120              default:
    121                  break;
   \   00D3            ?0002:
    122              }
    123              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模式
   \   00D3  110000            LD      DE,0
   \   00D6  CD0000            CALL    Hdrv_SetDrawMode
    124              return TRUE;
   \   00D9  3E01              LD      A,1
    125          }
   \   00DB            ?0007:
   \   00DB  E1                POP     HL
   \   00DC  DDE1              POP     IX
   \   00DE  C1                POP     BC
   \   00DF  C9                RET
   \   00E0            ?0013:
   \   00E0  320300            LD      (region+3),A
   \   00E3  3A0100            LD      A,(region+1)
   \   00E6  C608              ADD     A,8
   \   00E8            ?0014:
   \   00E8  320100            LD      (region+1),A
   \   00EB            ?0012:
   \   00EB  110000            LD      DE,region
   \   00EE  C30000            JP      Hdrv_SetWindow
   \   00F1            ?0016:
   \   00F1  110800            LD      DE,8
   \   00F4  CD0000            CALL    BlackCharToColor
   \   00F7  018000            LD      BC,128
   \   00FA            ?0015:
   \   00FA  110000            LD      DE,DisplayBuffer
   \   00FD  C30000            JP      Hdrv_BuffDataTrans
   \   0100                    END

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

⌨️ 快捷键说明

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