查看: 1959|回复: 1
收起左侧

【转载】七夕小程序:瞬间让对方电脑桌面开满999朵玫瑰(纯16位汇编)2500行

[复制链接]
发表于 2013-8-14 11:08:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转随县论坛。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
前些日子不是七夕嘛。然后呢。正好今年收获了女朋友哈。我就想写一只程序来送她当礼物。纯16位汇编编写。程序情书部分已经略去。咳咳。程序放出源码供同学们交流讨论哈。。
里面涉及了许多知识。自己慢慢挖掘咯。程序可能会有BUG(譬如。bit子程序)。这就需要同学们去发现了。 里面那个玫瑰html源码非本人编写。。借用哈。。IE貌似不会显示出玫瑰。请用chrome或者火狐吧。

其实玫瑰下边是情书,只不过我在这里的给略去了而已。

PS:话说。她挺喜欢的。你们明年的8.2可以想一下。做个什么程序礼物给自己的她。不仅可以增进感情,还可以加强自己的知识哈。。。


欢迎同学们共同讨论哈。程序可能写的不怎么样。但是都是用心去写的每一行代码。。
【转载】七夕小程序:瞬间让对方电脑桌面开满999朵玫瑰(纯16位汇编)2500行情书,女朋友,电脑桌面,chrome,压缩包


编译环境:masm6.15


想要完整的环境及工具都在压缩包里。
2500行=代码+空格+注释。。。

程序源码下载:http://pan.baidu.com/share/link? ... 8&uk=4160755509

代码:
  1. assume cs:CG

  2. DG segment
  3.   l  db 9 dup (20h)
  4.     db '   *  *             *  *              *  *             *  *   '
  5.     db 18 dup (20h)
  6.     db ' *      *         *      *          *      *         *      * '
  7.     db 18 dup (20h)
  8.     db '*       *        *       *         *       *        *       * '
  9.     db 18 dup (20h)
  10.     db '*       *        *    *  *         *       *        *    *  * '
  11.     db 18 dup (20h)
  12.     db ' * * *  *         * *     *         * * *  *         * *     *'
  13.     db 18 dup (20h)
  14.     db '        *                                  *                  '
  15.     db 18 dup (20h)
  16.     db '*      *                           *      *                   '
  17.     db 18 dup (20h)
  18.     db ' * * *                              * * *                     '
  19.    
  20.     ;gaga
  21.    
  22.   num  dw $ - offset l
  23. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  24.     ;colour
  25.     ;黑+白:07H
  26.     ;蓝+红:1CH
  27.     ;红+红:4CH
  28.     ;蓝+高黄:1eh
  29.     ;高  红+黄:0ceh
  30.     ;高绿:0ah
  31.     ;高红:0ch
  32.     ;高黄:0eh
  33.     ;高蓝:09h
  34.    
  35. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   

  36.   i  db 27 dup (20h,0)
  37.     db 'P',0ah,'l',0ah,'e',0ah,'a',0ah,'s',0ah,'e',0ah,' ',0ah,'p',0ah,'r',0ah
  38.     db 'e',0ah,'s',0ah,'s',0ah,' ',0ah,'t',0ah,'h',0ah,'e',0ah,"'",0ah,'1',0ch
  39.     db "'",0ah,' ',0ah,'k',0ah,'e',0ah,'y',0ah,'.',0ah
  40.     db 28 dup (20h,0)
  41.    
  42.     db 39 dup (20h,0)
  43.     db 19h,0eh
  44.     db 40 dup (20h,0)
  45.     ;Please press the "1" key.
  46.    
  47. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  48.   t  db 15 dup (20h)
  49.     db '9966999999966699999996699666699666999966699666699'
  50.     db 31 dup (20h)
  51.     db '9969999999996999999999699666699669966996699666699'
  52.     db 31 dup (20h)
  53.     db '9966999999999999999996699666699699666699699666699'
  54.     db 31 dup (20h)
  55.     db '9966669999999999999666669999966699666699699666699'
  56.     db 31 dup (20h)
  57.     db '9966666699999999966666666999666699666699699666699'
  58.     db 31 dup (20h)
  59.     db '9966666666999996666666666999666669966996699666699'
  60.     db 31 dup (20h)
  61.     db '9966666666699966666666666999666666999966669999996'
  62.     db 31 dup (20h)
  63.     db '6666666666669666666666666666666666666666666666666'
  64.     db 16 dup (20h)
  65.     ;隐含图
  66.    
  67. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  68.   e  db 160 dup (20h)
  69.     db 53 dup (20h)
  70.     db '*'
  71.     db 50 dup (20h)
  72.     db '*'
  73.     db 27 dup (20h)
  74.     db '******'
  75.     db 43 dup (20h)
  76.     db '******'
  77.     db 24 dup (20h)
  78.     db '*      *'
  79.     db 44 dup (20h)
  80.     db '*'
  81.     db 26 dup (20h)
  82.     db '*  *   *'
  83.     db 44 dup (20h)
  84.     db '*'
  85.     db 30 dup (20h)
  86.     db '* *'
  87.     db 45 dup (20h)
  88.     db '*     *'
  89.     db 26 dup (20h)
  90.     db '*'
  91.     db 47 dup (20h)
  92.     db '****'
  93.     db 26 dup (20h)
  94.     db '**'
  95.     db 77 dup (20h)
  96.     db '*'
  97.     db 27 dup (20h)
  98.     ;七夕  8行
  99.    
  100. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  101.    
  102.   g  db 240 dup (20h)
  103.     db 6 dup (20h)
  104.     db '*'
  105.     db 17 dup (20h)
  106.     db '*  *'
  107.     db 9 dup (20h)
  108.     db '*  * *'
  109.     db 6 dup (20h)  ;8(这个没用,原来备份的值)
  110.     db '*  * *'
  111.     db 8 dup (20h)
  112.     db '*       *'
  113.     db 15 dup (20h)  ;13
  114.    
  115.     db '*   * *'
  116.     db 9 dup (20h)
  117.     db '*      *'
  118.     db 7 dup (20h)
  119.     db '**     *'
  120.     db 4 dup (20h)  ;6
  121.     db '**     *'
  122.     db 7 dup (20h)
  123.     db '*     *'
  124.     db 16 dup (20h)  ;14
  125.    
  126.     db '* *     *'
  127.     db 6 dup (20h)
  128.     db '*       *'
  129.     db 7 dup (20h)
  130.     db '*      *'
  131.     db 4 dup (20h)  ;6
  132.     db '*      *'
  133.     db 8 dup (20h)
  134.     db '*   *'
  135.     db 16 dup (20h)  ;14
  136.    
  137.     db '**      *'
  138.     db 6 dup (20h)
  139.     db '*    *  *'
  140.     db 7 dup (20h)
  141.     db '**  *'
  142.     db 7 dup (20h)  ;9
  143.     db '**  *'
  144.     db 14 dup (20h)
  145.     db '*'
  146.     db 17 dup (20h)  ;15
  147.    
  148.     db '*       *'
  149.     db 7 dup (20h)
  150.     db '* *     *'
  151.     db 6 dup (20h)
  152.     db '*'
  153.     db 11 dup (20h)  ;13
  154.     db '*'
  155.     db 17 dup (20h)
  156.     db '*'
  157.     db 19 dup (20h)  ;17
  158.    
  159.     db '*      *'
  160.     db 23 dup (20h)
  161.     db '*'
  162.     db 11 dup (20h)  ;13
  163.     db '*'
  164.     db 14 dup (20h)
  165.     db '*'
  166.     db 14 dup (20h)  ;14
  167.     db 320 dup (20)
  168.     ;happy  10行
  169.    
  170. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

  180.      ;双层心(组合)
  181.      
  182.      
  183.   het3 DB 'Guess my mind~'
  184.      ;猜猜我的心
  185.      
  186. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

  202. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  203.   next    db "Next                            "
  204.         db "Please press 1 or 2 to choose.  "
  205.         db "                                "
  206.         db "                                "
  207.         db "                                "
  208.         ;提示语句
  209.         ;接下来,请按1或2来选择
  210.      
  211.   problem1  db "Can answer my three questions?  "
  212.         db "                                "
  213.         db "1.OK          2.NO              "
  214.         db "                                "
  215.         db "                                "
  216.       
  217.       ;可以回答我3个问题么?
  218.       ;1.OK(problem2)         2.NO(problem3)
  219.       
  220.   problem2  db "Well,you already answered my    "
  221.         db "first question,you can answer   "
  222.         db "my third question it?           "
  223.         db "                                "
  224.         db "1.OK          2.NO              "
  225.         
  226.         
  227.       ;好,你已经回答我一个问题了,那么可以回答我第三个问题么?
  228.       ;1.OK(promble4)         2.NO(problem5)
  229.       
  230.   problem3  db "Well,I just hope you can answer "
  231.         db "my third question?              "
  232.         db "                                "
  233.         db "1.OK          2.NO              "
  234.         db "                                "
  235.       
  236.       ;好吧,我只希望你能够回答我第三个问题好么?
  237.       ;1.OK(problem4)          2.NO(problem5)
  238.      
  239.   problem4  db "Do you love me?                 "
  240.         db "The answer can be and the answer"
  241.         db "to the second question?         "
  242.         db "                                "
  243.         db "1.OK          2.OK              "
  244.         
  245.         
  246.       ;你喜欢我么?答案可以和第二个问题一样吗?
  247.       ;1.OK(joke)             2.OK(joke)
  248.       
  249.   problem5  db "Do you love me?                 "
  250.         db "The answer can be and the answer"
  251.         db "to the second question?         "
  252.         db "                                "
  253.         db "1.NO          2.NO              "
  254.         
  255.       ;你喜欢我么?答案可以和第二个问题一样吗?
  256.       ;1.NO(joke)             2.NO(joke)
  257.       
  258.       
  259.   joke    db "                                "
  260.         db "      \(*^__^*)/...             "
  261.         db "                                "
  262.         db "You choose,is that I want to say"
  263.         db "                                "
  264.       
  265.        ;你选的,就是我想说的。
  266.       
  267. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  268.       
  269.   rose1    db "rose.htm",0
  270.         
  271.   rose3    db "<html>"
  272.         db "<head>"
  273.         db "<meta http-equiv="
  274.         db "'Content-Type' content='text/html;charset=gbk'>"
  275.         db "<title>献给最喜欢的人</title>"
  276.         
  277.         db "</head>"
  278.         db "<body>"
  279.         db "<canvas></canvas>"
  280.         db "<script>"
  281.         
  282.         db "var c = document.getElementsByTagName('canvas')[0];"
  283.         db "var b = document.body;"
  284.         db "var a = c.getContext('2d');"
  285.         
  286.         db "with(m=Math)C=cos,S=sin,P=pow;O=a.getImageData"
  287.         db "(0,0,c.height=f=W=256,f);U=O.data;D={};F=[];function "
  288.         db "J(p){p[5]=Q=0;for(j=3;j--;)if(!D[Q=(p[j]>>=2)+Q*f])D[Q]"
  289.         db "=F.push(p)}setInterval(function(){for(i=1e3;i--;){c=i%42*1.35;"
  290.         db "H=T;T=m.random();A=H*2-1;B=T*2-1;"
  291.         db "J([S(H*7)*(o=13+5/(.2+P(T*4,4)))-T*50,T*550+500,(l=C(H*7))*o,"
  292.         db "(G=l/7+.5)-T/4,G]);if(A*A+B*B<1)if(c>32)"
  293.         db "{J([(o=.5/(H+.01)-H*300)*C(n=(j=c&1)?6:4)+"
  294.         db "(w=T*-f)*S(n)+j*630-390,"
  295.         db "o*S(n)-w*C(n)+999-j*350,C(B+A)*99-j*50,"
  296.         db "(P(l=1-B*B,f*6)+C(H+T)+P(C((o*H+o+(B>0?w:-w))/25),"
  297.         db "30)*l-H+2)/5,o/1e3+.7-o*w/3e5])"
  298.         db ";J([(o=H*45-20)*C(l=c/.86)+(w=T*T)*f*S(l),"
  299.         db "C(B/2)*99-w*T*60+436,o*S(l)-w*f*C(l),w*.3+.3,T*.7])}else "
  300.         db "J([(o=A*(2-T)*(80-c*2))*C(c)-(w=99-C(A)*120-C(T)*"
  301.         db "(f-c*5)+C(P(1-T,7))*50+c*2)*S(c),(B*2-C(P(T,7))+9)*50,"
  302.         db "o*S(c)+w*C(c),1-T*.7,P(1-T,9)/4])}for(i=0;i<f*f;"
  303.         db "m[i++]=f)for(l=4;l--;)U[i*4+l]=255;for(c=C(W),"
  304.         db "s=S(W),j=F.length;j--;){k=F[j],x=k[0]*c+k[2]*s+99,"
  305.         db "z=k[0]*s-k[2]*c,y=k[1]-z*.4<<8;for(i=3;i--;)if"
  306.         db "(z<m[p=y-~x+[0,1,f][i]])for(m[p]=z,l=3;l--;)"
  307.         db "U[p*4+l]=k[l+3]*f}a.putImageData(O,0,0);W+=.03},T=0)"
  308.         
  309.         db "</script>"
  310.         db "</body>"
  311.         db "<br><br/>"
  312.         db "<br><br/>"
  313.         db "<br>执此红玫瑰,送予心上人<br/>"
  314.         db "</html>"
  315.         
  316.       ;玫瑰html源码+创建文件所需
  317.   
  318. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

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

  333. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  334.   love1 db 00h,00h,00h,00h,00h,00h,00h,00h
  335.       db 00h,00h,00h,010h,00h,00h,00h,00h
  336.       db 00h,00h,01fh,090h,00h,00h,00h,00h
  337.       db 00h,00h,01fh,090h,03eh,00h,00h,00h
  338.       db 00h,00h,04h,0feh,023h,00h,00h,00h
  339.       db 00h,00h,04h,013h,021h,00h,00h,00h
  340.       db 00h,00h,04h,011h,021h,00h,00h,00h
  341.       db 00h,00h,04h,011h,021h,00h,00h,00h
  342.       db 00h,00h,04h,011h,021h,00h,00h,00h
  343.       db 00h,00h,04h,011h,021h,00h,00h,00h
  344.       db 00h,00h,04h,011h,021h,00h,00h,00h
  345.       db 00h,00h,01fh,091h,021h,00h,00h,00h
  346.       db 00h,00h,04h,011h,021h,00h,00h,00h
  347.       db 00h,00h,04h,011h,021h,00h,00h,00h
  348.       db 00h,00h,04h,031h,021h,00h,00h,00h
  349.       db 00h,00h,04h,021h,021h,00h,00h,00h
  350.       db 00h,00h,04h,021h,021h,00h,00h,00h
  351.       db 00h,00h,04h,021h,021h,00h,00h,00h
  352.       db 00h,00h,05h,0c1h,021h,00h,00h,00h
  353.       db 00h,00h,06h,041h,021h,00h,00h,00h
  354.       db 00h,00h,038h,081h,021h,00h,00h,00h
  355.       db 00h,00h,01h,093h,023h,00h,00h,00h
  356.       db 00h,00h,01h,0eh,03eh,00h,00h,00h
  357.       db 00h,00h,00h,00h,00h,00h,00h,00h
  358.       db 00h,00h,00h,00h,00h,00h,00h,00h
  359.       ;珈

  360.   love2 db 00h,00h,00h,01h,080h,00h,00h,00h
  361.       db 00h,00h,00h,03h,0c0h,00h,00h,00h
  362.       db 00h,00h,03fh,086h,060h,00h,00h,00h
  363.       db 00h,00h,04h,0ch,010h,00h,00h,00h
  364.       db 00h,00h,04h,030h,0ch,00h,00h,00h
  365.       db 00h,00h,04h,0cfh,0f7h,00h,00h,00h
  366.       db 00h,00h,04h,00h,01h,00h,00h,00h
  367.       db 00h,00h,04h,01eh,00h,00h,00h,00h
  368.       db 00h,00h,04h,03fh,06h,00h,00h,00h
  369.       db 00h,00h,04h,061h,026h,00h,00h,00h
  370.       db 00h,00h,03fh,061h,026h,00h,00h,00h
  371.       db 00h,00h,04h,07fh,026h,00h,00h,00h
  372.       db 00h,00h,04h,07fh,026h,00h,00h,00h
  373.       db 00h,00h,04h,061h,026h,00h,00h,00h
  374.       db 00h,00h,04h,061h,026h,00h,00h,00h
  375.       db 00h,00h,04h,07fh,026h,00h,00h,00h
  376.       db 00h,00h,04h,061h,026h,00h,00h,00h
  377.       db 00h,00h,05h,0e1h,026h,00h,00h,00h
  378.       db 00h,00h,07h,061h,06h,00h,00h,00h
  379.       db 00h,00h,01ch,061h,06h,00h,00h,00h
  380.       db 00h,00h,030h,061h,06h,00h,00h,00h
  381.       db 00h,00h,00h,06fh,03ch,00h,00h,00h
  382.       db 00h,00h,00h,00h,00h,00h,00h,00h
  383.       db 00h,00h,00h,00h,00h,00h,00h,00h
  384.       db 00h,00h,00h,00h,00h,00h,00h,00h
  385.       ;瑜

  386.   love3 db 00h,00h,00h,00h,00h,00h,00h,00h
  387.       db 00h,00h,00h,01h,00h,00h,00h,00h
  388.       db 00h,00h,00h,039h,020h,00h,00h,00h
  389.       db 00h,00h,03h,0e1h,030h,00h,00h,00h
  390.       db 00h,00h,01eh,081h,018h,00h,00h,00h
  391.       db 00h,00h,00h,081h,08h,00h,00h,00h
  392.       db 00h,00h,00h,081h,0ch,00h,00h,00h
  393.       db 00h,00h,00h,081h,00h,00h,00h,00h
  394.       db 00h,00h,03fh,0ffh,0ffh,00h,00h,00h
  395.       db 00h,00h,00h,081h,00h,00h,00h,00h
  396.       db 00h,00h,00h,081h,04h,00h,00h,00h
  397.       db 00h,00h,00h,081h,0ch,00h,00h,00h
  398.       db 00h,00h,00h,085h,088h,00h,00h,00h
  399.       db 00h,00h,00h,0b8h,090h,00h,00h,00h
  400.       db 00h,00h,01h,0e0h,0b0h,00h,00h,00h
  401.       db 00h,00h,0fh,080h,0a0h,00h,00h,00h
  402.       db 00h,00h,038h,080h,0e0h,00h,00h,00h
  403.       db 00h,00h,00h,080h,0c1h,00h,00h,00h
  404.       db 00h,00h,00h,081h,0e1h,00h,00h,00h
  405.       db 00h,00h,00h,082h,021h,00h,00h,00h
  406.       db 00h,00h,00h,08ch,011h,00h,00h,00h
  407.       db 00h,00h,018h,098h,019h,00h,00h,00h
  408.       db 00h,00h,0fh,080h,0eh,00h,00h,00h
  409.       db 00h,00h,00h,00h,00h,00h,00h,00h
  410.       db 00h,00h,00h,00h,00h,00h,00h,00h
  411.       ;我

  412.   love4 db 0,0,0,0,07fh,0,0,0
  413.       db 0,0,07h,0ffh,0f8h,0,0,0
  414.       db 0,0,0,0,04h,0,0,0
  415.       db 0,0,01h,04h,0ch,0,0,0
  416.       db 0,0,0,086h,08h,0,0,0
  417.       db 0,0,0,082h,018h,0,0,0
  418.       db 0,0,0,0c2h,010h,0,0,0
  419.       db 0,0,01fh,0ffh,0ffh,0c0h,0,0
  420.       db 0,0,010h,010h,0,040h,0,0
  421.       db 0,0,010h,010h,0,040h,0,0
  422.       db 0,0,010h,010h,0,0c0h,0,0
  423.       db 0,0,013h,0ffh,0feh,080h,0,0
  424.       db 0,0,0,030h,0,0,0,0
  425.       db 0,0,0,020h,0,0,0,0
  426.       db 0,0,0,03fh,0fch,0,0,0
  427.       db 0,0,0,07fh,0feh,0,0,0
  428.       db 0,0,0,0f0h,04h,0,0,0
  429.       db 0,0,0,098h,0ch,0,0,0
  430.       db 0,0,01h,08ch,018h,0,0,0
  431.       db 0,0,07h,06h,030h,0,0,0
  432.       db 0,0,0ch,03h,0c0h,0,0,0
  433.       db 0,0,018h,03h,0e0h,0,0,0
  434.       db 0,0,0,03ch,03ch,0,0,0
  435.       db 0,0,03h,0e0h,07h,0c0h,0,0
  436.       db 0,0,0,0,0,0,0,0
  437.       ;爱

  438.   love6 db 00h,00h,02h,020h,00h,00h,00h,00h
  439.       db 00h,00h,02h,020h,00h,00h,00h,00h
  440.       db 00h,00h,06h,020h,00h,00h,00h,00h
  441.       db 00h,00h,04h,03fh,0fch,00h,00h,00h
  442.       db 00h,00h,04h,07fh,0feh,00h,00h,00h
  443.       db 00h,00h,04h,041h,03h,00h,00h,00h
  444.       db 00h,00h,0ch,0c1h,02h,00h,00h,00h
  445.       db 00h,00h,0ch,081h,02h,00h,00h,00h
  446.       db 00h,00h,0dh,01h,02h,00h,00h,00h
  447.       db 00h,00h,014h,011h,00h,00h,00h,00h
  448.       db 00h,00h,014h,011h,08h,00h,00h,00h
  449.       db 00h,00h,024h,031h,08h,00h,00h,00h
  450.       db 00h,00h,04h,021h,04h,00h,00h,00h
  451.       db 00h,00h,04h,021h,04h,00h,00h,00h
  452.       db 00h,00h,04h,061h,04h,00h,00h,00h
  453.       db 00h,00h,04h,041h,06h,00h,00h,00h
  454.       db 00h,00h,04h,0c1h,02h,00h,00h,00h
  455.       db 00h,00h,04h,081h,02h,00h,00h,00h
  456.       db 00h,00h,05h,081h,02h,00h,00h,00h
  457.       db 00h,00h,05h,01h,02h,00h,00h,00h
  458.       db 00h,00h,04h,019h,00h,00h,00h,00h
  459.       db 00h,00h,04h,0fh,00h,00h,00h,00h
  460.       db 00h,00h,00h,00h,00h,00h,00h,00h
  461.       db 00h,00h,00h,00h,00h,00h,00h,00h
  462.       db 00h,00h,00h,00h,00h,00h,00h,00h
  463.       ;你

  464.   love7 db 00h,00h,08h,018h,00h,00h,00h,00h
  465.       db 00h,00h,0ch,010h,00h,00h,00h,00h
  466.       db 00h,00h,06h,01fh,0ffh,080h,00h,00h
  467.       db 00h,00h,02h,020h,00h,00h,00h,00h
  468.       db 00h,00h,01h,060h,00h,00h,00h,00h
  469.       db 00h,00h,00h,0cfh,0feh,00h,00h,00h
  470.       db 00h,00h,00h,090h,03h,00h,00h,00h
  471.       db 00h,00h,010h,011h,03h,00h,00h,00h
  472.       db 00h,00h,08h,010h,082h,00h,00h,00h
  473.       db 00h,00h,04h,010h,0c2h,00h,00h,00h
  474.       db 00h,00h,04h,030h,042h,00h,00h,00h
  475.       db 00h,00h,00h,07fh,0ffh,080h,00h,00h
  476.       db 00h,00h,01h,0ffh,0ffh,080h,00h,00h
  477.       db 00h,00h,03h,022h,02h,00h,00h,00h
  478.       db 00h,00h,02h,023h,02h,00h,00h,00h
  479.       db 00h,00h,02h,021h,082h,00h,00h,00h
  480.       db 00h,00h,02h,060h,082h,00h,00h,00h
  481.       db 00h,00h,06h,040h,082h,00h,00h,00h
  482.       db 00h,00h,04h,07fh,0ffh,080h,00h,00h
  483.       db 00h,00h,04h,00h,04h,00h,00h,00h
  484.       db 00h,00h,0ch,01h,04h,00h,00h,00h
  485.       db 00h,00h,08h,01h,0fch,00h,00h,00h
  486.       db 00h,00h,00h,00h,00h,00h,00h,00h
  487.       db 00h,00h,00h,00h,00h,00h,00h,00h
  488.       db 00h,00h,00h,00h,00h,00h,00h,00h
  489.       ;海
  490.       
  491.   love8 db 00h,00h,01h,00h,040h,00h,00h,00h
  492.       db 00h,00h,01h,00h,040h,00h,00h,00h
  493.       db 00h,00h,01h,00h,040h,00h,00h,00h
  494.       db 00h,00h,01h,00h,040h,00h,00h,00h
  495.       db 00h,00h,01h,00h,040h,00h,00h,00h
  496.       db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h
  497.       db 00h,00h,01h,080h,040h,00h,00h,00h
  498.       db 00h,00h,01h,080h,040h,00h,00h,00h
  499.       db 00h,00h,03h,040h,040h,00h,00h,00h
  500.       db 00h,00h,03h,040h,040h,00h,00h,00h
  501.       db 00h,00h,03h,020h,040h,00h,00h,00h
  502.       db 00h,00h,05h,027h,0feh,00h,00h,00h
  503.       db 00h,00h,05h,03ch,03h,00h,00h,00h
  504.       db 00h,00h,0dh,08h,03h,00h,00h,00h
  505.       db 00h,00h,09h,08h,03h,00h,00h,00h
  506.       db 00h,00h,019h,08h,03h,00h,00h,00h
  507.       db 00h,00h,01h,08h,03h,00h,00h,00h
  508.       db 00h,00h,01h,08h,03h,00h,00h,00h
  509.       db 00h,00h,01h,08h,03h,00h,00h,00h
  510.       db 00h,00h,01h,08h,03h,00h,00h,00h
  511.       db 00h,00h,01h,08h,03h,00h,00h,00h
  512.       db 00h,00h,01h,07h,0feh,00h,00h,00h
  513.       db 00h,00h,00h,00h,00h,00h,00h,00h
  514.       db 00h,00h,00h,00h,00h,00h,00h,00h
  515.       db 00h,00h,00h,00h,00h,00h,00h,00h
  516.       ;枯

  517.   love9 db 00h,00h,00h,00h,00h,00h,00h,00h
  518.       db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h
  519.       db 00h,00h,00h,0ch,00h,00h,00h,00h
  520.       db 00h,00h,00h,08h,00h,00h,00h,00h
  521.       db 00h,00h,00h,010h,00h,00h,00h,00h
  522.       db 00h,00h,00h,030h,00h,00h,00h,00h
  523.       db 00h,00h,00h,020h,00h,00h,00h,00h
  524.       db 00h,00h,00h,040h,00h,00h,00h,00h
  525.       db 00h,00h,00h,0ffh,0fch,00h,00h,00h
  526.       db 00h,00h,01h,0ffh,0feh,00h,00h,00h
  527.       db 00h,00h,03h,080h,02h,00h,00h,00h
  528.       db 00h,00h,07h,080h,02h,00h,00h,00h
  529.       db 00h,00h,0dh,080h,02h,00h,00h,00h
  530.       db 00h,00h,011h,080h,02h,00h,00h,00h
  531.       db 00h,00h,01h,080h,02h,00h,00h,00h
  532.       db 00h,00h,01h,080h,02h,00h,00h,00h
  533.       db 00h,00h,01h,080h,02h,00h,00h,00h
  534.       db 00h,00h,01h,080h,02h,00h,00h,00h
  535.       db 00h,00h,01h,080h,02h,00h,00h,00h
  536.       db 00h,00h,01h,080h,06h,00h,00h,00h
  537.       db 00h,00h,00h,0ffh,0fch,00h,00h,00h
  538.       db 00h,00h,00h,00h,00h,00h,00h,00h
  539.       db 00h,00h,00h,00h,00h,00h,00h,00h
  540.       db 00h,00h,00h,00h,00h,00h,00h,00h
  541.       db 00h,00h,00h,00h,00h,00h,00h,00h
  542.       ;石

  543.   lovea db 00h,00h,01h,04h,02h,00h,00h,00h
  544.       db 00h,00h,01h,06h,06h,00h,00h,00h
  545.       db 00h,00h,01h,02h,04h,00h,00h,00h
  546.       db 00h,00h,09h,021h,0ch,00h,00h,00h
  547.       db 00h,00h,09h,021h,08h,00h,00h,00h
  548.       db 00h,00h,09h,040h,08h,00h,00h,00h
  549.       db 00h,00h,09h,05fh,0ffh,080h,00h,00h
  550.       db 00h,00h,09h,080h,00h,00h,00h,00h
  551.       db 00h,00h,09h,080h,00h,00h,00h,00h
  552.       db 00h,00h,09h,00h,00h,00h,00h,00h
  553.       db 00h,00h,019h,00h,00h,00h,00h,00h
  554.       db 00h,00h,011h,00h,00h,00h,00h,00h
  555.       db 00h,00h,01h,00h,00h,00h,00h,00h
  556.       db 00h,00h,01h,0fh,0ffh,00h,00h,00h
  557.       db 00h,00h,01h,080h,00h,00h,00h,00h
  558.       db 00h,00h,02h,080h,00h,00h,00h,00h
  559.       db 00h,00h,02h,0c0h,00h,00h,00h,00h
  560.       db 00h,00h,02h,040h,00h,00h,00h,00h
  561.       db 00h,00h,04h,040h,00h,00h,00h,00h
  562.       db 00h,00h,0ch,020h,00h,00h,00h,00h
  563.       db 00h,00h,08h,03fh,0ffh,080h,00h,00h
  564.       db 00h,00h,010h,03fh,0ffh,080h,00h,00h
  565.       db 00h,00h,00h,00h,00h,00h,00h,00h
  566.       db 00h,00h,00h,00h,00h,00h,00h,00h
  567.       db 00h,00h,00h,00h,00h,00h,00h,00h
  568.       ;烂
  569.       
  570.   loveb db 00h,00h,00h,080h,00h,00h,00h,00h
  571.       db 00h,00h,00h,080h,00h,00h,00h,00h
  572.       db 00h,00h,01h,00h,00h,00h,00h,00h
  573.       db 00h,00h,01h,0ffh,0feh,00h,00h,00h
  574.       db 00h,00h,02h,04h,00h,00h,00h,00h
  575.       db 00h,00h,06h,04h,00h,00h,00h,00h
  576.       db 00h,00h,0ch,04h,00h,00h,00h,00h
  577.       db 00h,00h,018h,04h,00h,00h,00h,00h
  578.       db 00h,00h,010h,04h,00h,00h,00h,00h
  579.       db 00h,00h,00h,04h,00h,00h,00h,00h
  580.       db 00h,00h,00h,04h,00h,00h,00h,00h
  581.       db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h
  582.       db 00h,00h,00h,06h,00h,00h,00h,00h
  583.       db 00h,00h,00h,06h,00h,00h,00h,00h
  584.       db 00h,00h,00h,0bh,00h,00h,00h,00h
  585.       db 00h,00h,00h,09h,00h,00h,00h,00h
  586.       db 00h,00h,00h,010h,080h,00h,00h,00h
  587.       db 00h,00h,00h,020h,040h,00h,00h,00h
  588.       db 00h,00h,00h,060h,020h,00h,00h,00h
  589.       db 00h,00h,01h,080h,018h,00h,00h,00h
  590.       db 00h,00h,07h,00h,0eh,00h,00h,00h
  591.       db 00h,00h,01ch,00h,03h,00h,00h,00h
  592.       db 00h,00h,00h,00h,00h,00h,00h,00h
  593.       db 00h,00h,00h,00h,00h,00h,00h,00h
  594.       db 00h,00h,00h,00h,00h,00h,00h,00h
  595.       ;矢

  596.   lovec db 00h,00h,00h,04h,00h,00h,00h,00h
  597.       db 00h,00h,00h,04h,00h,00h,00h,00h
  598.       db 00h,00h,00h,04h,00h,00h,00h,00h
  599.       db 00h,00h,01fh,0ffh,0ffh,00h,00h,00h
  600.       db 00h,00h,00h,04h,00h,00h,00h,00h
  601.       db 00h,00h,00h,04h,00h,00h,00h,00h
  602.       db 00h,00h,00h,04h,00h,00h,00h,00h
  603.       db 00h,00h,00h,04h,00h,00h,00h,00h
  604.       db 00h,00h,00h,04h,00h,00h,00h,00h
  605.       db 00h,00h,0fh,0ffh,0feh,00h,00h,00h
  606.       db 00h,00h,00h,00h,00h,00h,00h,00h
  607.       db 00h,00h,00h,0ch,00h,00h,00h,00h
  608.       db 00h,00h,02h,044h,0ch,00h,00h,00h
  609.       db 00h,00h,06h,044h,04h,00h,00h,00h
  610.       db 00h,00h,04h,046h,06h,00h,00h,00h
  611.       db 00h,00h,04h,042h,02h,00h,00h,00h
  612.       db 00h,00h,04h,042h,012h,00h,00h,00h
  613.       db 00h,00h,04h,042h,013h,00h,00h,00h
  614.       db 00h,00h,08h,042h,011h,00h,00h,00h
  615.       db 00h,00h,08h,040h,011h,00h,00h,00h
  616.       db 00h,00h,018h,040h,021h,080h,00h,00h
  617.       db 00h,00h,010h,07fh,0c0h,00h,00h,00h
  618.       db 00h,00h,00h,00h,00h,00h,00h,00h
  619.       db 00h,00h,00h,00h,00h,00h,00h,00h
  620.       db 00h,00h,00h,00h,00h,00h,00h,00h
  621.       ;志
  622.       
  623.   loved db 00h,00h,00h,00h,00h,00h,00h,00h
  624.       db 00h,00h,00h,00h,00h,00h,00h,00h
  625.       db 00h,00h,00h,00h,00h,00h,00h,00h
  626.       db 00h,00h,00h,00h,00h,00h,00h,00h
  627.       db 00h,00h,07h,0ffh,0ffh,080h,00h,00h
  628.       db 00h,00h,00h,01h,080h,00h,00h,00h
  629.       db 00h,00h,00h,01h,00h,00h,00h,00h
  630.       db 00h,00h,00h,03h,00h,00h,00h,00h
  631.       db 00h,00h,00h,02h,00h,00h,00h,00h
  632.       db 00h,00h,00h,06h,00h,00h,00h,00h
  633.       db 00h,00h,00h,0eh,0c0h,00h,00h,00h
  634.       db 00h,00h,00h,0ah,060h,00h,00h,00h
  635.       db 00h,00h,00h,012h,030h,00h,00h,00h
  636.       db 00h,00h,00h,062h,018h,00h,00h,00h
  637.       db 00h,00h,00h,0c2h,0ch,00h,00h,00h
  638.       db 00h,00h,01h,082h,02h,00h,00h,00h
  639.       db 00h,00h,06h,02h,01h,00h,00h,00h
  640.       db 00h,00h,08h,02h,00h,080h,00h,00h
  641.       db 00h,00h,00h,02h,00h,0c0h,00h,00h
  642.       db 00h,00h,00h,02h,00h,00h,00h,00h
  643.       db 00h,00h,00h,02h,00h,00h,00h,00h
  644.       db 00h,00h,00h,02h,00h,00h,00h,00h
  645.       db 00h,00h,00h,02h,00h,00h,00h,00h
  646.       db 00h,00h,00h,02h,00h,00h,00h,00h
  647.       db 00h,00h,00h,02h,00h,00h,00h,00h
  648.       ;不
  649.       
  650.   lovee db 00h,00h,00h,00h,080h,00h,00h,00h
  651.       db 00h,00h,08h,03h,0c0h,00h,00h,00h
  652.       db 00h,00h,04h,06h,070h,00h,00h,00h
  653.       db 00h,00h,02h,0ch,018h,00h,00h,00h
  654.       db 00h,00h,01h,030h,0eh,00h,00h,00h
  655.       db 00h,00h,00h,0e0h,03h,080h,00h,00h
  656.       db 00h,00h,00h,09fh,0fch,080h,00h,00h
  657.       db 00h,00h,00h,00h,00h,00h,00h,00h
  658.       db 00h,00h,018h,00h,03h,00h,00h,00h
  659.       db 00h,00h,0ch,03fh,013h,00h,00h,00h
  660.       db 00h,00h,06h,041h,013h,00h,00h,00h
  661.       db 00h,00h,02h,041h,013h,00h,00h,00h
  662.       db 00h,00h,00h,07fh,013h,00h,00h,00h
  663.       db 00h,00h,03h,041h,013h,00h,00h,00h
  664.       db 00h,00h,02h,041h,013h,00h,00h,00h
  665.       db 00h,00h,02h,041h,013h,00h,00h,00h
  666.       db 00h,00h,06h,07fh,013h,00h,00h,00h
  667.       db 00h,00h,04h,041h,013h,00h,00h,00h
  668.       db 00h,00h,0ch,041h,013h,00h,00h,00h
  669.       db 00h,00h,08h,041h,03h,00h,00h,00h
  670.       db 00h,00h,010h,041h,03h,00h,00h,00h
  671.       db 00h,00h,00h,04fh,01eh,00h,00h,00h
  672.       db 00h,00h,00h,00h,00h,00h,00h,00h
  673.       db 00h,00h,00h,00h,00h,00h,00h,00h
  674.       db 00h,00h,00h,00h,00h,00h,00h,00h
  675.       ;渝

  676.   lovef db 00h,00h,00h,00h,00h,00h,00h,00h
  677.       db 00h,00h,00h,00h,00h,00h,00h,00h
  678.       db 00h,00h,00h,00h,00h,00h,00h,00h
  679.       db 00h,00h,00h,0ffh,0fch,00h,00h,00h
  680.       db 00h,00h,00h,00h,0ch,00h,00h,00h
  681.       db 00h,00h,00h,00h,030h,00h,00h,00h
  682.       db 00h,00h,00h,01h,0c0h,00h,00h,00h
  683.       db 00h,00h,07h,0c3h,08h,040h,00h,00h
  684.       db 00h,00h,00h,042h,0ch,040h,00h,00h
  685.       db 00h,00h,00h,05fh,0f4h,080h,00h,00h
  686.       db 00h,00h,00h,041h,04h,080h,00h,00h
  687.       db 00h,00h,00h,041h,05h,080h,00h,00h
  688.       db 00h,00h,00h,041h,05h,00h,00h,00h
  689.       db 00h,00h,00h,05fh,0f6h,00h,00h,00h
  690.       db 00h,00h,00h,05fh,0fah,00h,00h,00h
  691.       db 00h,00h,00h,080h,082h,00h,00h,00h
  692.       db 00h,00h,00h,080h,083h,00h,00h,00h
  693.       db 00h,00h,01h,080h,081h,00h,00h,00h
  694.       db 00h,00h,01h,03fh,0f9h,080h,00h,00h
  695.       db 00h,00h,03h,00h,080h,080h,00h,00h
  696.       db 00h,00h,02h,00h,080h,040h,00h,00h
  697.       db 00h,00h,04h,00h,080h,060h,00h,00h
  698.       db 00h,00h,08h,031h,080h,020h,00h,00h
  699.       db 00h,00h,00h,0fh,00h,00h,00h,00h
  700.       db 00h,00h,00h,00h,00h,00h,00h,00h
  701.       ;承

  702.   lovev db 00h,00h,00h,00h,00h,00h,00h,00h
  703.       db 00h,00h,00h,00h,00h,00h,00h,00h
  704.       db 00h,00h,01h,00h,020h,00h,00h,00h
  705.       db 00h,00h,01h,00h,020h,00h,00h,00h
  706.       db 00h,00h,01h,00h,020h,00h,00h,00h
  707.       db 00h,00h,01h,00h,020h,00h,00h,00h
  708.       db 00h,00h,0fh,0f7h,0ffh,080h,00h,00h
  709.       db 00h,00h,02h,010h,020h,00h,00h,00h
  710.       db 00h,00h,02h,010h,020h,00h,00h,00h
  711.       db 00h,00h,02h,010h,020h,00h,00h,00h
  712.       db 00h,00h,02h,010h,020h,00h,00h,00h
  713.       db 00h,00h,06h,01fh,0ffh,0c0h,00h,00h
  714.       db 00h,00h,04h,030h,030h,00h,00h,00h
  715.       db 00h,00h,04h,020h,030h,00h,00h,00h
  716.       db 00h,00h,04h,020h,078h,00h,00h,00h
  717.       db 00h,00h,04h,020h,0ech,00h,00h,00h
  718.       db 00h,00h,02h,060h,0a4h,00h,00h,00h
  719.       db 00h,00h,01h,0c1h,0a2h,00h,00h,00h
  720.       db 00h,00h,00h,0c3h,023h,00h,00h,00h
  721.       db 00h,00h,00h,0e6h,021h,080h,00h,00h
  722.       db 00h,00h,01h,03ch,020h,0c0h,00h,00h
  723.       db 00h,00h,03h,08h,020h,00h,00h,00h
  724.       db 00h,00h,06h,00h,020h,00h,00h,00h
  725.       db 00h,00h,0ch,00h,020h,00h,00h,00h
  726.       db 00h,00h,00h,00h,00h,00h,00h,00h
  727.       ;妹
  728.       
  729.   loveh db 00h,00h,00h,00h,00h,00h,00h,00h
  730.       db 00h,00h,00h,00h,00h,00h,00h,00h
  731.       db 00h,00h,00h,00h,00h,00h,00h,00h
  732.       db 00h,00h,00h,00h,00h,00h,00h,00h
  733.       db 00h,00h,00h,00h,00h,00h,00h,00h
  734.       db 00h,00h,00h,00h,00h,00h,00h,00h
  735.       db 00h,00h,00h,00h,00h,00h,00h,00h
  736.       db 00h,00h,00h,00h,00h,00h,00h,00h
  737.       db 00h,00h,00h,00h,00h,00h,00h,00h
  738.       db 00h,00h,00h,00h,00h,00h,00h,00h
  739.       db 00h,00h,00h,00h,00h,00h,00h,00h
  740.       db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h
  741.       db 00h,00h,00h,00h,00h,00h,00h,00h
  742.       db 00h,00h,00h,00h,00h,00h,00h,00h
  743.       db 00h,00h,00h,00h,00h,00h,00h,00h
  744.       db 00h,00h,00h,00h,00h,00h,00h,00h
  745.       db 00h,00h,00h,00h,00h,00h,00h,00h
  746.       db 00h,00h,00h,00h,00h,00h,00h,00h
  747.       db 00h,00h,00h,00h,00h,00h,00h,00h
  748.       db 00h,00h,00h,00h,00h,00h,00h,00h
  749.       db 00h,00h,00h,00h,00h,00h,00h,00h
  750.       db 00h,00h,00h,00h,00h,00h,00h,00h
  751.       db 00h,00h,00h,00h,00h,00h,00h,00h
  752.       db 00h,00h,00h,00h,00h,00h,00h,00h
  753.       db 00h,00h,00h,00h,00h,00h,00h,00h
  754.       ;一

  755.   lovei db 00h,00h,00h,04h,00h,00h,00h,00h
  756.       db 00h,00h,00h,04h,08h,00h,00h,00h
  757.       db 00h,00h,08h,04h,08h,00h,00h,00h
  758.       db 00h,00h,04h,03fh,0ffh,00h,00h,00h
  759.       db 00h,00h,06h,03fh,0ffh,00h,00h,00h
  760.       db 00h,00h,03h,04h,08h,00h,00h,00h
  761.       db 00h,00h,00h,04h,088h,00h,00h,00h
  762.       db 00h,00h,00h,00h,080h,00h,00h,00h
  763.       db 00h,00h,03ch,00h,080h,00h,00h,00h
  764.       db 00h,00h,04h,07fh,0ffh,00h,00h,00h
  765.       db 00h,00h,04h,01h,00h,00h,00h,00h
  766.       db 00h,00h,04h,03h,00h,00h,00h,00h
  767.       db 00h,00h,04h,02h,00h,00h,00h,00h
  768.       db 00h,00h,04h,07h,0fch,00h,00h,00h
  769.       db 00h,00h,04h,0ch,06h,00h,00h,00h
  770.       db 00h,00h,04h,018h,06h,00h,00h,00h
  771.       db 00h,00h,04h,068h,06h,00h,00h,00h
  772.       db 00h,00h,04h,08h,06h,00h,00h,00h
  773.       db 00h,00h,04h,0c8h,06h,00h,00h,00h
  774.       db 00h,00h,05h,088h,06h,00h,00h,00h
  775.       db 00h,00h,07h,08h,06h,00h,00h,00h
  776.       db 00h,00h,00h,0fh,0fch,00h,00h,00h
  777.       db 00h,00h,00h,00h,00h,00h,00h,00h
  778.       db 00h,00h,00h,00h,00h,00h,00h,00h
  779.       db 00h,00h,00h,00h,00h,00h,00h,00h
  780.       ;诺

  781.   lovej db 00h,00h,00h,00h,00h,00h,00h,00h
  782.       db 00h,00h,00h,020h,020h,00h,00h,00h
  783.       db 00h,00h,00h,010h,020h,00h,00h,00h
  784.       db 00h,00h,00h,090h,060h,00h,00h,00h
  785.       db 00h,00h,00h,098h,040h,00h,00h,00h
  786.       db 00h,00h,08h,088h,048h,00h,00h,00h
  787.       db 00h,00h,08h,088h,048h,00h,00h,00h
  788.       db 00h,00h,08h,08ch,044h,00h,00h,00h
  789.       db 00h,00h,08h,084h,0c4h,00h,00h,00h
  790.       db 00h,00h,08h,084h,084h,00h,00h,00h
  791.       db 00h,00h,08h,086h,086h,00h,00h,00h
  792.       db 00h,00h,018h,081h,02h,00h,00h,00h
  793.       db 00h,00h,010h,083h,02h,00h,00h,00h
  794.       db 00h,00h,010h,082h,02h,00h,00h,00h
  795.       db 00h,00h,010h,084h,013h,00h,00h,00h
  796.       db 00h,00h,030h,08ch,011h,00h,00h,00h
  797.       db 00h,00h,020h,098h,011h,00h,00h,00h
  798.       db 00h,00h,00h,0e0h,011h,00h,00h,00h
  799.       db 00h,00h,01h,0c0h,010h,00h,00h,00h
  800.       db 00h,00h,01eh,080h,030h,00h,00h,00h
  801.       db 00h,00h,030h,0ffh,0e0h,00h,00h,00h
  802.       db 00h,00h,00h,00h,00h,00h,00h,00h
  803.       db 00h,00h,00h,00h,00h,00h,00h,00h
  804.       db 00h,00h,00h,00h,00h,00h,00h,00h
  805.       db 00h,00h,00h,00h,00h,00h,00h,00h
  806.       ;必

  807.   lovek db 00h,00h,00h,04h,00h,00h,00h,00h
  808.       db 00h,00h,00h,06h,00h,00h,00h,00h
  809.       db 00h,00h,00h,02h,00h,00h,00h,00h
  810.       db 00h,00h,07h,0ffh,0ffh,080h,00h,00h
  811.       db 00h,00h,04h,00h,00h,080h,00h,00h
  812.       db 00h,00h,04h,00h,010h,080h,00h,00h
  813.       db 00h,00h,04h,00h,010h,080h,00h,00h
  814.       db 00h,00h,04h,00h,010h,080h,00h,00h
  815.       db 00h,00h,00h,00h,010h,00h,00h,00h
  816.       db 00h,00h,0fh,0ffh,0ffh,0c0h,00h,00h
  817.       db 00h,00h,00h,00h,010h,00h,00h,00h
  818.       db 00h,00h,00h,00h,010h,00h,00h,00h
  819.       db 00h,00h,01h,080h,010h,00h,00h,00h
  820.       db 00h,00h,00h,0c0h,010h,00h,00h,00h
  821.       db 00h,00h,00h,060h,010h,00h,00h,00h
  822.       db 00h,00h,00h,030h,010h,00h,00h,00h
  823.       db 00h,00h,00h,010h,010h,00h,00h,00h
  824.       db 00h,00h,00h,08h,010h,00h,00h,00h
  825.       db 00h,00h,00h,00h,010h,00h,00h,00h
  826.       db 00h,00h,00h,00h,010h,00h,00h,00h
  827.       db 00h,00h,00h,06h,010h,00h,00h,00h
  828.       db 00h,00h,00h,07h,0f0h,00h,00h,00h
  829.       db 00h,00h,00h,00h,00h,00h,00h,00h
  830.       db 00h,00h,00h,00h,00h,00h,00h,00h
  831.       db 00h,00h,00h,00h,00h,00h,00h,00h
  832.       ;守

  833.   lovel db 00h,00h,00h,00h,00h,00h,00h,00h
  834.       db 00h,00h,00h,00h,00h,00h,00h,00h
  835.       db 00h,00h,00h,00h,00h,00h,00h,00h
  836.       db 00h,00h,00h,00h,00h,00h,00h,00h
  837.       db 00h,00h,00h,00h,00h,00h,00h,00h
  838.       db 00h,00h,00h,00h,00h,00h,00h,00h
  839.       db 00h,00h,00h,00h,00h,00h,00h,00h
  840.       db 00h,00h,00h,00h,00h,00h,00h,00h
  841.       db 00h,00h,00h,00h,00h,00h,00h,00h
  842.       db 00h,00h,00h,00h,00h,00h,00h,00h
  843.       db 00h,00h,00h,00h,00h,00h,00h,00h
  844.       db 00h,00h,0fh,0ffh,0ffh,080h,00h,00h
  845.       db 00h,00h,00h,00h,00h,00h,00h,00h
  846.       db 00h,00h,00h,00h,00h,00h,00h,00h
  847.       db 00h,00h,00h,00h,00h,00h,00h,00h
  848.       db 00h,00h,00h,00h,00h,00h,00h,00h
  849.       db 00h,00h,00h,00h,00h,00h,00h,00h
  850.       db 00h,00h,00h,00h,00h,00h,00h,00h
  851.       db 00h,00h,00h,00h,00h,00h,00h,00h
  852.       db 00h,00h,00h,00h,00h,00h,00h,00h
  853.       db 00h,00h,00h,00h,00h,00h,00h,00h
  854.       db 00h,00h,00h,00h,00h,00h,00h,00h
  855.       db 00h,00h,00h,00h,00h,00h,00h,00h
  856.       db 00h,00h,00h,00h,00h,00h,00h,00h
  857.       db 00h,00h,00h,00h,00h,00h,00h,00h
  858.       ;一

  859.   lovem db 00h,00h,00h,02h,00h,00h,00h,00h
  860.       db 00h,00h,01h,02h,00h,00h,00h,00h
  861.       db 00h,00h,01h,02h,00h,00h,00h,00h
  862.       db 00h,00h,02h,02h,00h,00h,00h,00h
  863.       db 00h,00h,02h,02h,00h,00h,00h,00h
  864.       db 00h,00h,03h,0ffh,0feh,00h,00h,00h
  865.       db 00h,00h,02h,02h,00h,00h,00h,00h
  866.       db 00h,00h,04h,02h,00h,00h,00h,00h
  867.       db 00h,00h,04h,02h,00h,00h,00h,00h
  868.       db 00h,00h,08h,02h,00h,00h,00h,00h
  869.       db 00h,00h,018h,02h,00h,00h,00h,00h
  870.       db 00h,00h,010h,02h,00h,00h,00h,00h
  871.       db 00h,00h,00h,02h,00h,00h,00h,00h
  872.       db 00h,00h,07h,0ffh,0feh,00h,00h,00h
  873.       db 00h,00h,00h,02h,00h,00h,00h,00h
  874.       db 00h,00h,00h,02h,00h,00h,00h,00h
  875.       db 00h,00h,00h,02h,00h,00h,00h,00h
  876.       db 00h,00h,00h,02h,00h,00h,00h,00h
  877.       db 00h,00h,00h,02h,00h,00h,00h,00h
  878.       db 00h,00h,00h,02h,00h,00h,00h,00h
  879.       db 00h,00h,00h,02h,00h,00h,00h,00h
  880.       db 00h,00h,01fh,0ffh,0ffh,080h,00h,00h
  881.       db 00h,00h,00h,00h,00h,00h,00h,00h
  882.       db 00h,00h,00h,00h,00h,00h,00h,00h
  883.       db 00h,00h,00h,00h,00h,00h,00h,00h
  884.       ;生

  885.       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  886.       ;以上皆为点阵坐标。为64*64单色位图生成。
  887.       ;每行8字节,64位。共64行。即64*64.
  888.       ;
  889.       ;经过删除空白行,已经简化到25行/图
  890.       ;
  891.       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  892.       
  893.       
  894.   segm  dw 040,040,120,120,120,260,260,260,260,260,260,260,260
  895.       dw 360,360,360,360,360,360,360,360
  896.       ;各图形首地址行数
  897.       
  898.       ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  899.       
  900.   ofet  dw 040,100,100,160,220,060,120,180,240,340,400,460,520
  901.       dw 120,180,240,280,400,460,520,580
  902.       ;各图形首地址列数
  903.       
  904. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  905.   
  906.   sec    db 0
  907.     ;记录1ch中断运行次数
  908.     ;提供延时程序参数
  909.    
  910. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  911.    
  912. DG ends


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

  922. CG segment
  923.   
  924. start  :mov si,DG
  925.      mov ds,si
  926.      xor si,si
  927.      
  928.      mov di,0b800h
  929.      mov es,di
  930.      mov di,160
  931.      
  932.      lea bx,num
  933.      mov cx,[bx]
  934.      mov ah,0eh
  935.      
  936. girl  :lodsb
  937.      stosw
  938.      loop girl
  939.      ;送入"gaga"
  940.      
  941. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  942.      call int1cst
  943.      ;截取1ch中断
  944.      
  945. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  946.      
  947.      mov di,13*160
  948.      lea si,i
  949.      
  950. key1  :mov cx,159
  951.      call discolor
  952.      
  953.      push si
  954.      lea si,sec
  955.      and byte ptr [si],0
  956. t1    :cmp byte ptr [si],15
  957.      jne t1
  958.      pop si
  959.      ;t系列皆为控制延时程序
  960.      ;
  961.      ;通过检测1ch中断运行次数
  962.      ;控制指令进程,来实现延时
  963.      ;
  964.      
  965.      cld
  966.      rep movsb
  967.      
  968.      cmp di,15*160 - 2
  969.      jne key1
  970.      ;
  971.      ;通过检测最后一个字符的位置来判定
  972.      ;是否完成同组输出
  973.      
  974.      
  975.      ;指示语句
  976.      
  977. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  
  978.    
  979.      add di,162
  980.      
  981. like  :mov cx,80
  982.      call discolor
  983.      ;'*'字符变色
  984.      
  985.      push si
  986.      lea si,sec
  987.      and byte ptr [si],0
  988. t2    :cmp byte ptr [si],15
  989.      jne t2
  990.      pop si
  991.      ;延时
  992.      
  993. key2_1  :mov ah,1eh
  994.      
  995.      cmp byte ptr ds:[si],20h
  996.      jz space
  997.      ;检测空格符,改变颜色
  998.      
  999.      
  1000. key2_2  :lodsb
  1001.      stosw
  1002.      loop key2_1
  1003.      
  1004.      cmp di,24*160
  1005.      jne like
  1006.      
  1007.      jmp clor
  1008.      
  1009. space  :xor ah,ah
  1010.      jmp key2_2
  1011.      ;隐含图
  1012.      
  1013. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1014.      
  1015. clor  :call discolor
  1016.      
  1017.      push si
  1018.      lea si,sec
  1019.      and byte ptr [si],0
  1020. t2_1  :cmp byte ptr [si],15
  1021.      jne t2_1
  1022.      pop si
  1023.      
  1024.      mov ah,11
  1025.      int 21h
  1026.      or al,al
  1027.      jz clor    ;检测按键状态
  1028.      
  1029.      xor ax,ax
  1030.      int 16h
  1031.      cmp ah,2h
  1032.      jnz clor
  1033.      
  1034.      ;检测按键,当按键为1时,则向下执行
  1035.      
  1036.      
  1037.      mov cx,8*80
  1038.      mov di,16*160
  1039.      call discolor
  1040.      
  1041. clor1  :cmp byte ptr es:[di],39h
  1042.      jne snd
  1043.      
  1044.      mov byte ptr es:[di+1],0ceh
  1045.      
  1046. snd    :add di,2
  1047.      loop clor1
  1048.      jmp roll
  1049.      
  1050.      call discolor
  1051.      ;按键显图
  1052.      
  1053. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1054.      
  1055. roll  :lea si,e
  1056.      mov cx,24
  1057.      
  1058. roll1  :push cx
  1059.      push si
  1060.      lea si,sec
  1061.      and byte ptr [si],0
  1062. t3    :cmp byte ptr [si],15
  1063.      jne t3
  1064.      pop si
  1065.      ;延时
  1066.      
  1067.      call discolor
  1068.      ;'*'符变色
  1069.      
  1070.      mov dx,1
  1071.      call rollp
  1072.      ;滚屏1行
  1073.      
  1074.      mov cx,80
  1075.      
  1076.      mov di,0f00h
  1077.      
  1078. roll2  :lodsb
  1079.      stosw
  1080.      loop roll2
  1081.      ;送单行字符
  1082.      
  1083.      pop cx
  1084.      loop roll1
  1085.      
  1086.      ;滚屏后,随即向最后一行送入数据,
  1087.      ;通过时间差,延时等,视觉上会感觉早已存在的数据
  1088.      
  1089.      
  1090.      ;七夕happy滚屏上移
  1091.      
  1092. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1093.      
  1094.      push si
  1095.      lea si,sec
  1096.      and byte ptr [si],0
  1097. t4    :cmp byte ptr [si],15
  1098.      jne t4
  1099.      pop si
  1100.      ;延时
  1101.      
  1102.      mov si,0
  1103.      mov di,158
  1104.      call close
  1105.      ;先显示一下内聚门
  1106.      
  1107.      mov cx,19
  1108.      
  1109. poem  :push si
  1110.      lea si,sec
  1111.      and byte ptr [si],0
  1112. t5    :cmp byte ptr [si],10
  1113.      jne t5
  1114.      pop si
  1115.      ;延时
  1116.      
  1117.      add si,4
  1118.      sub di,4
  1119.      call close
  1120.      ;内聚
  1121.      
  1122.      push si
  1123.      push di
  1124.      
  1125.      sub si,4
  1126.      add di,4
  1127.      call clear
  1128.      ;清除原来的图像
  1129.      
  1130.      call discolor
  1131.      ;变色
  1132.      
  1133.      pop di
  1134.      pop si
  1135.      loop poem
  1136.      
  1137.      
  1138.      ;内聚动画
  1139.      
  1140. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1141.      
  1142.      call dclose
  1143.      ;先改变下图像方向
  1144.      
  1145.      mov cx,19
  1146.      
  1147. poem1  :push si
  1148.      lea si,sec
  1149.      and byte ptr [si],0
  1150. t6    :cmp byte ptr [si],10
  1151.      jne t6
  1152.      pop si
  1153.      ;延时
  1154.      
  1155.      sub si,4
  1156.      add di,4
  1157.      call dclose
  1158.      ;外散
  1159.      
  1160.      push si
  1161.      push di
  1162.      
  1163.      add si,4
  1164.      sub di,4
  1165.      call clear
  1166.      ;清除原来图像
  1167.      
  1168.      pop di
  1169.      pop si
  1170.      loop poem1
  1171.      
  1172.      ;外散动画
  1173.      
  1174.      call clear
  1175.      ;清除残留图像
  1176.      
  1177. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1178.      
  1179.      lea bx,het3
  1180.      mov di,13*160+66
  1181.      mov cx,14
  1182.      mov ah,0eh
  1183.      
  1184. guess  :mov al,[bx]
  1185.      mov es:[di],ax
  1186.      inc bx
  1187.      add di,2
  1188.      loop guess
  1189.      
  1190.      push si
  1191.      lea si,sec
  1192.      and byte ptr [si],0
  1193. t6_1  :cmp byte ptr [si],100
  1194.      jne t6_1
  1195.      pop si
  1196.      
  1197.      
  1198.      xor dx,dx
  1199.      call rollp
  1200.      
  1201.      ;猜猜我的心
  1202. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1203. lovex  :lea bx,het1
  1204.      mov cx,66
  1205.      
  1206. lovex1  :mov di,[bx]
  1207.      mov word ptr es:[di],0c2ah
  1208.      ;通过读取各个已经保存好的坐标
  1209.      ;来向预定位置送入字符
  1210.      ;以下同理
  1211.      
  1212.      
  1213.      push si
  1214.      lea si,sec
  1215.      and byte ptr [si],0
  1216. t7    :cmp byte ptr [si],10
  1217.      jne t7
  1218.      pop si
  1219.      
  1220.      add bx,2
  1221.      loop lovex1
  1222.      ;单字符缓慢显示双层心。
  1223.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1224.      
  1225. cai1  :xor ax,ax
  1226.      int 16h
  1227.      cmp ah,17h
  1228.      jz cai1_1
  1229.      jmp short cai1      ;i
  1230.      
  1231. cai1_1  :mov ax,0e49h
  1232.      mov word ptr es:[11*160+70],ax
  1233.      mov ax,0720h
  1234.      mov word ptr es:[11*160+72],ax
  1235.      
  1236.      
  1237. cai2  :xor ax,ax
  1238.      int 16h
  1239.      cmp ah,26h
  1240.      jz cai2_1
  1241.      jmp short cai2      ;l
  1242.      
  1243. cai2_1  :mov ax,0e4ch
  1244.      mov word ptr es:[11*160+74],ax

  1245. cai3  :xor ax,ax
  1246.      int 16h
  1247.      cmp ah,18h
  1248.      jz cai3_1
  1249.      jmp short cai3      ;o
  1250.      
  1251. cai3_1  :mov ax,0e4fh
  1252.      mov word ptr es:[11*160+76],ax

  1253. cai4  :xor ax,ax
  1254.      int 16h
  1255.      cmp ah,2fh
  1256.      jz cai4_1
  1257.      jmp short cai4      ;v
  1258.      
  1259. cai4_1  :mov ax,0e56h
  1260.      mov word ptr es:[11*160+78],ax

  1261. cai5  :xor ax,ax
  1262.      int 16h
  1263.      cmp ah,12h
  1264.      jz cai5_1
  1265.      jmp short cai5      ;e
  1266.      
  1267. cai5_1  :mov ax,0e45h
  1268.      mov word ptr es:[11*160+80],ax
  1269.      mov ax,0720h
  1270.      mov word ptr es:[11*160+82],ax

  1271. cai6  :xor ax,ax
  1272.      int 16h
  1273.      cmp ah,15h
  1274.      jz cai6_1
  1275.      jmp short cai6      ;y
  1276.      
  1277. cai6_1  :mov ax,0e59h
  1278.      mov word ptr es:[11*160+84],ax

  1279. cai7  :xor ax,ax
  1280.      int 16h
  1281.      cmp ah,18h
  1282.      jz cai7_1
  1283.      jmp short cai7      ;o
  1284.      
  1285. cai7_1  :mov ax,0e4fh
  1286.      mov word ptr es:[11*160+86],ax

  1287. cai8  :xor ax,ax
  1288.      int 16h
  1289.      cmp ah,16h
  1290.      jz cai8_1
  1291.      jmp short cai8      ;u
  1292.      
  1293. cai8_1  :mov ax,0e55h
  1294.      mov word ptr es:[11*160+88],ax
  1295.      
  1296.      ;答案判断选定
  1297.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1298.      
  1299.      xor dx,dx
  1300.      mov cx,20
  1301.      
  1302. het6  :lea bx,het1
  1303.      lea bp,het2
  1304.      
  1305.      call flick1
  1306.      ;外层心变色
  1307.      
  1308.      push si
  1309.      lea si,sec
  1310.      and byte ptr [si],0
  1311. t8    :cmp byte ptr [si],10
  1312.      jne t8
  1313.      pop si
  1314.      
  1315.      call flick2
  1316.      ;内层心变色
  1317.      
  1318.      push si
  1319.      lea si,sec
  1320.      and byte ptr [si],0
  1321. t8_1  :cmp byte ptr [si],2
  1322.      jne t8_1
  1323.      pop si
  1324.      
  1325.      loop het6
  1326.      
  1327.      ;跳动
  1328.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1329.      push si
  1330.      lea si,sec
  1331.      and byte ptr [si],0
  1332. t9    :cmp byte ptr [si],10
  1333.      jne t9
  1334.      pop si
  1335.      ;暂停一会,陶醉一下~
  1336.      
  1337.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1338.      
  1339.      lea bx,het4
  1340.      lea bp,het5
  1341.      mov cx,37
  1342.      
  1343. lovex3  :mov di,[bx]
  1344.      mov si,ds:[bp]
  1345.      mov word ptr es:[di],0720h
  1346.      mov word ptr es:[si],0720h
  1347.      
  1348.      push si
  1349.      lea si,sec
  1350.      and byte ptr [si],0
  1351. ta    :cmp byte ptr [si],10
  1352.      jne ta
  1353.      pop si
  1354.      
  1355.      add bx,2
  1356.      add bp,2
  1357.      loop lovex3
  1358.      ;单字符缓慢分解心
  1359.      
  1360.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1361.      
  1362.      mov di,073ah
  1363.      mov cx,11
  1364.      
  1365. lovex4  :mov byte ptr es:[di],20h
  1366.      
  1367.      push si
  1368.      lea si,sec
  1369.      and byte ptr [si],0
  1370. tb    :cmp byte ptr [si],10
  1371.      jne tb
  1372.      pop si
  1373.      
  1374.      sub di,2
  1375.      loop lovex4
  1376.      ;分解 i love you
  1377.      
  1378. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1379.      
  1380.      mov dx,0
  1381.      call rollp
  1382.      ;清屏
  1383.      ;保证界面干净
  1384.      
  1385. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1386.      
  1387. ;此部分为语句边框
  1388. ;
  1389. ;原理同上边那个左右滑动门动画一样
  1390. ;
  1391.      
  1392.      
  1393.      push si
  1394.      lea si,sec
  1395.      and byte ptr [si],0
  1396. tc    :cmp byte ptr [si],20
  1397.      jne tc
  1398.      pop si
  1399.      ;暂停一会
  1400.      
  1401.      mov di,12*160+78
  1402.      mov si,12*160+80
  1403.      
  1404.      mov word ptr es:[di],0cc9h
  1405.      mov word ptr es:[di+0a0h],0cc8h
  1406.      ;左
  1407.      
  1408.      mov word ptr es:[si],0cbbh
  1409.      mov word ptr es:[si+0a0h],0cbch
  1410.      ;右
  1411.      
  1412.      sub di,2
  1413.      add si,2
  1414.      
  1415.      mov ax,0c2dh
  1416.      mov cx,19
  1417.      
  1418. wind1  :mov word ptr es:[di],0cc9h
  1419.      mov word ptr es:[di+0a0h],0cc8h
  1420.      ;左
  1421.      
  1422.      mov word ptr es:[si],0cbbh
  1423.      mov word ptr es:[si+0a0h],0cbch
  1424.      ;右
  1425.      
  1426.      mov word ptr es:[di+2],ax
  1427.      mov word ptr es:[di+0a2h],ax
  1428.      
  1429.      mov word ptr es:[si-2],ax
  1430.      mov word ptr es:[si+09eh],ax
  1431.      
  1432.      
  1433.      push si
  1434.      lea si,sec
  1435.      and byte ptr [si],0
  1436. td    :cmp byte ptr [si],20
  1437.      jne td
  1438.      pop si
  1439.      ;慢效果
  1440.      
  1441.      sub di,2
  1442.      add si,2
  1443.      loop wind1
  1444.      
  1445.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1446.      
  1447.      mov si,12*160+40
  1448.      mov di,13*160+40
  1449.      
  1450.      mov cx,8
  1451.      
  1452. wind2  :push cx
  1453.      mov cx,40
  1454.      
  1455. wind3  :mov ax,es:[si]
  1456.      mov es:[si - 0a0h],ax
  1457.      
  1458.      mov word ptr es:[si],0720h
  1459.      
  1460.      mov ax,es:[di]
  1461.      mov es:[di + 0a0h],ax
  1462.      
  1463.      mov word ptr es:[di],0720h
  1464.      
  1465.      add si,2
  1466.      add di,2
  1467.      loop wind3
  1468.      ;单次复制清除上下双行
  1469.      
  1470.      
  1471.      push si
  1472.      lea si,sec
  1473.      and byte ptr [si],0
  1474. te    :cmp byte ptr [si],18
  1475.      jne te
  1476.      pop si
  1477.      ;慢效果
  1478.      
  1479.      
  1480.      add di,80
  1481.      sub si,240
  1482.      pop cx
  1483.      loop wind2
  1484.      
  1485.      ;问题语句窗口框
  1486.      
  1487. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1488.      
  1489. ;此部分为提问机制
  1490. ;
  1491.      
  1492.      lea si,next
  1493.      mov di,10*160+50
  1494.      call pro_str
  1495.      ;提示语句显示
  1496.      
  1497.      push si
  1498.      lea si,sec
  1499.      and byte ptr [si],0
  1500. tf    :cmp byte ptr [si],50
  1501.      jne tf
  1502.      pop si
  1503.      ;暂停约5秒
  1504.      ;50次应该不到3秒,向显存送入字符,空格占一部分时间
  1505.      
  1506.      call pro_cle
  1507.      
  1508.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1509.      
  1510.      lea si,problem1
  1511.      call pro_str
  1512.      
  1513. choose1  :xor ax,ax
  1514.      int 16h  ;读取按键
  1515.      
  1516.      cmp al,31h
  1517.      je prob1  ;第一选择可能
  1518.      
  1519.      cmp al,32h
  1520.      je prob2  ;第二选择可能
  1521.      
  1522.      jmp short choose1
  1523.      ;第一问题
  1524.      
  1525.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1526.      
  1527. prob1  :call pro_cle  ;清除上个问题
  1528.      
  1529.      lea si,problem2
  1530.      call pro_str  ;显示当前问题
  1531.      
  1532. choose2  :xor ax,ax
  1533.      int 16h
  1534.      
  1535.      cmp al,31h
  1536.      je prob3
  1537.      
  1538.      cmp al,32h
  1539.      je prob4
  1540.      
  1541.      jmp short choose2
  1542.      ;第二问题(1号)
  1543.      
  1544.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1545.      
  1546. prob2  :call pro_cle
  1547.      
  1548.      lea si,problem3
  1549.      call pro_str
  1550.      
  1551. choose3  :xor ax,ax
  1552.      int 16h
  1553.      
  1554.      cmp al,31h
  1555.      je prob3
  1556.      
  1557.      cmp al,32h
  1558.      je prob4
  1559.      
  1560.      jmp short choose3
  1561.      ;第二问题(2号)
  1562.      
  1563.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1564.      
  1565. prob3  :call pro_cle
  1566.      
  1567.      lea si,problem4
  1568.      call pro_str
  1569.      
  1570. choose4  :xor ax,ax
  1571.      int 16h
  1572.      
  1573.      cmp al,31h
  1574.      je joked
  1575.      
  1576.      cmp al,32h
  1577.      je joked
  1578.      
  1579.      jmp short choose4
  1580.      ;第三问题(1号)
  1581.      
  1582.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1583.      
  1584. prob4  :call pro_cle
  1585.      
  1586.      lea si,problem5
  1587.      call pro_str
  1588.      
  1589. choose5  :xor ax,ax
  1590.      int 16h
  1591.      
  1592.      cmp al,31h
  1593.      je joked
  1594.      
  1595.      cmp al,32h
  1596.      je joked
  1597.      
  1598.      jmp short choose5
  1599.      ;第三问题(2号)
  1600.      
  1601.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1602.      
  1603. joked  :call pro_cle
  1604.      
  1605.      lea si,joke
  1606.      call pro_str
  1607.      ;答案:结束语
  1608.      
  1609.      push di
  1610.      mov cx,5*80
  1611.      
  1612. colo  :mov byte ptr es:[di+1],0eh
  1613.      add di,2
  1614.      loop colo
  1615.      
  1616.      pop di
  1617.      
  1618.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1619.      
  1620.      push si
  1621.      lea si,sec
  1622.      and byte ptr [si],0
  1623. t01    :cmp byte ptr [si],50
  1624.      jne t01
  1625.      pop si
  1626.      ;暂停约3秒
  1627.      
  1628. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1629.      ;倒计时
  1630.      
  1631.      call pro_cle
  1632.      
  1633.      mov ax,0e35h
  1634.      mov di,12*160+80
  1635.      
  1636. num1  :mov es:[di],ax
  1637.      
  1638.      push si
  1639.      lea si,sec
  1640.      and byte ptr [si],0
  1641. t02    :cmp byte ptr [si],18
  1642.      jne t02
  1643.      pop si
  1644.      ;1s
  1645.      
  1646.      cmp al,'0'
  1647.      jz flie
  1648.      
  1649.      dec ax
  1650.      jmp short num1
  1651.      
  1652.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1653.      
  1654. flie  :mov word ptr es:[di],0720h
  1655.      ;清除
  1656.      
  1657.      call rose
  1658.      ;生成文件
  1659.      
  1660.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1661.      
  1662.      lea si,gift
  1663.      mov di,10*160+50
  1664.      mov ah,0eh
  1665.      mov cx,2
  1666.      
  1667. gift1  :push cx
  1668.      mov cx,25
  1669.      
  1670. gift2  :lodsb
  1671.      stosw
  1672.      loop gift2
  1673.      
  1674.      mov di,11*160+50
  1675.      pop cx
  1676.      loop gift1
  1677.      ;提示语:礼物
  1678.      
  1679.      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1680.      
  1681.      push si
  1682.      lea si,sec
  1683.      and byte ptr [si],0
  1684. t03    :cmp byte ptr [si],54
  1685.      jne t03
  1686.      pop si
  1687.      ;3s
  1688.      
  1689.      xor dx,dx
  1690.      call rollp
  1691.      
  1692. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<




  1693.      
  1694. time1  :mov ax,4f03h
  1695.      int 10h
  1696.      push bx
  1697.      ;保存模式
  1698.      
  1699.      mov ax,4f02h
  1700.      mov bx,101h
  1701.      int 10h
  1702.      ;设置模式 640*480 256 色
  1703.      
  1704.      mov ax,04h  ;设置颜色
  1705.      
  1706. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1707.      
  1708.      mov si,DG
  1709.      mov ds,si
  1710.      
  1711.      mov si,0a000h
  1712.      mov es,si
  1713.      lea si,love1
  1714.      
  1715.      
  1716.      lea bp,segm
  1717.      
  1718.      xor dx,dx
  1719.      mov cx,21        ;图数
  1720.      
  1721. tim4  :call tim
  1722.      
  1723.      cmp dx,4
  1724.      jz stops
  1725.      
  1726.      push si
  1727.      lea si,sec
  1728.      and byte ptr [si],0
  1729. te_1  :cmp byte ptr [si],5
  1730.      jne te_1
  1731.      pop si
  1732.      ;延时
  1733.      
  1734. back  :inc dx
  1735.      loop tim4
  1736.      jmp short over
  1737.      
  1738. stops  :push si
  1739.      lea si,sec
  1740.      and byte ptr [si],0
  1741. tf_1  :cmp byte ptr [si],40
  1742.      jne tf_1
  1743.      pop si
  1744.      ;延时
  1745.      jmp short back
  1746.    
  1747. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1748.      
  1749. over  :push si
  1750.      lea si,sec
  1751.      and byte ptr [si],0
  1752. tf_2  :cmp byte ptr [si],100
  1753.      jne tf_2
  1754.      pop si
  1755.      
  1756.      mov ax,4f02h
  1757.      pop bx
  1758.      int 10h
  1759.      ;恢复模式
  1760.      
  1761.      ;像素
  1762.      
  1763.      
  1764. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1765.      
  1766.      mov di,DG
  1767.      mov ds,di
  1768.      mov di,0b800h
  1769.      mov es,di
  1770.      
  1771.      mov ax,0cc20h
  1772.      mov di,164
  1773. way    :mov cx,76
  1774.    
  1775. way1  :mov word ptr es:[di],ax
  1776.      add di,2
  1777.      loop way1
  1778.      cmp di,23*160+78*2
  1779.      je lon
  1780.      mov di,23*160+4
  1781.      jmp way
  1782.      
  1783.      ;设置两个横向边框
  1784.      
  1785. lon    :mov cx,23
  1786.      mov di,162
  1787.    
  1788. lon1  :mov word ptr es:[di],ax
  1789.      mov word ptr es:[di+154],ax
  1790.      add di,0a0h
  1791.      loop lon1
  1792.      
  1793.      ;设置两个纵向边框
  1794.      
  1795. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  1796.      lea si,back1
  1797.      lea bx,adrs
  1798.      
  1799.      mov cx,7
  1800.      xor dx,dx
  1801.      
  1802. ovspk1  :push cx
  1803.      mov cx,27
  1804.      
  1805.      mov di,[bx]
  1806.      
  1807.      cmp dx,2
  1808.      jz yellow
  1809.      
  1810.      cmp dx,3
  1811.      jz yellow
  1812.      
  1813.      mov ah,0ah
  1814.      
  1815. ovspk  :lodsb
  1816.      stosw
  1817.      
  1818.      cmp byte ptr es:[di-2],'Q'
  1819.      jz red
  1820.      
  1821. red1  :loop ovspk
  1822.      
  1823.      add bx,2
  1824.      inc dx
  1825.      pop cx
  1826.      loop ovspk1
  1827.      jmp sto
  1828.      
  1829. yellow  :mov ah,0eh
  1830.      jmp ovspk

  1831. red    :mov byte ptr es:[di-1],0ch
  1832.      jmp red1
  1833.      
  1834.      ;那几句话。
  1835. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1836.      
  1837. sto    :call int1cov

  1838.      xor ax,ax
  1839.      int 16h
  1840.      cmp ah,10h
  1841.      jnz sto
  1842.      
  1843.      mov ax,4c00h
  1844.      int 21h
  1845.      
  1846.      ;结束
  1847.      
  1848. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


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

  1867. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  1868. ;单字符随机变色
  1869. ;
  1870. ;功能:使‘*’字符变换颜色。
  1871. ;
  1872. ;默认参数:
  1873. ;es = 0b800h
  1874. ;
  1875. discolor:push bx
  1876.      push cx
  1877.      
  1878.      xor bx,bx
  1879.      mov cx,2000
  1880.      
  1881. dicl2  :cmp byte ptr es:[bx],'*'
  1882.      jnz dicl
  1883.      
  1884.      in al,40h
  1885.      mov es:[bx+1],al
  1886.      and byte ptr es:[bx+1],0fh
  1887.      ;通过读取时钟控制端口,来实现随机变色
  1888.      
  1889.      ;若想整体变色,就需要把读取端口放到循环外
  1890.      
  1891. dicl  :add bx,2
  1892.      loop dicl2
  1893.      
  1894.      pop cx
  1895.      pop bx
  1896.      ret
  1897.      
  1898. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  1899. ;上滚屏or清屏
  1900. ;
  1901. ;功能:上滚屏或清屏
  1902. ;dx∈{0~24},当dx=0时,为清屏
  1903. ;
  1904. ;
  1905. ;这个是我学习《汇编语言》第16章后
  1906. ;自己写的算法
  1907. ;自我感觉良好哈O(∩_∩)O~
  1908. ;
  1909. ;
  1910. ;功能除了光标不重置
  1911. ;其余都和 AH=06H/int 10h 一样。
  1912. ;
  1913. ;
  1914. rollp:  push ds
  1915.     push si
  1916.     push di
  1917.     push cx
  1918.    
  1919.     mov si,0b800h
  1920.     mov ds,si
  1921.     mov si,160
  1922.     xor di,di
  1923.     mov cx,25
  1924.    
  1925.     sub cx,dx
  1926.     ;计算复制行数
  1927.     ;
  1928.     ;总行数 - 需要上滚行数 = 需要保留行数(需要复制行数)
  1929.     ;
  1930.    
  1931. roll3:  push cx
  1932.     mov cx,160
  1933.     rep movsb
  1934.     pop cx
  1935.     loop roll3
  1936.     ;复制
  1937.    
  1938.     mov ax,80
  1939.     mul dx
  1940.     mov cx,ax
  1941.     ;计算清空的行数
  1942.    
  1943.     ;需要上滚行数*80 = 需要清除的字的次数
  1944.    
  1945.    
  1946.    
  1947.     mov si,0f9eh
  1948.     ;指向最后一行最后一个字
  1949.    
  1950. roll4:  mov word ptr [si],0720H
  1951.     sub si,2
  1952.     loop roll4
  1953.     ;覆盖 = 清除
  1954.    
  1955.     pop cx
  1956.     pop di
  1957.     pop si
  1958.     pop ds
  1959.     ret
  1960.      
  1961. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1962. ;计时器安装子程序
  1963. ;
  1964. ;截取1ch中断
  1965. ;功能:设置参数到指定内存单元
  1966. ;
  1967. ;
  1968. int1cst  :push ds
  1969.      push si
  1970.      push es
  1971.      push di
  1972.      push cx
  1973.      
  1974.      push cs
  1975.      pop ds
  1976.      lea si,int1c
  1977.      
  1978.      xor di,di
  1979.      mov es,di
  1980.      mov di,204h
  1981.      
  1982.      mov cx,offset intend - offset int1c
  1983.      
  1984.      cld
  1985.      rep movsb
  1986.      
  1987.      cli
  1988.      push es:[1ch*4]
  1989.      push es:[1ch*4+2]
  1990.      pop es:[202h]
  1991.      pop es:[200h]
  1992.      
  1993.      mov word ptr es:[1ch*4],204h
  1994.      mov word ptr es:[1ch*4+2],0
  1995.      sti
  1996.      
  1997.      pop cx
  1998.      pop di
  1999.      pop es
  2000.      pop si
  2001.      pop ds
  2002.      ret
  2003.      ;安装程序
  2004.      
  2005. int1c  :pushf
  2006.      call dword ptr cs:[200h]
  2007.      
  2008.      push ds
  2009.      push si
  2010.      
  2011.      mov si,DG
  2012.      mov ds,si
  2013.      lea si,sec
  2014.      
  2015.      inc byte ptr [si]
  2016.      ;记录运行次数
  2017.      ;1CH中断会被系统在1秒内大约调用18次
  2018.      ;通过主程序检测次数来实现延时目的
  2019.      
  2020.      pop si
  2021.      pop ds
  2022.      iret
  2023.      
  2024. intend  :nop

  2025. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  2026. ;计时器解除子程序
  2027. ;
  2028. ;功能:释放1CH中断
  2029. ;
  2030. ;
  2031. int1cov  :push ds
  2032.      push si
  2033.      
  2034.      xor si,si
  2035.      mov ds,si
  2036.      mov si,200h
  2037.      
  2038.      cli
  2039.      push [si]
  2040.      push [si+2]
  2041.      pop ds:[1ch*4+2]
  2042.      pop ds:[1ch*4]
  2043.      sti
  2044.      
  2045.      pop si
  2046.      pop ds
  2047.      ret
  2048.      

  2049. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  2050. ;close动画(内聚)
  2051. ;
  2052. ;si为1号列
  2053. ;di为2号列
  2054. ;
  2055. ;原理:
  2056. ;左列:每次送入字符,列增加一字符
  2057. ;     每行输出完便指向下一行输出字符
  2058. ;
  2059. ;右列:每次输入字符,列减少一字符
  2060. ;     每行输出完便指向下一行输出字符
  2061. ;
  2062. ;通过主程序设置di,si参数来进行列控制
  2063. ;
  2064. ;
  2065. ;一下2个同系列子程序同理
  2066. ;
  2067. close  :push si
  2068.      push di
  2069.      push cx
  2070.      
  2071.      mov ax,0b800h
  2072.      mov es,ax
  2073.      
  2074.      mov ax,0a3dh
  2075.      mov es:[si],ax
  2076.      mov es:[di],ax
  2077.      inc al
  2078.      mov es:[si+2],ax
  2079.      sub al,2
  2080.      mov es:[di-2],ax
  2081.      ;送入上 => and <=
  2082.      
  2083.      add si,160
  2084.      add di,160
  2085.      mov cx,23
  2086.      mov al,'|'
  2087.      
  2088. close1  :mov es:[si],ax
  2089.      mov es:[di],ax
  2090.      mov es:[si+2],ax
  2091.      mov es:[di-2],ax
  2092.      
  2093.      add si,160
  2094.      add di,160
  2095.      loop close1
  2096.      ;送入23行'||'
  2097.      
  2098.      mov al,3dh
  2099.      mov es:[si],ax
  2100.      mov es:[di],ax
  2101.      inc al
  2102.      mov es:[si+2],ax
  2103.      sub al,2
  2104.      mov es:[di-2],ax
  2105.      ;送入下 => and <=
  2106.      
  2107.      pop cx
  2108.      pop di
  2109.      pop si
  2110.      ret
  2111.      
  2112. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2113. ;close动画(外散)
  2114. ;
  2115. ;si为1号列
  2116. ;di为2号列
  2117. ;
  2118. dclose  :push si
  2119.      push di
  2120.      push cx
  2121.      
  2122.      mov ax,0b800h
  2123.      mov es,ax
  2124.      
  2125.      mov ax,0a3ch
  2126.      mov es:[si],ax
  2127.      add al,2
  2128.      mov es:[di],ax
  2129.      dec al
  2130.      mov es:[si+2],ax
  2131.      mov es:[di-2],ax
  2132.      ;送入上 <= and =>
  2133.      
  2134.      add si,160
  2135.      add di,160
  2136.      mov cx,23
  2137.      mov al,'|'
  2138.      
  2139. dclose1  :mov es:[si],ax
  2140.      mov es:[di],ax
  2141.      mov es:[si+2],ax
  2142.      mov es:[di-2],ax
  2143.      
  2144.      add si,160
  2145.      add di,160
  2146.      loop dclose1
  2147.      ;送入23行||
  2148.      
  2149.      mov ax,0a3ch
  2150.      mov es:[si],ax
  2151.      add al,2
  2152.      mov es:[di],ax
  2153.      dec al
  2154.      mov es:[si+2],ax
  2155.      mov es:[di-2],ax
  2156.      ;送入下 <= and =>
  2157.      
  2158.      pop cx
  2159.      pop di
  2160.      pop si
  2161.      ret
  2162.      
  2163. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2164. ;clear清除(配合左右滑动门)
  2165. ;
  2166. ;si为1号列
  2167. ;di为2号列
  2168. ;
  2169. clear  :push cx
  2170.      push si
  2171.      push di
  2172.      
  2173.      mov ax,0720h
  2174.      mov cx,25
  2175.      
  2176. clear1  :mov es:[si],ax
  2177.      mov es:[di],ax
  2178.      mov es:[si+2],ax
  2179.      mov es:[di-2],ax
  2180.      ;根据si,di清除列
  2181.      
  2182.      add si,160
  2183.      add di,160
  2184.      loop clear1
  2185.      
  2186.      pop di
  2187.      pop si
  2188.      pop cx
  2189.      ret
  2190.      
  2191. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2192. ;提问段显示
  2193. ;
  2194. ;参数:
  2195. ;si = 问题偏移地址
  2196. ;di = 显存偏移地址

  2197. pro_str  :push di
  2198.      
  2199.      mov cx,5
  2200.      mov ah,0ah
  2201.      
  2202. pro1  :push cx
  2203.      mov cx,32
  2204.      
  2205. pro2  :lodsb
  2206.      stosw
  2207.      
  2208.      push si
  2209.      lea si,sec
  2210.      and byte ptr [si],0
  2211. t00    :cmp byte ptr [si],2
  2212.      jne t00
  2213.      pop si
  2214.      
  2215.      loop pro2
  2216.      
  2217.      add di,96
  2218.      pop cx
  2219.      loop pro1
  2220.      
  2221.      pop di
  2222.      ret
  2223.    
  2224. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2225. ;提问段清除
  2226. ;与清屏同理
  2227. ;
  2228. ;参数:
  2229. ;di = 显存偏移地址

  2230. pro_cle  :push di
  2231.      
  2232.      mov cx,5
  2233.      mov ax,0720h
  2234.      
  2235. pro3  :push cx
  2236.      mov cx,32
  2237.      
  2238. pro4  :mov es:[di],ax
  2239.      add di,2
  2240.      loop pro4
  2241.      
  2242.      add di,96
  2243.      pop cx
  2244.      loop pro3
  2245.      
  2246.      pop di
  2247.      ret
  2248.    
  2249. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2250. ;子程序:rose
  2251. ;
  2252. ;功能:生成rose.htm文件
  2253. ;

  2254. rose  :push dx
  2255.      push ds
  2256.      push es
  2257.      push cx
  2258.      
  2259.      mov dx,DG
  2260.      mov ds,dx
  2261.      mov es,dx
  2262.      
  2263.      lea dx,rose1
  2264.      xor cx,cx
  2265.      mov ah,3ch
  2266.      int 21h
  2267.      ;创建
  2268.      
  2269.      jc rose_ret
  2270.      
  2271.      mov bx,ax
  2272.      mov cx,1338
  2273.      lea dx,rose3
  2274.      mov ah,40h
  2275.      int 21h
  2276.      ;写文件
  2277.      
  2278.      jc rose_ret
  2279.      
  2280.      mov ah,3eh
  2281.      int 21h
  2282.      ;关闭文件
  2283.      
  2284. rose_ret:pop cx
  2285.      pop es
  2286.      pop ds
  2287.      pop dx
  2288.      ret
  2289.      
  2290. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2291. ;改变外层心字符颜色
  2292. ;
  2293. ;功能:无色与原色相互变换。
  2294. ;
  2295. ;参数:bp=坐标区偏移地址
  2296. ;
  2297. flick1  :push bx
  2298.      push cx
  2299.      
  2300.      mov al,00H
  2301.      mov cx,24
  2302.      
  2303.      xor dl,1
  2304.      jz reddd
  2305.      
  2306. flick1_1:mov di,ds:[bp]
  2307.      mov es:[di+1],al
  2308.      
  2309.      add bp,2
  2310.      loop flick1_1
  2311.      jmp short firet
  2312.      
  2313. reddd  :mov al,0CH
  2314.      jmp short flick1_1
  2315.      
  2316. firet  :pop cx
  2317.      pop bx
  2318.      ret
  2319.      
  2320. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2321. ;改变内层心字符颜色
  2322. ;
  2323. ;功能:无色与原色相互变换。
  2324. ;
  2325. ;参数:bx=坐标区偏移地址
  2326. ;
  2327. flick2  :push bx
  2328.      push cx
  2329.      
  2330.      mov al,00H
  2331.      mov cx,42
  2332.      
  2333.      xor dh,1
  2334.      jz redd
  2335.      
  2336. flick2_1:mov di,[bx]
  2337.      mov es:[di+1],al
  2338.      
  2339.      add bx,2
  2340.      loop flick2_1
  2341.      jmp short flret
  2342.      
  2343. redd  :mov al,0CH
  2344.      jmp short flick2_1
  2345.      
  2346. flret  :pop cx
  2347.      pop bx
  2348.      ret
  2349.      
  2350. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2351. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  2352. ;按位写像素子程序(单图显示)
  2353. ;
  2354. ;参数:ds=DG  bp=指定行数  bp+60=指定列数
  2355. ;     al=颜色
  2356. ;
  2357. ;返回参数:si=下一图的首字节  bp=下一图行数  bp=下一图列数
  2358. ;
  2359. ;
  2360. ;功能:根据单色位图翻译工具生成的数据。来计算坐标并写像素。
  2361. ;
  2362. tim    :push cx
  2363.      push dx
  2364.      push ax
  2365.      
  2366.      mov bx,ds:[bp]  
  2367.      mov ax,640
  2368.      mul bx
  2369.      add ax,word ptr ds:[bp+42]
  2370.      adc dx,0    ;计算结果DX为页数,ax为偏移地址
  2371.      
  2372.      mov di,ax
  2373.      
  2374.      xor bx,bx
  2375.      mov ax,4f05h
  2376.      int 10h    ;设置页数
  2377.      
  2378.      add bp,2    ;指向下一图行列
  2379.      
  2380.      
  2381.      pop ax
  2382.      
  2383.      mov cx,25    ;行数
  2384.      
  2385. tim1  :push cx
  2386.      mov cx,8    ;字节数
  2387.      
  2388. tim2  :push cx
  2389.      mov cx,8    ;位数
  2390.      
  2391.      mov ah,[si]  ;取字节
  2392.      
  2393.      
  2394. tim3  :rcl ah,1
  2395.      jnc zero    ;检测每位
  2396.      
  2397.      mov es:[bx+di],al  ;当为1时,送入字节
  2398.      
  2399. zero  :inc bx      ;指向下一像素点
  2400.      loop tim3
  2401.      
  2402.      inc si      ;指向下一字节
  2403.      pop cx
  2404.      loop tim2
  2405.      
  2406.      xor bx,bx    ;初始化辅助偏移
  2407.      add di,640    ;指向下一行
  2408.      pop cx
  2409.      loop tim1
  2410.      
  2411.      pop dx
  2412.      pop cx
  2413.      ret
  2414.      
  2415. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  2416. ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  2417. CG ends
  2418. end start
复制代码
发表于 2013-11-24 21:31:31 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

快速入职
隐私保护
薪资透明
信息可靠
手机找工作

快速回复 返回顶部 返回列表