2、:INT10H;画点INCCX;画横线CMPCX,END_X;比较行是否画完JNEDRAW_NEXT;画另一行MOVCX,START_X;另一行的起始点INCDXCMPDX,END_Y;比较列是否画完JNEDRAW_NEXT;未完继续画POPDXPOPCXPOPBXPOPAXENDMDRAWSQREMACROSTART_X,START_Y,END_X,END_Y,COLORLOCALROW_UP,ROW_DOWN,RANK_LEFT,RANK_RIGHT;功能:画不填充的矩形PUSHAXPUSHBXPUSHCXPUSHDXPUSHSIMOVAH,0CHMOVAL
3、,COLORMOVBH,0MOVCX,START_XMOVDX,START_YROW_UP:;画上边INT10HINCCXCMPCX,END_XJNEROW_UPRANK_RIGHT:;画右边INT10HINCDXCMPDX,END_YJNERANK_RIGHTMOVCX,START_X;下边起始点MOVSI,END_XINCSIROW_DOWN:;画下边INT10HINCCXCMPCX,SIJNEROW_DOWNMOVDX,START_Y;右边起始点MOVCX,START_XRANK_LEFT:;画右边INT10HINCDXCMPDX,END_YJNERANK
4、_LEFTPOPSIPOPDXPOPCXPOPBXPOPAXENDM;数据段DATASEGMENT;定义在屏幕绘制字START_COLDB?;存储起始行TEXTDB16;起始行DB2;起始列DB06H;字体颜色DB'PianoXP',0FFH,'Copyright(c)Auto-5-5th',0FFH,0FFH;显示字DB10DUP(2DUP(0DBH),2DUP(20H)),0FFH;颜色交叉矩形DB10DUP(2DUP(20H),2DUP(0DBH)),0FFHDB10DUP(2DUP(0DBH),2DUP(20H)),0FFHDB10DUP(2DUP(20
5、H),2DUP(0DBH)),0FFHDB10DUP(2DUP(0DBH),2DUP(20H)),0FFHDB10DUP(2DUP(20H),2DUP(0DBH)),0FFHDB00;白色琴键坐标ST_LXDW50,61,72,83,94,105,116ST_MXDW127,138,149,160,171,182,193ST_HXDW204,215,226,237,248,259,270ST_YDW50ED_LXDW60,71,82,93,104,115,126ED_MXDW137,148,159,170,181,192,203ED_HXDW214,225,23
6、6,247,258,269,280ED_YDW90;黑色琴键坐标BT_XDW57,68,90,101,112DW134,145,167,178,189DW211,222,244,254,265BT_YDW50BD_XDW64,75,97,108,119DW141,152,174,185,196DW218,229,251,262,273BD_YDW70;音乐频率值LOWDDW131LOWDDDW147,165,175,196,220,247MIDDW262MIDDDW294,330,349,392,440,494HGHDW523HGHDDW587,659,797,
7、783,879,987,1046KEYFLAGDB1;标记低(0)、中(1)、高(2)音键KEYNUMDW1;存储1~7DELAY_TIMEDW7000;延时SONGDW100;保存所选的自动演奏的曲目TUNEDW1;标记c调或d调AUDIODW1;标记低(1)、中(2)、高音(3);自动演奏的歌曲频率和延时MUS_FREQ1DW440,392,330,392,523,440,392,440DW330,392,440,392,330,262,220,392DW330,2DUP(294),330,2DUP(392),440,330DW294,262,392,330
8、,294,262,220