前些日子不是七夕嘛。然后呢。正好今年收获了女朋友哈。我就想写一只程序来送她当礼物。纯16位汇编编写。程序情书部分已经略去。咳咳。程序放出源码供同学们交流讨论哈。。
里面涉及了许多知识。自己慢慢挖掘咯。程序可能会有BUG(譬如。bit子程序)。这就需要同学们去发现了。 里面那个玫瑰html源码非本人编写。。借用哈。。IE貌似不会显示出玫瑰。请用chrome或者火狐吧。
其实玫瑰下边是情书,只不过我在这里的给略去了而已。
PS:话说。她挺喜欢的。你们明年的8.2可以想一下。做个什么程序礼物给自己的她。不仅可以增进感情,还可以加强自己的知识哈。。。
欢迎同学们共同讨论哈。程序可能写的不怎么样。但是都是用心去写的每一行代码。。
编译环境:masm6.15
想要完整的环境及工具都在压缩包里。
2500行=代码+空格+注释。。。
程序源码下载:http://pan.baidu.com/share/link? ... 8&uk=4160755509
代码:
- 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
复制代码 |