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

📄 sdrv_putchar.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   005E  CD0401            CALL    ?0015
     70                  region.x += ASCII_SMALL_WIDTH_DEF;//坐标移到下一个字的左上角
   \   0061  3A0000            LD      A,(region)
   \   0064  C606              ADD     A,6
   \   0066  1872              JR      ?0011
     71                  break;
   \   0068            ?0004:
   \   0068  FE01              CP      1
   \   006A  2023              JR      NZ,?0005
     72                  
     73              case CharMode0816://08*16点阵模式(ascii大字体)
     74                  //设置字模输出的大小//上半个字
     75                  region.width = ASCII_LARGE_WIDTH_DEF;
   \   006C  3E08              LD      A,8
   \   006E  320200            LD      (region+2),A
     76                  region.height = ASCII_LARGE_HEIGHT_DEF/2;
     77                  //Jerry Xie Add
     78                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出上区(上半个字)
     79                  
     80                  Hdrv_SetWindow(&region);
   \   0071  CDEA00            CALL    ?0013
     81                  
     82                  //把黑白字模转为彩色字模放在Buff中(上区)
     83                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
     84                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);               //change by ybfu
   \   0074  010800            LD      BC,CharPointBuffer+8
     85                  //把暂时显存区的数据送到LCM
     86                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0077  CDFB00            CALL    ?0016
     87          
     88                  //region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
     89                  //Jerry Xie Modify
     90                  region.y -= ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   007A  3A0100            LD      A,(region+1)
   \   007D  C6F8              ADD     A,248
     91                  
     92                  Hdrv_SetWindow(&region);
   \   007F  CDF200            CALL    ?0014
     93                  
     94                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
     95                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   0082  010000            LD      BC,CharPointBuffer
     96                  //把暂时显存区的数据送到LCM
     97                  Hdrv_BuffDataTrans(DisplayBuffer, ASCII_LARGE_WIDTH_DEF*(ASCII_LARGE_HEIGHT_DEF/2)*2);
   \   0085  CDFB00            CALL    ?0016
     98                  //坐标移到下一个字的左上角
     99                  region.x += ASCII_LARGE_WIDTH_DEF;
   \   0088  3A0000            LD      A,(region)
   \   008B  C608              ADD     A,8
   \   008D  184B              JR      ?0011
    100                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
    101                  break;
   \   008F            ?0005:
   \   008F  FE02              CP      2
   \   0091  204A              JR      NZ,?0002
    102              
    103              case CharMode1616://16*16点阵模式(汉字)
    104            //上面代码,更新下半个字
    105                  //设置字模输出的大小(上半个汉字)
    106                  region.width = CHINESE_WIDTH_DEF1;  //16
   \   0093  3E10              LD      A,16
   \   0095  320200            LD      (region+2),A
    107                  region.height = CHINESE_HEIGHT_DEF1-8; //16-8=8
   \   0098  3E08              LD      A,8
    108                  
    109                  //Jerry Xie Add
    110                  region.y += CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字)
    111                  
    112                  Hdrv_SetWindow(&region);
   \   009A  CDEA00            CALL    ?0013
    113                  
    114                  //region.y-=4;
    115                  //把黑白字模转为彩色字模放在Buff中
    116                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);
    117                  putCharChFlag=8;//4
   \   009D  3E08              LD      A,8
   \   009F  320000            LD      (putCharChFlag),A
    118                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer + CHINESE_WIDTH_DEF1);     //change by ybfu 4  +8
   \   00A2  011000            LD      BC,CharPointBuffer+16
   \   00A5  111000            LD      DE,16
   \   00A8  CD0000            CALL    BlackCharToColor
    119                  putCharChFlag=8;
   \   00AB  3E08              LD      A,8
   \   00AD  320000            LD      (putCharChFlag),A
    120                  //把暂时显存区的数据送到LCM
    121                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);        
   \   00B0  010001            LD      BC,256
   \   00B3  CD0401            CALL    ?0015
    122                  //region.y += CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字)  8
    123                  //Jerry Xie Modify
    124                  region.y -= CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字)
   \   00B6  3A0100            LD      A,(region+1)
   \   00B9  C6F8              ADD     A,248
   \   00BB  320100            LD      (region+1),A
    125                  region.height = CHINESE_HEIGHT_DEF1-8;//4
   \   00BE  3E08              LD      A,8
   \   00C0  320300            LD      (region+3),A
    126                  
    127                  Hdrv_SetWindow(&region);
   \   00C3  CDF500            CALL    ?0012
    128                  
    129                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF);
    130                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer);        
   \   00C6  010000            LD      BC,CharPointBuffer
   \   00C9  111000            LD      DE,16
   \   00CC  CD0000            CALL    BlackCharToColor
    131                  
    132                  //把暂时显存区的数据送到LCM
    133                  Hdrv_BuffDataTrans(DisplayBuffer, (CHINESE_HEIGHT_DEF1-8)*CHINESE_WIDTH_DEF1*2);
   \   00CF  010001            LD      BC,256
   \   00D2  CD0401            CALL    ?0015
    134                                                                  
    135                  //坐标移到下一个字的左上角
    136                  region.x += CHINESE_WIDTH_DEF1;
   \   00D5  3A0000            LD      A,(region)
   \   00D8  C610              ADD     A,16
   \   00DA            ?0011:
   \   00DA  320000            LD      (region),A
    137                  //region.y -= CHINESE_HEIGHT_DEF1/2;        
    138                  break;
   \   00DD            ?0006:
    139                  
    140              default:
    141                  break;
   \   00DD            ?0002:
    142              }
    143              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   00DD  110000            LD      DE,0
   \   00E0  CD0000            CALL    Hdrv_SetDrawMode
    144              return TRUE;
   \   00E3  3E01              LD      A,1
    145          }
   \   00E5            ?0007:
   \   00E5  E1                POP     HL
   \   00E6  DDE1              POP     IX
   \   00E8  C1                POP     BC
   \   00E9  C9                RET
   \   00EA            ?0013:
   \   00EA  320300            LD      (region+3),A
   \   00ED  3A0100            LD      A,(region+1)
   \   00F0  C608              ADD     A,8
   \   00F2            ?0014:
   \   00F2  320100            LD      (region+1),A
   \   00F5            ?0012:
   \   00F5  110000            LD      DE,region
   \   00F8  C30000            JP      Hdrv_SetWindow
   \   00FB            ?0016:
   \   00FB  110800            LD      DE,8
   \   00FE  CD0000            CALL    BlackCharToColor
   \   0101  018000            LD      BC,128
   \   0104            ?0015:
   \   0104  110000            LD      DE,DisplayBuffer
   \   0107  C30000            JP      Hdrv_BuffDataTrans
   \   010A                    END

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

⌨️ 快捷键说明

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