微机原理程序题.doc

微机原理程序题.doc

ID:56705857

大小:55.50 KB

页数:17页

时间:2020-07-05

微机原理程序题.doc_第1页
微机原理程序题.doc_第2页
微机原理程序题.doc_第3页
微机原理程序题.doc_第4页
微机原理程序题.doc_第5页
资源描述:

《微机原理程序题.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger均为双字变量。if(sinteger==0)sign==0;elseIf(siteger>0)sign=1;elsesign=-1;moveax,sintegermovedx,signcmpeax,0jnzL1movebx,0L1:cmpebx,0jlL2movebx,1L2:movebx,-12.将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。if(ch1>=’a’&&ch1<=’z’)caps==0;if(ch1>=

2、’A’&&ch1<=’Z’)caps==1;movax,ch1movbx,capscmpax,ajbnextcmpax,zjanextmovbx,0next:cmpax,Ajldonecmpax,Zjadonedone:3.将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为双字变量。sum=0;for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;movecx,imovecx,1.while(ecx<=100)moveax,ecxxoredx,edxmovebx,2divebxcmpedx,0jnzne

3、xtaddsum,ecxnext:incecx.endw1.能被4整除但不能被100整除,或者年被400整除的年份是闰年。编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。算法描述;esi=0;ecx=2012;;while(ecx<2100);{if(yearmod4=0andyearmod100<>0)or(yearmod400=0)then;{Lyear[esi]=ecx;esi++;};ecx++;;};Lcounter=esi;includeio32.inc.dataLyeardword100dup(

4、?)Lcounterdword0.codemainprocxoresi,esi;esi闰年个数计数器,兼做Lyear下标。movecx,2012;ecx年份计数器。.while(ecx<2100)moveax,ecxxoredx,edxmovebx,400divebxcmpedx,0jzleap;ifyearmod400=0thengotoleapmoveax,ecxxoredx,edxmovebx,4divebxcmpedx,0jnznext;ifyearmod4<>0thengotonextmoveax,ecxxoredx,edxmovebx,100di

5、vebxcmpedx,0jznext;ifyearmod100=0thengotonextleap:movLyear[esi*4],ecxincesimoveax,ecxcalldispuid;输出,用于验证。可以删掉calldispcrlf;输出,用于验证。可以删掉next:incecx.endwmovLcounter,esimoveax,esicalldispuid;输出,用于验证。可以删掉calldispcrlf;输出,用于验证。可以删掉retmainendp;endofmainendmain;endofassembly2.编程写一个完整的程序,求出2

6、~100之间的所有素数,并将它们存入Prime数组中,素数的个数存入变量Pcounter中。;采用伪代码pseudocode描述算法;1.i=2to100do;1.1ifiisprimenumberthenprinti;细化1.1如下:;1.1j=2toi/2do;1.1.1ifimodj=0thengotonexti;1.1.2printi;合理分配寄存器,i=ebx,j=ecx,edxeax做被除数,ecx做除数.includeio32.inc.datamsgbyte'Listofprimenumber',13,10,0msg1byte'Lcounter

7、is:',13,10,0blankbyte'',0primedword100dup(?)pcounterdword0.codemainproc;主程序开始movesi,0moveax,offsetmsgcalldispmsgmovebx,2iLoop:cmpebx,100;i循环入口jadonemovecx,ebxshrecx,1;j=i/2jLoop:cmpecx,2;j循环入口jbprintmoveax,ebxcdq;xoredx,edxdivecx;被除数送eax,32位除法oredx,edx;cmpedx,0jznexti;ifimodj=0then

8、gotonextidececxjmpjLooppri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。