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

📄 sdrv_putchar.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0050  CD0000            CALL    BlackCharToColor
     65                  //把暂时显存区的数据送到LCM
     66                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_SMALL_HEIGHT_DEF*ASCII_SMALL_WIDTH_DEF*2);
   \   0053  016000            LD      BC,96
   \   0056  CDFD00            CALL    ?0014
     67                  region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
   \   0059  3A0000            LD      A,(region)
   \   005C  C606              ADD     A,6
   \   005E  320000            LD      (region),A
     68                  break;
   \   0061  1876              JR      ?0002
   \   0063            ?0004:
   \   0063  FE01              CP      1
   \   0065  2026              JR      NZ,?0005
     69                  
     70              case CharMode0816://08*16点阵模式(ascii大字体)
     71                  //设置字模输出的大小//上半个字
     72                  region.width = ASCII_LARGE_WIDTH_DEF;
   \   0067  3E08              LD      A,8
   \   0069  320200            LD      (region+2),A
     73                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
     74                  Hdrv_SetWindow(&region);
   \   006C  CDEB00            CALL    ?0011
     75                  //把黑白字模转为彩色字模放在Buff中(上区)
     76                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
     77                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);               //change by ybfu
   \   006F  010800            LD      BC,CharPointBuffer+8
     78                  //把暂时显存区的数据送到LCM
     79                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0072  CDF400            CALL    ?0015
     80          
     81                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   0075  3A0100            LD      A,(region+1)
   \   0078  C608              ADD     A,8
   \   007A  320100            LD      (region+1),A
     82                  Hdrv_SetWindow(&region);        
   \   007D  CDEE00            CALL    ?0012
     83                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
     84                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   0080  010000            LD      BC,CharPointBuffer
     85                  //把暂时显存区的数据送到LCM
     86                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0083  CDF400            CALL    ?0015
     87                  //坐标移到下一个字的左上角
     88                  region.x += ASCII_LARGE_WIDTH_DEF;
   \   0086  3A0000            LD      A,(region)
   \   0089  C608              ADD     A,8
   \   008B  1841              JR      ?0009
     89                  region.y -= ASCII_LARGE_HEIGHT_DEF/2;
     90                  break;
   \   008D            ?0005:
   \   008D  FE02              CP      2
   \   008F  2048              JR      NZ,?0002
     91              
     92              case CharMode1616://16*16点阵模式(汉字)
     93            //上面代码,更新下半个字
     94                  //设置字模输出的大小(上半个汉字)
     95                  region.width = CHINESE_WIDTH_DEF1;  //16
   \   0091  3E10              LD      A,16
     96                  region.height = CHINESE_HEIGHT_DEF1-8; //16-8=8
     97                  
     98                  Hdrv_SetWindow(&region);
   \   0093  CDE600            CALL    ?0010
     99                  //region.y-=4;
    100                  //把黑白字模转为彩色字模放在Buff中
    101                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);
    102                  putCharChFlag=8;//4
   \   0096  3E08              LD      A,8
   \   0098  320000            LD      (putCharChFlag),A
    103                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer + CHINESE_WIDTH_DEF1);     //change by ybfu 4  +8
   \   009B  011000            LD      BC,CharPointBuffer+16
   \   009E  111000            LD      DE,16
   \   00A1  CD0000            CALL    BlackCharToColor
    104                  putCharChFlag=8;
   \   00A4  3E08              LD      A,8
   \   00A6  320000            LD      (putCharChFlag),A
    105                  //把暂时显存区的数据送到LCM
    106                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);        
   \   00A9  010001            LD      BC,256
   \   00AC  CDFD00            CALL    ?0014
    107                  region.y += CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字)  8
   \   00AF  3A0100            LD      A,(region+1)
   \   00B2  C608              ADD     A,8
   \   00B4  320100            LD      (region+1),A
    108                  region.height = CHINESE_HEIGHT_DEF1-8;//4
    109                  Hdrv_SetWindow(&region);        
   \   00B7  CDE900            CALL    ?0013
    110                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF);
    111                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer);        
   \   00BA  010000            LD      BC,CharPointBuffer
   \   00BD  111000            LD      DE,16
   \   00C0  CD0000            CALL    BlackCharToColor
    112                  
    113                  //把暂时显存区的数据送到LCM
    114                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);
   \   00C3  010001            LD      BC,256
   \   00C6  CDFD00            CALL    ?0014
    115                                                                  
    116                  //坐标移到下一个字的左上角
    117                  region.x += CHINESE_WIDTH_DEF1;
   \   00C9  3A0000            LD      A,(region)
   \   00CC  C610              ADD     A,16
   \   00CE            ?0009:
   \   00CE  320000            LD      (region),A
    118                  region.y -= CHINESE_HEIGHT_DEF1/2;        
   \   00D1  3A0100            LD      A,(region+1)
   \   00D4  C6F8              ADD     A,248
   \   00D6  320100            LD      (region+1),A
    119                  break;
   \   00D9            ?0006:
    120                  
    121              default:
    122                  break;
   \   00D9            ?0002:
    123              }
    124              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   00D9  110000            LD      DE,0
   \   00DC  CD0000            CALL    Hdrv_SetDrawMode
    125              return TRUE;
   \   00DF  3E01              LD      A,1
    126          }
   \   00E1            ?0007:
   \   00E1  E1                POP     HL
   \   00E2  DDE1              POP     IX
   \   00E4  C1                POP     BC
   \   00E5  C9                RET
   \   00E6            ?0010:
   \   00E6  320200            LD      (region+2),A
   \   00E9            ?0013:
   \   00E9  3E08              LD      A,8
   \   00EB            ?0011:
   \   00EB  320300            LD      (region+3),A
   \   00EE            ?0012:
   \   00EE  110000            LD      DE,region
   \   00F1  C30000            JP      Hdrv_SetWindow
   \   00F4            ?0015:
   \   00F4  110800            LD      DE,8
   \   00F7  CD0000            CALL    BlackCharToColor
   \   00FA  018000            LD      BC,128
   \   00FD            ?0014:
   \   00FD  110000            LD      DE,DisplayBuffer
   \   0100  C30000            JP      Hdrv_BuffDataTrans
   \   0103                    END

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

⌨️ 快捷键说明

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