七夕汇编小礼物

这个项目是我2012年8月初开始开发的。我曾在小甲鱼论坛和看雪论坛发表过。

由于准备融入优快云这个大家庭,也希望更多人来查看这个源代码,一起讨论和学习。所以我就搬了过来。

看雪:http://bbs.pediy.com/showthread.php?t=155218

小甲鱼:http://bbs.fishc.com/thread-21213-1-1.html

 

项目名称:七夕礼物

语言:8086汇编 + JavaScript

编译环境:masm6.15

思想:用汇编尝试同步处理。交互式动画。

注:JavaScript源代码是搬网络上的。这个代码被我放在了数据区。= =! 用来生成html文件用。

很多工具和运行环境被我打包到了一起。有兴趣的可以下载来看哈。

下载地址:http://www.kuaipan.cn/file/id_60093550318059539.htm

 

 

下面是代码:

 为什么发表后会多出几个html的代码插入里面?比如 <p></p>

 

assume cs:CG

DG segment  l db 9 dup (20h)   db '   *  *             *  *              *  *             *  *   '   db 18 dup (20h)   db ' *      *         *      *          *      *         *      * '   db 18 dup (20h)   db '*       *        *       *         *       *        *       * '   db 18 dup (20h)   db '*       *        *    *  *         *       *        *    *  * '   db 18 dup (20h)   db ' * * *  *         * *     *         * * *  *         * *     *'   db 18 dup (20h)   db '        *                                  *                  '   db 18 dup (20h)   db '*      *                           *      *                   '   db 18 dup (20h)   db ' * * *                              * * *                     '      ;gaga     num dw $ - offset l ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   ;colour   ;黑+白:07H   ;蓝+红:1CH   ;红+红:4CH   ;蓝+高黄:1eh   ;高  红+黄:0ceh   ;高绿:0ah   ;高红:0ch   ;高黄:0eh   ;高蓝:09h    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  

 i db 27 dup (20h,0)   db 'P',0ah,'l',0ah,'e',0ah,'a',0ah,'s',0ah,'e',0ah,' ',0ah,'p',0ah,'r',0ah   db 'e',0ah,'s',0ah,'s',0ah,' ',0ah,'t',0ah,'h',0ah,'e',0ah,"'",0ah,'1',0ch   db "'",0ah,' ',0ah,'k',0ah,'e',0ah,'y',0ah,'.',0ah   db 28 dup (20h,0)      db 39 dup (20h,0)   db 19h,0eh   db 40 dup (20h,0)   ;Please press the "1" key.    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  t db 15 dup (20h)   db '9966999999966699999996699666699666999966699666699'   db 31 dup (20h)   db '9969999999996999999999699666699669966996699666699'   db 31 dup (20h)   db '9966999999999999999996699666699699666699699666699'   db 31 dup (20h)   db '9966669999999999999666669999966699666699699666699'   db 31 dup (20h)   db '9966666699999999966666666999666699666699699666699'   db 31 dup (20h)   db '9966666666999996666666666999666669966996699666699'   db 31 dup (20h)   db '9966666666699966666666666999666666999966669999996'   db 31 dup (20h)   db '6666666666669666666666666666666666666666666666666'   db 16 dup (20h)   ;隐含图    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 e db 160 dup (20h)   db 53 dup (20h)   db '*'   db 50 dup (20h)   db '*'   db 27 dup (20h)   db '******'   db 43 dup (20h)   db '******'   db 24 dup (20h)   db '*      *'   db 44 dup (20h)   db '*'   db 26 dup (20h)   db '*  *   *'   db 44 dup (20h)   db '*'   db 30 dup (20h)   db '* *'   db 45 dup (20h)   db '*     *'   db 26 dup (20h)   db '*'   db 47 dup (20h)   db '****'   db 26 dup (20h)   db '**'   db 77 dup (20h)   db '*'   db 27 dup (20h)   ;七夕  8行    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     g db 240 dup (20h)   db 6 dup (20h)   db '*'   db 17 dup (20h)   db '*  *'   db 9 dup (20h)   db '*  * *'   db 6 dup (20h) ;8(这个没用,原来备份的值)   db '*  * *'   db 8 dup (20h)   db '*       *'   db 15 dup (20h) ;13      db '*   * *'   db 9 dup (20h)   db '*      *'   db 7 dup (20h)   db '**     *'   db 4 dup (20h) ;6   db '**     *'   db 7 dup (20h)   db '*     *'   db 16 dup (20h) ;14      db '* *     *'   db 6 dup (20h)   db '*       *'   db 7 dup (20h)   db '*      *'   db 4 dup (20h) ;6   db '*      *'   db 8 dup (20h)   db '*   *'   db 16 dup (20h) ;14      db '**      *'   db 6 dup (20h)   db '*    *  *'   db 7 dup (20h)   db '**  *'   db 7 dup (20h) ;9   db '**  *'   db 14 dup (20h)   db '*'   db 17 dup (20h) ;15      db '*       *'   db 7 dup (20h)   db '* *     *'   db 6 dup (20h)   db '*'   db 11 dup (20h) ;13   db '*'   db 17 dup (20h)   db '*'   db 19 dup (20h) ;17      db '*      *'   db 23 dup (20h)   db '*'   db 11 dup (20h) ;13   db '*'   db 14 dup (20h)   db '*'   db 14 dup (20h) ;14   db 320 dup (20)   ;happy  10行    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 het1 DW 0B8CH,0AEAH,0A48H,09A6H,0904H,0860H,07BCH,0718H,0676H,05D6H,0538H,049CH    DW 049EH,04A0H,04A2H,04A4H,04A6H,04A8H,04AAH,054CH,05EEH,0550H,04B2H,04B4H    DW 04B6H,04B8H,04BAH,04BCH,04BEH,04C0H,0564H,0606H,06A6H,0744H,07E0H,087CH    DW 0918H,09B6H,0A54H,0AF2H,0B90H,0C2EH    ;内层坐标     het2 DW 0CCEH,0C2AH,0B86H,0A40H,08F8H,07B2H,066CH,052AH,03EEH,02B4H,021EH,02C8H    DW 040EH,02D4H,023EH,02E8H,042EH,0572H,06B0H,07EAH,0924H,0A5CH,0B96H,0C32H    ;外层坐标

   ;双层心(组合)        het3 DB 'Guess my mind~'    ;猜猜我的心    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 het4 DW 0CCEH,0C2AH,0B86H,0A40H,08F8H,07B2H,066CH,052AH,03EEH,02B4H,021EH,02C8H    DW 040EH    ;左半(外层)    DW 05EEH,054CH,04AAH,04A8H,04A6H,04A4H,04A2H,04A0H,049EH,049CH,0538H,05D6H    DW 0676H,0718H,07BCH,0860H,0904H,09A6H,0A48H,0AEAH,0B8CH,0C2EH    ;左半(内层)     het5 DW 0CCEH,0C32H,0B96H,0A5CH,0924H,07EAH,06B0H,0572H,042EH,02E8H,023EH,02D4H    DW 040EH    ;右半(外层)    DW 05EEH,0550H,04B2H,04B4H,04B6H,04B8H,04BAH,04BCH,04BEH,04C0H,0564H,0606H    DW 06A6H,0744H,07E0H,087CH,0918H,09B6H,0A54H,0AF2H,0B90H,0C2EH    ;右半(内层)       ;双层心(分散)

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 next   db "Next                            "      db "Please press 1 or 2 to choose.  "      db "                                "      db "                                "      db "                                "      ;提示语句      ;接下来,请按1或2来选择     problem1  db "Can answer my three questions?  "      db "                                "      db "1.OK          2.NO              "      db "                                "      db "                                "        ;可以回答我3个问题么?    ;1.OK(problem2)         2.NO(problem3)      problem2  db "Well,you already answered my    "      db "first question,you can answer   "      db "my third question it?           "      db "                                "      db "1.OK          2.NO              "              ;好,你已经回答我一个问题了,那么可以回答我第三个问题么?    ;1.OK(promble4)         2.NO(problem5)      problem3  db "Well,I just hope you can answer "      db "my third question?              "      db "                                "      db "1.OK          2.NO              "      db "                                "        ;好吧,我只希望你能够回答我第三个问题好么?    ;1.OK(problem4)         2.NO(problem5)     problem4  db "Do you love me?                 "      db "The answer can be and the answer"      db "to the second question?         "      db "                                "      db "1.OK          2.OK              "              ;你喜欢我么?答案可以和第二个问题一样吗?    ;1.OK(joke)             2.OK(joke)      problem5  db "Do you love me?                 "      db "The answer can be and the answer"      db "to the second question?         "      db "                                "      db "1.NO          2.NO              "         ;你喜欢我么?答案可以和第二个问题一样吗?    ;1.NO(joke)             2.NO(joke)          joke   db "                                "      db "      \(*^__^*)/...             "      db "                                "      db "You choose,is that I want to say"      db "                                "         ;你选的,就是我想说的。     ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

     rose1   db "rose.htm",0       rose3   db "<html>"      db "<head>"      db "<meta http-equiv="      db "'Content-Type' content='text/html;charset=gbk'>"      db "<title>献给最喜欢的人</title>"           db "</head>"      db "<body>"      db "<canvas></canvas>"      db "<script>"           db "var c = document.getElementsByTagName('canvas')[0];"      db "var b = document.body;"      db "var a = c.getContext('2d');"           db "with(m=Math)C=cos,S=sin,P=pow;O=a.getImageData"      db "(0,0,c.height=f=W=256,f);U=O.data;D={};F=[];function "      db "J(p){p[5]=Q=0;for(j=3;j--;)if(!D[Q=(p[j]>>=2)+Q*f])D[Q]"      db "=F.push(p)}setInterval(function(){for(i=1e3;i--;){c=i%42*1.35;"      db "H=T;T=m.random();A=H*2-1;B=T*2-1;"      db "J([S(H*7)*(o=13+5/(.2+P(T*4,4)))-T*50,T*550+500,(l=C(H*7))*o,"      db "(G=l/7+.5)-T/4,G]);if(A*A+B*B<1)if(c>32)"      db "{J([(o=.5/(H+.01)-H*300)*C(n=(j=c&1)?6:4)+"      db "(w=T*-f)*S(n)+j*630-390,"      db "o*S(n)-w*C(n)+999-j*350,C(B+A)*99-j*50,"      db "(P(l=1-B*B,f*6)+C(H+T)+P(C((o*H+o+(B>0?w:-w))/25),"      db "30)*l-H+2)/5,o/1e3+.7-o*w/3e5])"      db ";J([(o=H*45-20)*C(l=c/.86)+(w=T*T)*f*S(l),"      db "C(B/2)*99-w*T*60+436,o*S(l)-w*f*C(l),w*.3+.3,T*.7])}else "      db "J([(o=A*(2-T)*(80-c*2))*C(c)-(w=99-C(A)*120-C(T)*"      db "(f-c*5)+C(P(1-T,7))*50+c*2)*S(c),(B*2-C(P(T,7))+9)*50,"      db "o*S(c)+w*C(c),1-T*.7,P(1-T,9)/4])}for(i=0;i<f*f;"      db "m[i++]=f)for(l=4;l--;)U[i*4+l]=255;for(c=C(W),"      db "s=S(W),j=F.length;j--;){k=F[j],x=k[0]*c+k[2]*s+99,"      db "z=k[0]*s-k[2]*c,y=k[1]-z*.4<<8;for(i=3;i--;)if"      db "(z<m[p=y-~x+[0,1,f][i]])for(m[p]=z,l=3;l--;)"      db "U[p*4+l]=k[l+3]*f}a.putImageData(O,0,0);W+=.03},T=0)"           db "</script>"      db "</body>"      db "<br><br/>"      db "<br><br/>"      db "<br>执此红玫瑰,送予心上人<br/>"      db "</html>"         ;玫瑰html源码+创建文件所需   ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 gift   db 'Please check your folder,'      db 'there is a gift to you.  '         ;提示语:请查看你的文件夹,有一个礼物呦~ ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 back1   db 'Now look at your folders to'      db 'have more than one file.   '      db 'Open her,A surprise        '      db "please click 'Q' key exit. "      db '    From www.asmedu.net    '      db '        by:MeeSong         '      db '        2012.08.23         '     adrs   dw 03DCH,053EH,066CH,08F0H,0C46H,0CE6H,0D86H

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  love1 db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,010h,00h,00h,00h,00h     db 00h,00h,01fh,090h,00h,00h,00h,00h     db 00h,00h,01fh,090h,03eh,00h,00h,00h     db 00h,00h,04h,0feh,023h,00h,00h,00h     db 00h,00h,04h,013h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,01fh,091h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,011h,021h,00h,00h,00h     db 00h,00h,04h,031h,021h,00h,00h,00h     db 00h,00h,04h,021h,021h,00h,00h,00h     db 00h,00h,04h,021h,021h,00h,00h,00h     db 00h,00h,04h,021h,021h,00h,00h,00h     db 00h,00h,05h,0c1h,021h,00h,00h,00h     db 00h,00h,06h,041h,021h,00h,00h,00h     db 00h,00h,038h,081h,021h,00h,00h,00h     db 00h,00h,01h,093h,023h,00h,00h,00h     db 00h,00h,01h,0eh,03eh,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;珈

 love2 db 00h,00h,00h,01h,080h,00h,00h,00h     db 00h,00h,00h,03h,0c0h,00h,00h,00h     db 00h,00h,03fh,086h,060h,00h,00h,00h     db 00h,00h,04h,0ch,010h,00h,00h,00h     db 00h,00h,04h,030h,0ch,00h,00h,00h     db 00h,00h,04h,0cfh,0f7h,00h,00h,00h     db 00h,00h,04h,00h,01h,00h,00h,00h     db 00h,00h,04h,01eh,00h,00h,00h,00h     db 00h,00h,04h,03fh,06h,00h,00h,00h     db 00h,00h,04h,061h,026h,00h,00h,00h     db 00h,00h,03fh,061h,026h,00h,00h,00h     db 00h,00h,04h,07fh,026h,00h,00h,00h     db 00h,00h,04h,07fh,026h,00h,00h,00h     db 00h,00h,04h,061h,026h,00h,00h,00h     db 00h,00h,04h,061h,026h,00h,00h,00h     db 00h,00h,04h,07fh,026h,00h,00h,00h     db 00h,00h,04h,061h,026h,00h,00h,00h     db 00h,00h,05h,0e1h,026h,00h,00h,00h     db 00h,00h,07h,061h,06h,00h,00h,00h     db 00h,00h,01ch,061h,06h,00h,00h,00h     db 00h,00h,030h,061h,06h,00h,00h,00h     db 00h,00h,00h,06fh,03ch,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;瑜

 love3 db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,01h,00h,00h,00h,00h     db 00h,00h,00h,039h,020h,00h,00h,00h     db 00h,00h,03h,0e1h,030h,00h,00h,00h     db 00h,00h,01eh,081h,018h,00h,00h,00h     db 00h,00h,00h,081h,08h,00h,00h,00h     db 00h,00h,00h,081h,0ch,00h,00h,00h     db 00h,00h,00h,081h,00h,00h,00h,00h     db 00h,00h,03fh,0ffh,0ffh,00h,00h,00h     db 00h,00h,00h,081h,00h,00h,00h,00h     db 00h,00h,00h,081h,04h,00h,00h,00h     db 00h,00h,00h,081h,0ch,00h,00h,00h     db 00h,00h,00h,085h,088h,00h,00h,00h     db 00h,00h,00h,0b8h,090h,00h,00h,00h     db 00h,00h,01h,0e0h,0b0h,00h,00h,00h     db 00h,00h,0fh,080h,0a0h,00h,00h,00h     db 00h,00h,038h,080h,0e0h,00h,00h,00h     db 00h,00h,00h,080h,0c1h,00h,00h,00h     db 00h,00h,00h,081h,0e1h,00h,00h,00h     db 00h,00h,00h,082h,021h,00h,00h,00h     db 00h,00h,00h,08ch,011h,00h,00h,00h     db 00h,00h,018h,098h,019h,00h,00h,00h     db 00h,00h,0fh,080h,0eh,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;我

 love4 db 0,0,0,0,07fh,0,0,0     db 0,0,07h,0ffh,0f8h,0,0,0     db 0,0,0,0,04h,0,0,0     db 0,0,01h,04h,0ch,0,0,0     db 0,0,0,086h,08h,0,0,0     db 0,0,0,082h,018h,0,0,0     db 0,0,0,0c2h,010h,0,0,0     db 0,0,01fh,0ffh,0ffh,0c0h,0,0     db 0,0,010h,010h,0,040h,0,0     db 0,0,010h,010h,0,040h,0,0     db 0,0,010h,010h,0,0c0h,0,0     db 0,0,013h,0ffh,0feh,080h,0,0     db 0,0,0,030h,0,0,0,0     db 0,0,0,020h,0,0,0,0     db 0,0,0,03fh,0fch,0,0,0     db 0,0,0,07fh,0feh,0,0,0     db 0,0,0,0f0h,04h,0,0,0     db 0,0,0,098h,0ch,0,0,0     db 0,0,01h,08ch,018h,0,0,0     db 0,0,07h,06h,030h,0,0,0     db 0,0,0ch,03h,0c0h,0,0,0     db 0,0,018h,03h,0e0h,0,0,0     db 0,0,0,03ch,03ch,0,0,0     db 0,0,03h,0e0h,07h,0c0h,0,0     db 0,0,0,0,0,0,0,0     ;爱

 love6 db 00h,00h,02h,020h,00h,00h,00h,00h     db 00h,00h,02h,020h,00h,00h,00h,00h     db 00h,00h,06h,020h,00h,00h,00h,00h     db 00h,00h,04h,03fh,0fch,00h,00h,00h     db 00h,00h,04h,07fh,0feh,00h,00h,00h     db 00h,00h,04h,041h,03h,00h,00h,00h     db 00h,00h,0ch,0c1h,02h,00h,00h,00h     db 00h,00h,0ch,081h,02h,00h,00h,00h     db 00h,00h,0dh,01h,02h,00h,00h,00h     db 00h,00h,014h,011h,00h,00h,00h,00h     db 00h,00h,014h,011h,08h,00h,00h,00h     db 00h,00h,024h,031h,08h,00h,00h,00h     db 00h,00h,04h,021h,04h,00h,00h,00h     db 00h,00h,04h,021h,04h,00h,00h,00h     db 00h,00h,04h,061h,04h,00h,00h,00h     db 00h,00h,04h,041h,06h,00h,00h,00h     db 00h,00h,04h,0c1h,02h,00h,00h,00h     db 00h,00h,04h,081h,02h,00h,00h,00h     db 00h,00h,05h,081h,02h,00h,00h,00h     db 00h,00h,05h,01h,02h,00h,00h,00h     db 00h,00h,04h,019h,00h,00h,00h,00h     db 00h,00h,04h,0fh,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;你

 love7 db 00h,00h,08h,018h,00h,00h,00h,00h     db 00h,00h,0ch,010h,00h,00h,00h,00h     db 00h,00h,06h,01fh,0ffh,080h,00h,00h     db 00h,00h,02h,020h,00h,00h,00h,00h     db 00h,00h,01h,060h,00h,00h,00h,00h     db 00h,00h,00h,0cfh,0feh,00h,00h,00h     db 00h,00h,00h,090h,03h,00h,00h,00h     db 00h,00h,010h,011h,03h,00h,00h,00h     db 00h,00h,08h,010h,082h,00h,00h,00h     db 00h,00h,04h,010h,0c2h,00h,00h,00h     db 00h,00h,04h,030h,042h,00h,00h,00h     db 00h,00h,00h,07fh,0ffh,080h,00h,00h     db 00h,00h,01h,0ffh,0ffh,080h,00h,00h     db 00h,00h,03h,022h,02h,00h,00h,00h     db 00h,00h,02h,023h,02h,00h,00h,00h     db 00h,00h,02h,021h,082h,00h,00h,00h     db 00h,00h,02h,060h,082h,00h,00h,00h     db 00h,00h,06h,040h,082h,00h,00h,00h     db 00h,00h,04h,07fh,0ffh,080h,00h,00h     db 00h,00h,04h,00h,04h,00h,00h,00h     db 00h,00h,0ch,01h,04h,00h,00h,00h     db 00h,00h,08h,01h,0fch,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;海      love8 db 00h,00h,01h,00h,040h,00h,00h,00h     db 00h,00h,01h,00h,040h,00h,00h,00h     db 00h,00h,01h,00h,040h,00h,00h,00h     db 00h,00h,01h,00h,040h,00h,00h,00h     db 00h,00h,01h,00h,040h,00h,00h,00h     db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h     db 00h,00h,01h,080h,040h,00h,00h,00h     db 00h,00h,01h,080h,040h,00h,00h,00h     db 00h,00h,03h,040h,040h,00h,00h,00h     db 00h,00h,03h,040h,040h,00h,00h,00h     db 00h,00h,03h,020h,040h,00h,00h,00h     db 00h,00h,05h,027h,0feh,00h,00h,00h     db 00h,00h,05h,03ch,03h,00h,00h,00h     db 00h,00h,0dh,08h,03h,00h,00h,00h     db 00h,00h,09h,08h,03h,00h,00h,00h     db 00h,00h,019h,08h,03h,00h,00h,00h     db 00h,00h,01h,08h,03h,00h,00h,00h     db 00h,00h,01h,08h,03h,00h,00h,00h     db 00h,00h,01h,08h,03h,00h,00h,00h     db 00h,00h,01h,08h,03h,00h,00h,00h     db 00h,00h,01h,08h,03h,00h,00h,00h     db 00h,00h,01h,07h,0feh,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;枯

 love9 db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h     db 00h,00h,00h,0ch,00h,00h,00h,00h     db 00h,00h,00h,08h,00h,00h,00h,00h     db 00h,00h,00h,010h,00h,00h,00h,00h     db 00h,00h,00h,030h,00h,00h,00h,00h     db 00h,00h,00h,020h,00h,00h,00h,00h     db 00h,00h,00h,040h,00h,00h,00h,00h     db 00h,00h,00h,0ffh,0fch,00h,00h,00h     db 00h,00h,01h,0ffh,0feh,00h,00h,00h     db 00h,00h,03h,080h,02h,00h,00h,00h     db 00h,00h,07h,080h,02h,00h,00h,00h     db 00h,00h,0dh,080h,02h,00h,00h,00h     db 00h,00h,011h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,02h,00h,00h,00h     db 00h,00h,01h,080h,06h,00h,00h,00h     db 00h,00h,00h,0ffh,0fch,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;石

 lovea db 00h,00h,01h,04h,02h,00h,00h,00h     db 00h,00h,01h,06h,06h,00h,00h,00h     db 00h,00h,01h,02h,04h,00h,00h,00h     db 00h,00h,09h,021h,0ch,00h,00h,00h     db 00h,00h,09h,021h,08h,00h,00h,00h     db 00h,00h,09h,040h,08h,00h,00h,00h     db 00h,00h,09h,05fh,0ffh,080h,00h,00h     db 00h,00h,09h,080h,00h,00h,00h,00h     db 00h,00h,09h,080h,00h,00h,00h,00h     db 00h,00h,09h,00h,00h,00h,00h,00h     db 00h,00h,019h,00h,00h,00h,00h,00h     db 00h,00h,011h,00h,00h,00h,00h,00h     db 00h,00h,01h,00h,00h,00h,00h,00h     db 00h,00h,01h,0fh,0ffh,00h,00h,00h     db 00h,00h,01h,080h,00h,00h,00h,00h     db 00h,00h,02h,080h,00h,00h,00h,00h     db 00h,00h,02h,0c0h,00h,00h,00h,00h     db 00h,00h,02h,040h,00h,00h,00h,00h     db 00h,00h,04h,040h,00h,00h,00h,00h     db 00h,00h,0ch,020h,00h,00h,00h,00h     db 00h,00h,08h,03fh,0ffh,080h,00h,00h     db 00h,00h,010h,03fh,0ffh,080h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;烂      loveb db 00h,00h,00h,080h,00h,00h,00h,00h     db 00h,00h,00h,080h,00h,00h,00h,00h     db 00h,00h,01h,00h,00h,00h,00h,00h     db 00h,00h,01h,0ffh,0feh,00h,00h,00h     db 00h,00h,02h,04h,00h,00h,00h,00h     db 00h,00h,06h,04h,00h,00h,00h,00h     db 00h,00h,0ch,04h,00h,00h,00h,00h     db 00h,00h,018h,04h,00h,00h,00h,00h     db 00h,00h,010h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h     db 00h,00h,00h,06h,00h,00h,00h,00h     db 00h,00h,00h,06h,00h,00h,00h,00h     db 00h,00h,00h,0bh,00h,00h,00h,00h     db 00h,00h,00h,09h,00h,00h,00h,00h     db 00h,00h,00h,010h,080h,00h,00h,00h     db 00h,00h,00h,020h,040h,00h,00h,00h     db 00h,00h,00h,060h,020h,00h,00h,00h     db 00h,00h,01h,080h,018h,00h,00h,00h     db 00h,00h,07h,00h,0eh,00h,00h,00h     db 00h,00h,01ch,00h,03h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;矢

 lovec db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,0fh,0ffh,0feh,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,0ch,00h,00h,00h,00h     db 00h,00h,02h,044h,0ch,00h,00h,00h     db 00h,00h,06h,044h,04h,00h,00h,00h     db 00h,00h,04h,046h,06h,00h,00h,00h     db 00h,00h,04h,042h,02h,00h,00h,00h     db 00h,00h,04h,042h,012h,00h,00h,00h     db 00h,00h,04h,042h,013h,00h,00h,00h     db 00h,00h,08h,042h,011h,00h,00h,00h     db 00h,00h,08h,040h,011h,00h,00h,00h     db 00h,00h,018h,040h,021h,080h,00h,00h     db 00h,00h,010h,07fh,0c0h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;志      loved db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,07h,0ffh,0ffh,080h,00h,00h     db 00h,00h,00h,01h,080h,00h,00h,00h     db 00h,00h,00h,01h,00h,00h,00h,00h     db 00h,00h,00h,03h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,06h,00h,00h,00h,00h     db 00h,00h,00h,0eh,0c0h,00h,00h,00h     db 00h,00h,00h,0ah,060h,00h,00h,00h     db 00h,00h,00h,012h,030h,00h,00h,00h     db 00h,00h,00h,062h,018h,00h,00h,00h     db 00h,00h,00h,0c2h,0ch,00h,00h,00h     db 00h,00h,01h,082h,02h,00h,00h,00h     db 00h,00h,06h,02h,01h,00h,00h,00h     db 00h,00h,08h,02h,00h,080h,00h,00h     db 00h,00h,00h,02h,00h,0c0h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     ;不      lovee db 00h,00h,00h,00h,080h,00h,00h,00h     db 00h,00h,08h,03h,0c0h,00h,00h,00h     db 00h,00h,04h,06h,070h,00h,00h,00h     db 00h,00h,02h,0ch,018h,00h,00h,00h     db 00h,00h,01h,030h,0eh,00h,00h,00h     db 00h,00h,00h,0e0h,03h,080h,00h,00h     db 00h,00h,00h,09fh,0fch,080h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,018h,00h,03h,00h,00h,00h     db 00h,00h,0ch,03fh,013h,00h,00h,00h     db 00h,00h,06h,041h,013h,00h,00h,00h     db 00h,00h,02h,041h,013h,00h,00h,00h     db 00h,00h,00h,07fh,013h,00h,00h,00h     db 00h,00h,03h,041h,013h,00h,00h,00h     db 00h,00h,02h,041h,013h,00h,00h,00h     db 00h,00h,02h,041h,013h,00h,00h,00h     db 00h,00h,06h,07fh,013h,00h,00h,00h     db 00h,00h,04h,041h,013h,00h,00h,00h     db 00h,00h,0ch,041h,013h,00h,00h,00h     db 00h,00h,08h,041h,03h,00h,00h,00h     db 00h,00h,010h,041h,03h,00h,00h,00h     db 00h,00h,00h,04fh,01eh,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;渝

 lovef db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,0ffh,0fch,00h,00h,00h     db 00h,00h,00h,00h,0ch,00h,00h,00h     db 00h,00h,00h,00h,030h,00h,00h,00h     db 00h,00h,00h,01h,0c0h,00h,00h,00h     db 00h,00h,07h,0c3h,08h,040h,00h,00h     db 00h,00h,00h,042h,0ch,040h,00h,00h     db 00h,00h,00h,05fh,0f4h,080h,00h,00h     db 00h,00h,00h,041h,04h,080h,00h,00h     db 00h,00h,00h,041h,05h,080h,00h,00h     db 00h,00h,00h,041h,05h,00h,00h,00h     db 00h,00h,00h,05fh,0f6h,00h,00h,00h     db 00h,00h,00h,05fh,0fah,00h,00h,00h     db 00h,00h,00h,080h,082h,00h,00h,00h     db 00h,00h,00h,080h,083h,00h,00h,00h     db 00h,00h,01h,080h,081h,00h,00h,00h     db 00h,00h,01h,03fh,0f9h,080h,00h,00h     db 00h,00h,03h,00h,080h,080h,00h,00h     db 00h,00h,02h,00h,080h,040h,00h,00h     db 00h,00h,04h,00h,080h,060h,00h,00h     db 00h,00h,08h,031h,080h,020h,00h,00h     db 00h,00h,00h,0fh,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;承

 lovev db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,01h,00h,020h,00h,00h,00h     db 00h,00h,01h,00h,020h,00h,00h,00h     db 00h,00h,01h,00h,020h,00h,00h,00h     db 00h,00h,01h,00h,020h,00h,00h,00h     db 00h,00h,0fh,0f7h,0ffh,080h,00h,00h     db 00h,00h,02h,010h,020h,00h,00h,00h     db 00h,00h,02h,010h,020h,00h,00h,00h     db 00h,00h,02h,010h,020h,00h,00h,00h     db 00h,00h,02h,010h,020h,00h,00h,00h     db 00h,00h,06h,01fh,0ffh,0c0h,00h,00h     db 00h,00h,04h,030h,030h,00h,00h,00h     db 00h,00h,04h,020h,030h,00h,00h,00h     db 00h,00h,04h,020h,078h,00h,00h,00h     db 00h,00h,04h,020h,0ech,00h,00h,00h     db 00h,00h,02h,060h,0a4h,00h,00h,00h     db 00h,00h,01h,0c1h,0a2h,00h,00h,00h     db 00h,00h,00h,0c3h,023h,00h,00h,00h     db 00h,00h,00h,0e6h,021h,080h,00h,00h     db 00h,00h,01h,03ch,020h,0c0h,00h,00h     db 00h,00h,03h,08h,020h,00h,00h,00h     db 00h,00h,06h,00h,020h,00h,00h,00h     db 00h,00h,0ch,00h,020h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;妹      loveh db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;一

 lovei db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,04h,08h,00h,00h,00h     db 00h,00h,08h,04h,08h,00h,00h,00h     db 00h,00h,04h,03fh,0ffh,00h,00h,00h     db 00h,00h,06h,03fh,0ffh,00h,00h,00h     db 00h,00h,03h,04h,08h,00h,00h,00h     db 00h,00h,00h,04h,088h,00h,00h,00h     db 00h,00h,00h,00h,080h,00h,00h,00h     db 00h,00h,03ch,00h,080h,00h,00h,00h     db 00h,00h,04h,07fh,0ffh,00h,00h,00h     db 00h,00h,04h,01h,00h,00h,00h,00h     db 00h,00h,04h,03h,00h,00h,00h,00h     db 00h,00h,04h,02h,00h,00h,00h,00h     db 00h,00h,04h,07h,0fch,00h,00h,00h     db 00h,00h,04h,0ch,06h,00h,00h,00h     db 00h,00h,04h,018h,06h,00h,00h,00h     db 00h,00h,04h,068h,06h,00h,00h,00h     db 00h,00h,04h,08h,06h,00h,00h,00h     db 00h,00h,04h,0c8h,06h,00h,00h,00h     db 00h,00h,05h,088h,06h,00h,00h,00h     db 00h,00h,07h,08h,06h,00h,00h,00h     db 00h,00h,00h,0fh,0fch,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;诺

 lovej db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,020h,020h,00h,00h,00h     db 00h,00h,00h,010h,020h,00h,00h,00h     db 00h,00h,00h,090h,060h,00h,00h,00h     db 00h,00h,00h,098h,040h,00h,00h,00h     db 00h,00h,08h,088h,048h,00h,00h,00h     db 00h,00h,08h,088h,048h,00h,00h,00h     db 00h,00h,08h,08ch,044h,00h,00h,00h     db 00h,00h,08h,084h,0c4h,00h,00h,00h     db 00h,00h,08h,084h,084h,00h,00h,00h     db 00h,00h,08h,086h,086h,00h,00h,00h     db 00h,00h,018h,081h,02h,00h,00h,00h     db 00h,00h,010h,083h,02h,00h,00h,00h     db 00h,00h,010h,082h,02h,00h,00h,00h     db 00h,00h,010h,084h,013h,00h,00h,00h     db 00h,00h,030h,08ch,011h,00h,00h,00h     db 00h,00h,020h,098h,011h,00h,00h,00h     db 00h,00h,00h,0e0h,011h,00h,00h,00h     db 00h,00h,01h,0c0h,010h,00h,00h,00h     db 00h,00h,01eh,080h,030h,00h,00h,00h     db 00h,00h,030h,0ffh,0e0h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;必

 lovek db 00h,00h,00h,04h,00h,00h,00h,00h     db 00h,00h,00h,06h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,07h,0ffh,0ffh,080h,00h,00h     db 00h,00h,04h,00h,00h,080h,00h,00h     db 00h,00h,04h,00h,010h,080h,00h,00h     db 00h,00h,04h,00h,010h,080h,00h,00h     db 00h,00h,04h,00h,010h,080h,00h,00h     db 00h,00h,00h,00h,010h,00h,00h,00h     db 00h,00h,0fh,0ffh,0ffh,0c0h,00h,00h     db 00h,00h,00h,00h,010h,00h,00h,00h     db 00h,00h,00h,00h,010h,00h,00h,00h     db 00h,00h,01h,080h,010h,00h,00h,00h     db 00h,00h,00h,0c0h,010h,00h,00h,00h     db 00h,00h,00h,060h,010h,00h,00h,00h     db 00h,00h,00h,030h,010h,00h,00h,00h     db 00h,00h,00h,010h,010h,00h,00h,00h     db 00h,00h,00h,08h,010h,00h,00h,00h     db 00h,00h,00h,00h,010h,00h,00h,00h     db 00h,00h,00h,00h,010h,00h,00h,00h     db 00h,00h,00h,06h,010h,00h,00h,00h     db 00h,00h,00h,07h,0f0h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;守

 lovel db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;一

 lovem db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,01h,02h,00h,00h,00h,00h     db 00h,00h,01h,02h,00h,00h,00h,00h     db 00h,00h,02h,02h,00h,00h,00h,00h     db 00h,00h,02h,02h,00h,00h,00h,00h     db 00h,00h,03h,0ffh,0feh,00h,00h,00h     db 00h,00h,02h,02h,00h,00h,00h,00h     db 00h,00h,04h,02h,00h,00h,00h,00h     db 00h,00h,04h,02h,00h,00h,00h,00h     db 00h,00h,08h,02h,00h,00h,00h,00h     db 00h,00h,018h,02h,00h,00h,00h,00h     db 00h,00h,010h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,07h,0ffh,0feh,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,00h,02h,00h,00h,00h,00h     db 00h,00h,01fh,0ffh,0ffh,080h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     db 00h,00h,00h,00h,00h,00h,00h,00h     ;生

    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<     ;以上皆为点阵坐标。为64*64单色位图生成。     ;每行8字节,64位。共64行。即64*64.     ;     ;经过删除空白行,已经简化到25行/图     ;     ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<          segm  dw 040,040,120,120,120,260,260,260,260,260,260,260,260     dw 360,360,360,360,360,360,360,360     ;各图形首地址行数         ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<      ofet  dw 040,100,100,160,220,060,120,180,240,340,400,460,520     dw 120,180,240,280,400,460,520,580     ;各图形首地址列数     ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    sec   db 0      ;记录1ch中断运行次数     ;提供延时程序参数    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    DG ends

; ;程序主体思想 ; ;通过各种功能模块(子程序)相互交错 ;利用延时和时差 ; ;来实现同步处理(多线程)的假象 ;制造视觉的同步变换。 ;

CG segment   start :mov si,DG    mov ds,si    xor si,si       mov di,0b800h    mov es,di    mov di,160       lea bx,num    mov cx,[bx]    mov ah,0eh    girl :lodsb    stosw    loop girl    ;送入"gaga"    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   call int1cst    ;截取1ch中断    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov di,13*160    lea si,i    key1 :mov cx,159    call discolor       push si    lea si,sec    and byte ptr [si],0 t1  :cmp byte ptr [si],15    jne t1    pop si    ;t系列皆为控制延时程序    ;    ;通过检测1ch中断运行次数    ;控制指令进程,来实现延时    ;       cld    rep movsb       cmp di,15*160 - 2    jne key1    ;    ;通过检测最后一个字符的位置来判定    ;是否完成同组输出          ;指示语句    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       add di,162    like :mov cx,80    call discolor    ;'*'字符变色       push si    lea si,sec    and byte ptr [si],0 t2  :cmp byte ptr [si],15    jne t2    pop si    ;延时    key2_1 :mov ah,1eh       cmp byte ptr ds:[si],20h    jz space    ;检测空格符,改变颜色       key2_2 :lodsb    stosw    loop key2_1       cmp di,24*160    jne like       jmp clor    space :xor ah,ah    jmp key2_2    ;隐含图    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    clor :call discolor       push si    lea si,sec    and byte ptr [si],0 t2_1 :cmp byte ptr [si],15    jne t2_1    pop si       mov ah,11    int 21h    or al,al    jz clor  ;检测按键状态       xor ax,ax    int 16h    cmp ah,2h    jnz clor       ;检测按键,当按键为1时,则向下执行          mov cx,8*80    mov di,16*160    call discolor    clor1 :cmp byte ptr es:[di],39h    jne snd       mov byte ptr es:[di+1],0ceh    snd  :add di,2    loop clor1    jmp roll       call discolor    ;按键显图    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    roll :lea si,e    mov cx,24    roll1 :push cx    push si    lea si,sec    and byte ptr [si],0 t3  :cmp byte ptr [si],15    jne t3    pop si    ;延时       call discolor    ;'*'符变色       mov dx,1    call rollp    ;滚屏1行       mov cx,80       mov di,0f00h    roll2 :lodsb    stosw    loop roll2    ;送单行字符       pop cx    loop roll1       ;滚屏后,随即向最后一行送入数据,    ;通过时间差,延时等,视觉上会感觉早已存在的数据          ;七夕happy滚屏上移    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       push si    lea si,sec    and byte ptr [si],0 t4  :cmp byte ptr [si],15    jne t4    pop si    ;延时       mov si,0    mov di,158    call close    ;先显示一下内聚门       mov cx,19    poem :push si    lea si,sec    and byte ptr [si],0 t5  :cmp byte ptr [si],10    jne t5    pop si    ;延时       add si,4    sub di,4    call close    ;内聚       push si    push di       sub si,4    add di,4    call clear    ;清除原来的图像       call discolor    ;变色       pop di    pop si    loop poem          ;内聚动画    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       call dclose    ;先改变下图像方向       mov cx,19    poem1 :push si    lea si,sec    and byte ptr [si],0 t6  :cmp byte ptr [si],10    jne t6    pop si    ;延时       sub si,4    add di,4    call dclose    ;外散       push si    push di       add si,4    sub di,4    call clear    ;清除原来图像       pop di    pop si    loop poem1       ;外散动画       call clear    ;清除残留图像    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       lea bx,het3    mov di,13*160+66    mov cx,14    mov ah,0eh    guess :mov al,[bx]    mov es:[di],ax    inc bx    add di,2    loop guess       push si    lea si,sec    and byte ptr [si],0 t6_1 :cmp byte ptr [si],100    jne t6_1    pop si          xor dx,dx    call rollp       ;猜猜我的心 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< lovex :lea bx,het1    mov cx,66    lovex1 :mov di,[bx]    mov word ptr es:[di],0c2ah    ;通过读取各个已经保存好的坐标    ;来向预定位置送入字符    ;以下同理          push si    lea si,sec    and byte ptr [si],0 t7  :cmp byte ptr [si],10    jne t7    pop si       add bx,2    loop lovex1    ;单字符缓慢显示双层心。    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    cai1 :xor ax,ax    int 16h    cmp ah,17h    jz cai1_1    jmp short cai1   ;i    cai1_1 :mov ax,0e49h    mov word ptr es:[11*160+70],ax    mov ax,0720h    mov word ptr es:[11*160+72],ax       cai2 :xor ax,ax    int 16h    cmp ah,26h    jz cai2_1    jmp short cai2   ;l    cai2_1 :mov ax,0e4ch    mov word ptr es:[11*160+74],ax

cai3 :xor ax,ax    int 16h    cmp ah,18h    jz cai3_1    jmp short cai3   ;o    cai3_1 :mov ax,0e4fh    mov word ptr es:[11*160+76],ax

cai4 :xor ax,ax    int 16h    cmp ah,2fh    jz cai4_1    jmp short cai4   ;v    cai4_1 :mov ax,0e56h    mov word ptr es:[11*160+78],ax

cai5 :xor ax,ax    int 16h    cmp ah,12h    jz cai5_1    jmp short cai5   ;e    cai5_1 :mov ax,0e45h    mov word ptr es:[11*160+80],ax    mov ax,0720h    mov word ptr es:[11*160+82],ax

cai6 :xor ax,ax    int 16h    cmp ah,15h    jz cai6_1    jmp short cai6   ;y    cai6_1 :mov ax,0e59h    mov word ptr es:[11*160+84],ax

cai7 :xor ax,ax    int 16h    cmp ah,18h    jz cai7_1    jmp short cai7   ;o    cai7_1 :mov ax,0e4fh    mov word ptr es:[11*160+86],ax

cai8 :xor ax,ax    int 16h    cmp ah,16h    jz cai8_1    jmp short cai8   ;u    cai8_1 :mov ax,0e55h    mov word ptr es:[11*160+88],ax       ;答案判断选定    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       xor dx,dx    mov cx,20    het6 :lea bx,het1    lea bp,het2       call flick1    ;外层心变色       push si    lea si,sec    and byte ptr [si],0 t8  :cmp byte ptr [si],10    jne t8    pop si       call flick2    ;内层心变色       push si    lea si,sec    and byte ptr [si],0 t8_1 :cmp byte ptr [si],2    jne t8_1    pop si       loop het6       ;跳动    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    push si    lea si,sec    and byte ptr [si],0 t9  :cmp byte ptr [si],10    jne t9    pop si    ;暂停一会,陶醉一下~       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       lea bx,het4    lea bp,het5    mov cx,37    lovex3 :mov di,[bx]    mov si,ds:[bp]    mov word ptr es:[di],0720h    mov word ptr es:[si],0720h       push si    lea si,sec    and byte ptr [si],0 ta  :cmp byte ptr [si],10    jne ta    pop si       add bx,2    add bp,2    loop lovex3    ;单字符缓慢分解心       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov di,073ah    mov cx,11    lovex4 :mov byte ptr es:[di],20h       push si    lea si,sec    and byte ptr [si],0 tb  :cmp byte ptr [si],10    jne tb    pop si       sub di,2    loop lovex4    ;分解 i love you    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov dx,0    call rollp    ;清屏    ;保证界面干净    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    ;此部分为语句边框 ; ;原理同上边那个左右滑动门动画一样 ;          push si    lea si,sec    and byte ptr [si],0 tc  :cmp byte ptr [si],20    jne tc    pop si    ;暂停一会       mov di,12*160+78    mov si,12*160+80       mov word ptr es:[di],0cc9h    mov word ptr es:[di+0a0h],0cc8h    ;左       mov word ptr es:[si],0cbbh    mov word ptr es:[si+0a0h],0cbch    ;右       sub di,2    add si,2       mov ax,0c2dh    mov cx,19    wind1 :mov word ptr es:[di],0cc9h    mov word ptr es:[di+0a0h],0cc8h    ;左       mov word ptr es:[si],0cbbh    mov word ptr es:[si+0a0h],0cbch    ;右       mov word ptr es:[di+2],ax    mov word ptr es:[di+0a2h],ax       mov word ptr es:[si-2],ax    mov word ptr es:[si+09eh],ax          push si    lea si,sec    and byte ptr [si],0 td  :cmp byte ptr [si],20    jne td    pop si    ;慢效果       sub di,2    add si,2    loop wind1       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov si,12*160+40    mov di,13*160+40       mov cx,8    wind2 :push cx    mov cx,40    wind3 :mov ax,es:[si]    mov es:[si - 0a0h],ax       mov word ptr es:[si],0720h       mov ax,es:[di]    mov es:[di + 0a0h],ax       mov word ptr es:[di],0720h       add si,2    add di,2    loop wind3    ;单次复制清除上下双行          push si    lea si,sec    and byte ptr [si],0 te  :cmp byte ptr [si],18    jne te    pop si    ;慢效果          add di,80    sub si,240    pop cx    loop wind2       ;问题语句窗口框    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    ;此部分为提问机制 ;       lea si,next    mov di,10*160+50    call pro_str    ;提示语句显示       push si    lea si,sec    and byte ptr [si],0 tf  :cmp byte ptr [si],50    jne tf    pop si    ;暂停约5秒    ;50次应该不到3秒,向显存送入字符,空格占一部分时间       call pro_cle       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       lea si,problem1    call pro_str    choose1 :xor ax,ax    int 16h ;读取按键       cmp al,31h    je prob1 ;第一选择可能       cmp al,32h    je prob2 ;第二选择可能       jmp short choose1    ;第一问题       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    prob1 :call pro_cle ;清除上个问题       lea si,problem2    call pro_str ;显示当前问题    choose2 :xor ax,ax    int 16h       cmp al,31h    je prob3       cmp al,32h    je prob4       jmp short choose2    ;第二问题(1号)       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    prob2 :call pro_cle       lea si,problem3    call pro_str    choose3 :xor ax,ax    int 16h       cmp al,31h    je prob3       cmp al,32h    je prob4       jmp short choose3    ;第二问题(2号)       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    prob3 :call pro_cle       lea si,problem4    call pro_str    choose4 :xor ax,ax    int 16h       cmp al,31h    je joked       cmp al,32h    je joked       jmp short choose4    ;第三问题(1号)       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    prob4 :call pro_cle       lea si,problem5    call pro_str    choose5 :xor ax,ax    int 16h       cmp al,31h    je joked       cmp al,32h    je joked       jmp short choose5    ;第三问题(2号)       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    joked :call pro_cle       lea si,joke    call pro_str    ;答案:结束语       push di    mov cx,5*80    colo :mov byte ptr es:[di+1],0eh    add di,2    loop colo       pop di       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       push si    lea si,sec    and byte ptr [si],0 t01  :cmp byte ptr [si],50    jne t01    pop si    ;暂停约3秒    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    ;倒计时       call pro_cle       mov ax,0e35h    mov di,12*160+80    num1 :mov es:[di],ax       push si    lea si,sec    and byte ptr [si],0 t02  :cmp byte ptr [si],18    jne t02    pop si    ;1s       cmp al,'0'    jz flie       dec ax    jmp short num1       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    flie :mov word ptr es:[di],0720h    ;清除       call rose    ;生成文件       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       lea si,gift    mov di,10*160+50    mov ah,0eh    mov cx,2    gift1 :push cx    mov cx,25    gift2 :lodsb    stosw    loop gift2       mov di,11*160+50    pop cx    loop gift1    ;提示语:礼物       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       push si    lea si,sec    and byte ptr [si],0 t03  :cmp byte ptr [si],54    jne t03    pop si    ;3s       xor dx,dx    call rollp    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

   time1 :mov ax,4f03h    int 10h    push bx    ;保存模式       mov ax,4f02h    mov bx,101h    int 10h    ;设置模式 640*480 256 色       mov ax,04h  ;设置颜色    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov si,DG    mov ds,si       mov si,0a000h    mov es,si    lea si,love1          lea bp,segm       xor dx,dx    mov cx,21    ;图数    tim4 :call tim       cmp dx,4    jz stops       push si    lea si,sec    and byte ptr [si],0 te_1 :cmp byte ptr [si],5    jne te_1    pop si    ;延时    back :inc dx    loop tim4    jmp short over    stops :push si    lea si,sec    and byte ptr [si],0 tf_1 :cmp byte ptr [si],40    jne tf_1    pop si    ;延时    jmp short back    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    over :push si    lea si,sec    and byte ptr [si],0 tf_2 :cmp byte ptr [si],100    jne tf_2    pop si       mov ax,4f02h    pop bx    int 10h    ;恢复模式       ;像素       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<       mov di,DG    mov ds,di    mov di,0b800h    mov es,di       mov ax,0cc20h    mov di,164 way  :mov cx,76   way1 :mov word ptr es:[di],ax    add di,2    loop way1    cmp di,23*160+78*2    je lon    mov di,23*160+4    jmp way       ;设置两个横向边框    lon  :mov cx,23    mov di,162   lon1 :mov word ptr es:[di],ax    mov word ptr es:[di+154],ax    add di,0a0h    loop lon1       ;设置两个纵向边框    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   lea si,back1    lea bx,adrs       mov cx,7    xor dx,dx    ovspk1 :push cx    mov cx,27       mov di,[bx]       cmp dx,2    jz yellow       cmp dx,3    jz yellow       mov ah,0ah    ovspk :lodsb    stosw       cmp byte ptr es:[di-2],'Q'    jz red    red1 :loop ovspk       add bx,2    inc dx    pop cx    loop ovspk1    jmp sto    yellow :mov ah,0eh    jmp ovspk

red  :mov byte ptr es:[di-1],0ch    jmp red1       ;那几句话。 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    sto  :call int1cov

   xor ax,ax    int 16h    cmp ah,10h    jnz sto       mov ax,4c00h    int 21h       ;结束    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;-------------------------------------------------| ;子程序               | ;              | ;目录              | ;              | ;1. 使所有'*'字符随机变色         | ;2. 上滚屏or清屏           | ;3. 截取1CH中断的安装程序         | ;4. 释放1CH中断           | ;5. 向内滑动门动画(双列1次)         | ;6. 向外             | ;7. 配合5 and 6 清除专用         | ;8. 提问显示            | ;9. 提问清除               | ;A. 生成htm文件           | ;B and C.改变心形图案颜色,实现跳动。(内外层)     | ;D. 转换点阵数据子程序          | ;-------------------------------------------------|

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;单字符随机变色 ; ;功能:使‘*’字符变换颜色。 ; ;默认参数: ;es = 0b800h ; discolor:push bx    push cx       xor bx,bx    mov cx,2000    dicl2 :cmp byte ptr es:[bx],'*'    jnz dicl       in al,40h    mov es:[bx+1],al    and byte ptr es:[bx+1],0fh    ;通过读取时钟控制端口,来实现随机变色       ;若想整体变色,就需要把读取端口放到循环外    dicl :add bx,2    loop dicl2       pop cx    pop bx    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;上滚屏or清屏 ; ;功能:上滚屏或清屏 ;dx∈{0~24},当dx=0时,为清屏 ; ; ;这个是我学习《汇编语言》第16章后 ;自己写的算法 ;自我感觉良好哈O(∩_∩)O~ ; ; ;功能除了光标不重置 ;其余都和 AH=06H/int 10h 一样。 ; ; rollp: push ds   push si   push di   push cx      mov si,0b800h   mov ds,si   mov si,160   xor di,di   mov cx,25      sub cx,dx   ;计算复制行数   ;   ;总行数 - 需要上滚行数 = 需要保留行数(需要复制行数)   ;    roll3: push cx   mov cx,160   rep movsb   pop cx   loop roll3   ;复制      mov ax,80   mul dx   mov cx,ax   ;计算清空的行数      ;需要上滚行数*80 = 需要清除的字的次数            mov si,0f9eh   ;指向最后一行最后一个字    roll4: mov word ptr [si],0720H   sub si,2   loop roll4   ;覆盖 = 清除      pop cx   pop di   pop si   pop ds   ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;计时器安装子程序 ; ;截取1ch中断 ;功能:设置参数到指定内存单元 ; ; int1cst :push ds    push si    push es    push di    push cx       push cs    pop ds    lea si,int1c       xor di,di    mov es,di    mov di,204h       mov cx,offset intend - offset int1c       cld    rep movsb       cli    push es:[1ch*4]    push es:[1ch*4+2]    pop es:[202h]    pop es:[200h]       mov word ptr es:[1ch*4],204h    mov word ptr es:[1ch*4+2],0    sti       pop cx    pop di    pop es    pop si    pop ds    ret    ;安装程序    int1c :pushf    call dword ptr cs:[200h]       push ds    push si       mov si,DG    mov ds,si    lea si,sec       inc byte ptr [si]    ;记录运行次数    ;1CH中断会被系统在1秒内大约调用18次    ;通过主程序检测次数来实现延时目的       pop si    pop ds    iret    intend :nop

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;计时器解除子程序 ; ;功能:释放1CH中断 ; ; int1cov :push ds    push si       xor si,si    mov ds,si    mov si,200h       cli    push [si]    push [si+2]    pop ds:[1ch*4+2]    pop ds:[1ch*4]    sti       pop si    pop ds    ret   

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

;close动画(内聚) ; ;si为1号列 ;di为2号列 ; ;原理: ;左列:每次送入字符,列增加一字符 ;    每行输出完便指向下一行输出字符 ; ;右列:每次输入字符,列减少一字符 ;    每行输出完便指向下一行输出字符 ; ;通过主程序设置di,si参数来进行列控制 ; ; ;一下2个同系列子程序同理 ; close :push si    push di    push cx       mov ax,0b800h    mov es,ax       mov ax,0a3dh    mov es:[si],ax    mov es:[di],ax    inc al    mov es:[si+2],ax    sub al,2    mov es:[di-2],ax    ;送入上 => and <=       add si,160    add di,160    mov cx,23    mov al,'|'    close1 :mov es:[si],ax    mov es:[di],ax    mov es:[si+2],ax    mov es:[di-2],ax       add si,160    add di,160    loop close1    ;送入23行'||'       mov al,3dh    mov es:[si],ax    mov es:[di],ax    inc al    mov es:[si+2],ax    sub al,2    mov es:[di-2],ax    ;送入下 => and <=       pop cx    pop di    pop si    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;close动画(外散) ; ;si为1号列 ;di为2号列 ; dclose :push si    push di    push cx       mov ax,0b800h    mov es,ax       mov ax,0a3ch    mov es:[si],ax    add al,2    mov es:[di],ax    dec al    mov es:[si+2],ax    mov es:[di-2],ax    ;送入上 <= and =>       add si,160    add di,160    mov cx,23    mov al,'|'    dclose1 :mov es:[si],ax    mov es:[di],ax    mov es:[si+2],ax    mov es:[di-2],ax       add si,160    add di,160    loop dclose1    ;送入23行||       mov ax,0a3ch    mov es:[si],ax    add al,2    mov es:[di],ax    dec al    mov es:[si+2],ax    mov es:[di-2],ax    ;送入下 <= and =>       pop cx    pop di    pop si    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;clear清除(配合左右滑动门) ; ;si为1号列 ;di为2号列 ; clear :push cx    push si    push di       mov ax,0720h    mov cx,25    clear1 :mov es:[si],ax    mov es:[di],ax    mov es:[si+2],ax    mov es:[di-2],ax    ;根据si,di清除列       add si,160    add di,160    loop clear1       pop di    pop si    pop cx    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;提问段显示 ; ;参数: ;si = 问题偏移地址 ;di = 显存偏移地址

pro_str :push di       mov cx,5    mov ah,0ah    pro1 :push cx    mov cx,32    pro2 :lodsb    stosw       push si    lea si,sec    and byte ptr [si],0 t00  :cmp byte ptr [si],2    jne t00    pop si       loop pro2       add di,96    pop cx    loop pro1       pop di    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;提问段清除 ;与清屏同理 ; ;参数: ;di = 显存偏移地址

pro_cle :push di       mov cx,5    mov ax,0720h    pro3 :push cx    mov cx,32    pro4 :mov es:[di],ax    add di,2    loop pro4       add di,96    pop cx    loop pro3       pop di    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;子程序:rose ; ;功能:生成rose.htm文件 ;

rose :push dx    push ds    push es    push cx       mov dx,DG    mov ds,dx    mov es,dx       lea dx,rose1    xor cx,cx    mov ah,3ch    int 21h    ;创建       jc rose_ret       mov bx,ax    mov cx,1338    lea dx,rose3    mov ah,40h    int 21h    ;写文件       jc rose_ret       mov ah,3eh    int 21h    ;关闭文件    rose_ret:pop cx    pop es    pop ds    pop dx    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;改变外层心字符颜色 ; ;功能:无色与原色相互变换。 ; ;参数:bp=坐标区偏移地址 ; flick1 :push bx    push cx       mov al,00H    mov cx,24       xor dl,1    jz reddd    flick1_1:mov di,ds:[bp]    mov es:[di+1],al       add bp,2    loop flick1_1    jmp short firet    reddd :mov al,0CH    jmp short flick1_1    firet :pop cx    pop bx    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;改变内层心字符颜色 ; ;功能:无色与原色相互变换。 ; ;参数:bx=坐标区偏移地址 ; flick2 :push bx    push cx       mov al,00H    mov cx,42       xor dh,1    jz redd    flick2_1:mov di,[bx]    mov es:[di+1],al       add bx,2    loop flick2_1    jmp short flret    redd :mov al,0CH    jmp short flick2_1    flret :pop cx    pop bx    ret    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;按位写像素子程序(单图显示) ; ;参数:ds=DG bp=指定行数 bp+60=指定列数 ;    al=颜色 ; ;返回参数:si=下一图的首字节 bp=下一图行数 bp=下一图列数 ; ; ;功能:根据单色位图翻译工具生成的数据。来计算坐标并写像素。 ; tim  :push cx    push dx    push ax       mov bx,ds:[bp]     mov ax,640    mul bx    add ax,word ptr ds:[bp+42]    adc dx,0  ;计算结果DX为页数,ax为偏移地址       mov di,ax       xor bx,bx    mov ax,4f05h    int 10h  ;设置页数       add bp,2  ;指向下一图行列          pop ax       mov cx,25  ;行数    tim1 :push cx    mov cx,8  ;字节数    tim2 :push cx    mov cx,8  ;位数       mov ah,[si] ;取字节       tim3 :rcl ah,1    jnc zero  ;检测每位       mov es:[bx+di],al ;当为1时,送入字节    zero :inc bx   ;指向下一像素点    loop tim3       inc si   ;指向下一字节    pop cx    loop tim2       xor bx,bx  ;初始化辅助偏移    add di,640  ;指向下一行    pop cx    loop tim1       pop dx    pop cx    ret

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

CG ends end start


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值