资源描述:
《实验五 综合程序设计(二)编程文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DATASEGMENT数据段ASCII码值、字符属性、相对位移量(行、列)CARDB7DB0DBH,7,0,0实心方块:ASCII码为0DBHDB0DBH,7,0,1实心方块:ASCII码为0DBHDB0B1H,70H,0,1阴影符:ASCII码为0B1HDB52H,70H,0,1字母R(车头):ASCII码为52HDB4FH,7,1,0字母O(车轮):ASCII码为4FHDB4FH,7,0,-3字母O(车轮):ASCII码为4FHDB2,7,-2,2笑脸符:ASCII码为01H或02HCHAR_CNTDW?POINTERD
2、W?LINE_ONDB?COL_ONDB?DATAENDS字符属性:7:闪烁6:背景红5:背景绿4:背景蓝3:高亮2:前景红1:前景绿0:前景蓝相对位移量是说的相对前面的图形,向右X增大,向下Y增大。画图可得。STACK1SEGMENTPARASTACK堆栈段DW40HDUP(0)STACK1ENDSCODESEGMENT代码段ASSUMEDS:DATA,CS:CODE,SS:STACK1MAINPROCFAR模拟汽车开动程序的参考主程序PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXCALLCL
3、EAR_SCREENLEADI,CARMOVDH,10MOVDL,10CALLMOVE_SHAPERETCLEAR_SCREENPROCNEAR让“汽车”在屏幕上开动-----清屏PUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,0MOVCH,0MOVCL,0MOVDH,24MOVDL,79MOVBH,7INT10HPOPDXPOPCXPOPBXPOPAXRETCLEAR_SCREENENDPMOVE_SHAPEPROCNEAR在屏幕上显示出“汽车”,并将“汽车”图形利用BIOS中断调用输出在显示器上
4、PUSHAXPUSHBXPUSHCXPUSHDXPUSHDIMOVAH,0FHINT10HSUBCH,CHMOVCL,[DI]INCDIMOVCHAR_CNT,CXMOVPOINTER,DIMOVLINE_ON,DHMOVCOL_ON,DLPLOT_NEXT:ADDDH,[DI+2]ADDDL,[DI+3]CMPDL,80JBMOV_CRSRCALLERASEPOPDIPOPDXPOPCXPOPBXPOPAXRETMOV_CRSR:MOVAH,2INT10HMOVAL,[DI]MOVBL,[DI+1]PUSHCXMOVCX,
5、1MOVAH,09INT10HPOPCXADDDI,4LOOPPLOT_NEXTCALLDLY_QRTRCALLERASEJMPSHORTPLOT_NEXTMOVE_SHAPEENDPDLY_QRTRPROCNEAR延时一个时间周期,产生视觉暂留,使图形清晰,利用延时子程序PUSHAXPUSHBXPUSHDXMOVAH,01MOVCX,0MOVDX,0INT1AHDELAY:MOVAH,00INT1AHCMPDX,05HJBDELAYPOPDXPOPCXPOPAXRETDLY_QRTRENDPERASEPROCNEAR清除图
6、形——利用同样前景色、背景色重画“汽车”图形MOVCX,CHAR_CNTMOVDI,POINTERMOVDH,LINE_ONMOVDL,COL_ONERAES_NEXT:ADDDH,[DI+2]ADDDL,[DI+3]MOVAH,2INT10HMOVAL,[DI]MOVBL,0PUSHCXMOVCX,1MOVAH,09INT10HPOPCXADDDI,4LOOPERAES_NEXTMOVCX,CHAR_CNTMOVDI,POINTERMOVDH,LINE_ONINCCOL_ONMOVDL,COL_ONRETERASEENDP
7、MAINENDPCODEENDSENDMAIN