资源描述:
《微机原理课堂演示代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分支机构分支程序举例:CCTV幸运52有个猜商品价格的游戏,这里简化成猜数游戏。根据提示信息输入你所猜的数,计算机经过与谜底比较后提示你高了或低了,如果猜中则恭喜你答对了。higher:right:NYInput:显示:guessanumber显示输入一个字符——〉ALAL—关键字相等?显示:Yournumberislower,Guessagain高于?显示:Yournumberislower,GuessagainGUESSAGAIN显示:congratulateyou!yournumberisright猜数程序结束YN9;Gue
2、ssnumberdatasegment;段定义伪指令msg1db10,13,'Guessanumber:$'msg2db10,13,'yournumberislower!guessagain:$'msg3db10,13,'yournumberishigher!guessagain:$'msg4db10,13,'Congratulateyou!yournumberisright!$'keydb34hdataends;段定义伪指令codesegment;段定义伪指令assumecs:code,ds:data;段基假设begin:mov
3、ax,data;段基装填movds,axmovah,9;显示一个字符串movdx,offsetmsg1int21h;DOS功能调用input:movah,1;从键盘上输入一个数字符到ALint21h;DOS功能调用cmpal,key;输入字符与谜底比较jeright;相等jahigher;高了movdx,offsetmsg2;低了movah,9int21h;DOS功能调用jmpinputhigher:movdx,offsetmsg3movah,9int21h;DOS功能调用jmpinputright:movdx,offsetmsg
4、4movah,9int21h;DOS功能调用movah,4ch;结束程序,返回DOSint21hcodeends;段定义伪指令endbegin;结束汇编循环程序1、先执行后判断结构例1:(先执行后判断循环)已知从BLOCK开始有N个带符号字节数据,试编程找出其中数值最大的数存入MAX单元。datsegment9blockdb2,34,67,-45,3,-54h,-23,-6h,db08,80,29,65h,-124,76,57,23hnequ$-blockmaxdb?datendscodsegmentassumecs:cod,ds
5、:datbeg:movax,datmovds,axmovcx,n-1moval,blockmovbx,offsetblock+1lp:cmpal,[bx]jgenextmoval,[bx]next:incbxlooplpmovmax,almovah,4chint21hcodendsendbeg9先判断后执行结构例4-7:(先判断后执行循环)试编程从键盘上输入一位十进制数N,并计算N!存入字变量Nj.如果计算溢出应提示.datsegmentstringdb'Pleaseinputanumber(0-9):$'errdb'yournu
6、mberistoolarge',10,13,24hnjdw?datendscodsegmentassumecs:cod,ds:datbeg:movax,datmovds,axreinput:movdx,offsetstringmovah,9int21hmovah,1int21hcmpal,39hjareinputandal,0fhmovch,0movcl,alinccxmovdx,0movax,1lp:loopoprtjmpshortendloprt:mulcx;cmpdx,0;jnzoverjmplp;over:movdx,of
7、fseterr;movah,9;int21h;jmpreinputendl:movnj,axmovah,4chint21hcodendsendbeg9双重控制循环(循环控制条件二个或二个以上)例4-9:(双重控制循环)关键字搜索。已知从STRING开始有一个字符串(串长<100)。编程搜索其中是否有关键字符串'AB',如有,显示其相对串首的偏移量,如无,显示'NOFOUND'。datsegmentstringdb'CDE12FGHIJKL456MNAB123fg7'lenequ$-stringkeydb'AB'ofstdb4dup
8、('$')nofdb10,13,'nofound$'datendscodsegmentassumecs:cod,ds:datbegin:movax,datmovds,axmovcx,lenmovbx,0movax,wordptrkeylp:cmpa