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

📄 sdrv_charoutrect.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   008E  ED42              SBC     HL,BC
   \   0090  4D                LD      C,L
   \   0091  44                LD      B,H
   \   0092  FD6E02            LD      L,(IY+2)
   \   0095  2600              LD      H,0
   \   0097  F680              OR      128
   \   0099  ED42              SBC     HL,BC
   \   009B  E29F00            JP      PO,?0024
   \   009E  AC                XOR     H
   \   009F            ?0024:
   \   009F  F2A700            JP      P,?0013
   \   00A2  FD7E02            LD      A,(IY+2)
   \   00A5  1805              JR      ?0014
   \   00A7            ?0013:
   \   00A7  3E08              LD      A,8
   \   00A9  DD9606            SUB     (IX+6)
   \   00AC            ?0014:
   \   00AC  DD77FC            LD      (IX-4),A
    103          
    104                  //把黑白字模转为彩色字模放在Buff中(上区)
    105                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
    106                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
   \   00AF  010800            LD      BC,CharPointBuffer+8
   \   00B2  110800            LD      DE,8
   \   00B5  CD7D01            CALL    ?0038
    107                  //把暂时显存区的数据送到LCM
    108                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2,
    109                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    110          
    111                  region.y += ASCII_LARGE_HEIGHT_DEF/2;//Y坐标加8准备输出下区(下半个字)
   \   00B8  3A0100            LD      A,(region+1)
   \   00BB  C608              ADD     A,8
   \   00BD  320100            LD      (region+1),A
    112                  Hdrv_SetWindow(&region);        
   \   00C0  CD7701            CALL    ?0036
    113                  //BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer + ASCII_LARGE_WIDTH_DEF);
    114                  BlackCharToColor(ASCII_LARGE_WIDTH_DEF, CharPointBuffer);
   \   00C3  010000            LD      BC,CharPointBuffer
   \   00C6  110800            LD      DE,8
   \   00C9  C34E01            JP      ?0033
    115                  //把暂时显存区的数据送到LCM
    116                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(ASCII_LARGE_HEIGHT_DEF/2)*2, 
    117                                                  (ASCII_LARGE_HEIGHT_DEF/2)*tmpwidth*2);
    118                  //坐标移到下一个字的左上角
    119                  //region.x += ASCII_LARGE_WIDTH_DEF;
    120                  //region.y -= ASCII_LARGE_HEIGHT_DEF/2;
    121                  break;
   \   00CC            ?0015:
   \   00CC  FE02              CP      2
   \   00CE  C25101            JP      NZ,?0002
    122              
    123              case CharMode1616://16*16点阵模式(汉字)
    124           //设置字模输出的大小(上半个汉字)
    125                  if (colcnt >= 16)
   \   00D1  DD7E06            LD      A,(IX+6)
   \   00D4  FE10              CP      16
   \   00D6  3809              JR      C,?0017
   \   00D8            ?0016:
    126                  {//计数值超出
    127                      Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   00D8            ?0032:
   \   00D8  110000            LD      DE,0
   \   00DB  CD0000            CALL    Hdrv_SetDrawMode
    128                      return FALSE;
   \   00DE            ?0031:
   \   00DE  AF                XOR     A
    129                  }
   \   00DF  1878              JR      ?0022
   \   00E1            ?0017:
    130                  //确定输出区域
    131                  region.x = CRregion->x;
    132                  region.y = CRregion->y;
    133                  region.width = CRregion->width;
    134                  region.height = CHINESE_HEIGHT_DEF1-8;
    135                  Hdrv_SetWindow(&region);
   \   00E1  CD6001            CALL    ?0035
    136                  //region.y-=4;
    137                  //取最小的值.
    138                  tmpwidth = (CRregion->width < (16-colcnt))? (CRregion->width):(16-colcnt); 
   \   00E4  DD4E06            LD      C,(IX+6)
   \   00E7  0600              LD      B,0
   \   00E9  211000            LD      HL,16
   \   00EC  A7                AND     A
   \   00ED  ED42              SBC     HL,BC
   \   00EF  4D                LD      C,L
   \   00F0  44                LD      B,H
   \   00F1  FD6E02            LD      L,(IY+2)
   \   00F4  2600              LD      H,0
   \   00F6  F680              OR      128
   \   00F8  ED42              SBC     HL,BC
   \   00FA  E2FE00            JP      PO,?0025
   \   00FD  AC                XOR     H
   \   00FE            ?0025:
   \   00FE  F20601            JP      P,?0019
   \   0101  FD7E02            LD      A,(IY+2)
   \   0104  1805              JR      ?0020
   \   0106            ?0019:
   \   0106  3E10              LD      A,16
   \   0108  DD9606            SUB     (IX+6)
   \   010B            ?0020:
   \   010B  DD77FC            LD      (IX-4),A
    139          
    140                  //把黑白字模转为彩色字模放在Buff中
    141                  putCharChFlag=8;
   \   010E  3E08              LD      A,8
   \   0110  320000            LD      (putCharChFlag),A
    142                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer + CHINESE_WIDTH_DEF1);//+8
   \   0113  011000            LD      BC,CharPointBuffer+16
   \   0116  111000            LD      DE,16
   \   0119  CD0000            CALL    BlackCharToColor
    143                  putCharChFlag=8; 
   \   011C  3E08              LD      A,8
   \   011E  320000            LD      (putCharChFlag),A
    144                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer);
    145          
    146                  //把暂时显存区的数据送到LCM
    147                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(CHINESE_HEIGHT_DEF1-8)*2, 
    148                                                  (CHINESE_HEIGHT_DEF1-8)*tmpwidth*2);        
   \   0121  DD6EFC            LD      L,(IX-4)
   \   0124  2600              LD      H,0
   \   0126  29                ADD     HL,HL
   \   0127  29                ADD     HL,HL
   \   0128  29                ADD     HL,HL
   \   0129  29                ADD     HL,HL
   \   012A  4D                LD      C,L
   \   012B  44                LD      B,H
   \   012C  DD6E06            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  110000            LD      DE,DisplayBuffer
   \   0138  19                ADD     HL,DE
   \   0139  EB                EX      DE,HL
   \   013A  CD0000            CALL    Hdrv_BuffDataTrans
    149                  region.y += CHINESE_HEIGHT_DEF1-8;//Y坐标加8准备输出下区(下半个汉字) 8
   \   013D  3A0100            LD      A,(region+1)
   \   0140  C608              ADD     A,8
   \   0142  320100            LD      (region+1),A
    150                  region.height = CHINESE_HEIGHT_DEF1-8;
    151                  Hdrv_SetWindow(&region);        
   \   0145  CD7201            CALL    ?0037
    152                  //BlackCharToColor(CHINESE_WIDTH_DEF, CharPointBuffer + CHINESE_WIDTH_DEF);        
    153                  BlackCharToColor(CHINESE_WIDTH_DEF1, CharPointBuffer);
   \   0148  010000            LD      BC,CharPointBuffer
   \   014B  111000            LD      DE,16
   \   014E            ?0033:
   \   014E  CD7D01            CALL    ?0038
    154                  //把暂时显存区的数据送到LCM
    155                  Hdrv_BuffDataTrans(DisplayBuffer+colcnt*(CHINESE_HEIGHT_DEF1-8)*2, 
    156                                                  (CHINESE_HEIGHT_DEF1-8)*tmpwidth*2);                                                        
    157                  break;
   \   0151            ?0021:
    158                  
    159              default:
    160                  break;
   \   0151            ?0002:
    161              }
    162              Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成横向显示模
   \   0151  110000            LD      DE,0
   \   0154  CD0000            CALL    Hdrv_SetDrawMode
    163              return TRUE;
   \   0157  3E01              LD      A,1
    164          
    165          
    166          }
   \   0159            ?0022:
   \   0159  DDF9              LD      SP,IX
   \   015B  DDE1              POP     IX
   \   015D  FDE1              POP     IY
   \   015F  C9                RET
   \   0160            ?0035:
   \   0160  FD7E00            LD      A,(IY+0)
   \   0163  320000            LD      (region),A
   \   0166  FD7E01            LD      A,(IY+1)
   \   0169  320100            LD      (region+1),A
   \   016C  FD7E02            LD      A,(IY+2)
   \   016F  320200            LD      (region+2),A
   \   0172            ?0037:
   \   0172  3E08              LD      A,8
   \   0174  320300            LD      (region+3),A
   \   0177            ?0036:
   \   0177  110000            LD      DE,region
   \   017A  C30000            JP      Hdrv_SetWindow
   \   017D            ?0038:
   \   017D  CD0000            CALL    BlackCharToColor
   \   0180  DD6EFC            LD      L,(IX-4)
   \   0183  2600              LD      H,0
   \   0185  29                ADD     HL,HL
   \   0186  29                ADD     HL,HL
   \   0187  29                ADD     HL,HL
   \   0188  29                ADD     HL,HL
   \   0189  4D                LD      C,L
   \   018A  44                LD      B,H
   \   018B  DD6E06            LD      L,(IX+6)
   \   018E  2600              LD      H,0
   \   0190  29                ADD     HL,HL
   \   0191  29                ADD     HL,HL
   \   0192  29                ADD     HL,HL
   \   0193  29                ADD     HL,HL
   \   0194  110000            LD      DE,DisplayBuffer
   \   0197  19                ADD     HL,DE
   \   0198  EB                EX      DE,HL
   \   0199  CD0000            CALL    Hdrv_BuffDataTrans
   \   019C  C9                RET
   \   019D                    END

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

⌨️ 快捷键说明

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