资源描述:
《王爽—实验16》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AT89S51单片机实验ASSUMECS:CODECODESEGMENT;-----------------------------在最后一行写满‘A’----------------------------START:MOVAX,0B800HMOVES,AXMOVCX,80MOVSI,24*160SC:MOVBYTEPTRES:[SI],'A'ADDSI,2LOOPSC;-----------------------------安装INT7CH中断处理程序-------------------------MOVA
2、X,0MOVES,AXMOVAX,CSMOVDS,AXMOVSI,OFFSETSETSCREENMOVDI,200HMOVCX,OFFSETWAN-OFFSETSETSCREENCLDREPMOVSB;-----------------------------修改INT7CH的中断向量表------------------------MOVWORDPTRES:[7CH*4],200HMOVWORDPTRES:[7CH*4+2],0;--------调用INT7CH,AH传递的是要调用INT7CH中的哪条子程序,AL
3、传递的是颜色属性-------------MOVAH,2MOVAL,3INT7CH;-------------------整个程序执行完,返回!!!-------------------------------------------MOVAX,4C00HINT21HSETSCREEN:JMPS;---------------------------------这里和以前的不同,如果和以前一样,那么TABLE表中的数据是原来的数据,跳转时就发生错误,---------------------------------
4、---------;--------------数据(地址)是会变的,不变的是相对位移(地址)-----------------------------------------------------------------------------------------------4--AT89S51单片机实验TABLEDW0,0,0,0S:MOVBX,OFFSETSUB1-OFFSETSETSCREENADDBX,200HMOVWORDPTRTABLE[0],BXMOVBX,OFFSETSUB2-OFFSETS
5、ETSCREENADDBX,200HMOVWORDPTRTABLE[2],BXMOVBX,OFFSETSUB3-OFFSETSETSCREENADDBX,200HMOVWORDPTRTABLE[4],BXMOVBX,OFFSETSUB4-OFFSETSETSCREENADDBX,200HMOVWORDPTRTABLE[6],BX;-----------------------------根据传递的参数,找到相应的子程序---------------------------------------SET:PUSHBX
6、CMPAH,3;当AH传递的值大于3,说明输入有误JASRETMOVBL,AHMOVBH,0ADDBX,BXCALLWORDPTRTABLE[BX]SRET:POPBXIRET;-----------------------------子程序0,清屏--------------------------------------------------SUB1:PUSHBXPUSHCXPUSHESMOVBX,0B800HMOVES,BXMOVBX,0MOVCX,2000SUBLS:MOVBYTEPTRES:[BX],'
7、'ADDBX,24--AT89S51单片机实验LOOPSUBLSPOPESPOPCXPOPBXRET;-----------------------------子程序1,设置前景色--------------------------------------------------SUB2:PUSHBXPUSHCXPUSHESMOVBX,0B800HMOVES,BXMOVBX,1MOVCX,2000SUB2S:ANDBYTEPTRES:[BX],11111000BORES:[BX],ALADDBX,2LOOPSUB2
8、SPOPESPOPCXPOPBXRET;-----------------------------子程序2,设置背景色--------------------------------------------------SUB3:PUSHBXPUSHCXPUSHESMOVCL,4SHLAL,CLMOVBX,0B800HMOVES,BXMOVBX,1MOVCX,