资源描述:
《几个汇编程序编写》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验内容1.编写一个汇编程序,实现字符串的复制功能,并且将复制的字符串显不出来开始/预先必入字/符串内容車复前缀指令&字符串传送指令r/输出字符串结朿程序如下所示:DATASSEGMENTstring_adb'TheSchoolofInformationScienceandEngineeringShandongUniversity','$*;此红鏑入数据盈代親countequ$-offsetstring_aDATASENDSSTACKSSEGMENTstring_bdbcountdup(?);此处爺入俭桟盈代親STACKSENDSCODESSEGMENTASS
2、UMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,STACKSMOVES,AXLEASl,string_aLEADl,string_bmovCX,countSTD;谄蚩方角,si,di角后紹为REPMOVSB;筮夏窃虑北今初乡為帛傍住北今,迪纟北今划字节傍懣数阴LEADX,string_bMOVAH,9INT21H;鏑出字禺轧字禺帛的地紅石DX中MOVAH,4CHINT21HMOVAH,4CHINT21HCODESENDSENDSTART运行结果如下所示DOSBOXDOSBox0.74,C
3、puspeed:3000cycles,Frameskip0,Program:DOSBOXIOI回
4、i£3b
5、
6、HieSchoo1ofInformationScienceandEngineeringShandongUniuersity2、利用中断调用,在屏幕上显示1—9之间随机数。中断号86H程序框图如下:ranproc通过读时钟滝答数、产生罚机数iretranendp程序如下所示:datassegment;宝文救阴盈cladb13,10/wearegoingtoproduceanumberatrandom:$::步明裡席功詭infondb0dh,0ah;the
7、programrunsgood$f;>明程存功能datasendsstackssegmentstackdb200dup(0);i>L一个桟,200字节stacksendscodessegmentassumeds:datas3ss:stacks,cs:codesstart:movax,datas;昱热翡銘嬪诒移存盈movds,axleadx.cla;巻爲羊E現孑摆S传直movah,9int21h;倚cla乌能的乡為冷筛出到冷8、res:[bx+2],segransti;科中断int86hmovah,02hint21hleadx,infon;总冷ML显孑摆孑传@movah,9int21h;将cla易銘的窍禺帛筛出到怡羊movax,4c00hint21hranprocpushexpushdxmovah,0int1ah;cx:dx中紫32幺<50^。丸申湎答的次数,dx为傾16违movax,dxxordx,dxmovbxJOdivbxadddl,30h;侈dl中的炭紂亿勺asciiizBmovah,02hint21h;.2孑dl中的数popdxpopexiretranendpcodesEN
9、DSENDSTART运行情况如下所示:3、键盘输入10个学生的成绩,编写一个程序统计60-69分,70-79分,80-89分,90-99分及100分的人数,分别存放在Score6,Score7,Score8,Score9和Score"!0单元中。【输入10个学生的成绩如下】659878828895726290100程序框图如上,而程序如下所示:DATASSEGMENTinforddb13,10,'Pleaseinputthosescords(youneednotpressenterbetweenthem):$'infon3db13,10;$'infon2db1
10、3,10,'thenumberofscord6-scord10is:';%笛吾乂矛鑰出scord6db30hdb32;立文空偽scord7db30hdb32scord8db30hdb32scord9db30hdb32scordlOdb30hdb'$*DATASENDSSTACKSSEGMENTdb200dup(0)STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;荻据徂淡诒移好段movah,9leadx,infordint21h;摆孑用户鏑入廉席mo
11、vah,9leadx,infon3in