首页 汇编代码范例 (23页)

汇编代码范例 (23页)

举报
开通vip

汇编代码范例 (23页)汇编代码范例汇编代码范例篇一:汇编程序实例1:判断闰年程序2:产生随机数并计算程序3:计算平台长度程序4:加减乘除运算5:数字方阵程序6:数据加密程序7:代码转换程序8:键盘录入数据的转换与显示9:音乐演奏10:显示色彩矩形块11、12:字符图形程序13:图形变换14、15:动画16:打字练习17:打字计时练习18:系统时间显示19:显示日期时间20:七段电子表显示21:简易文本编辑器22:磁盘文件读写23:成绩管理24、25:pc机通信26:钟表显示27:霓虹灯模拟显示案例1判断闰年程序说明:这是一个判断某一年是...

汇编代码范例 (23页)
汇编代码范例汇编代码范例篇一:汇编程序实例1:判断闰年程序2:产生随机数并计算程序3:计算平台长度程序4:加减乘除运算5:数字方阵程序6:数据加密程序7:代码转换程序8:键盘录入数据的转换与显示9:音乐演奏10:显示色彩矩形块11、12:字符图形程序13:图形变换14、15:动画16:打字练习17:打字计时练习18:系统时间显示19:显示日期时间20:七段电子表显示21:简易文本编辑器22:磁盘文件读写23:成绩管理24、25:pc机通信26:钟表显示27:霓虹灯模拟显示案例1判断闰年程序说明:这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。源码:Delphi代码datasegment;定义数据段infondb0dh,0ah,'Pleaseinputayear:$'Ydb0dh,0ah,'Thisisaleapyear!$'Ndb0dh,0ah,'Thisisnotaleapyear!$'wdw0bufdb8db?db8dup(?)dataendsstacksegmentstackdb200dup(0)stackendscodesegmentassumeds:data,ss:stack,cs:codestart:movax,datamovds,axleadx,infon;在屏幕上显示提示信息movah,9int21hleadx,buf;从键盘输入年份字符串movah,10int21hmovcl,[buf+1]leadi,buf+2calldatacatecallifyearsjca1leadx,nmovah,9int21hjmpexita1:leadx,ymovah,9int21hexit:movah,4chint21hdatacateprocnear;pushcx;deccxleasi,buf+2tt1:incsilooptt1;leasi,cx[di]popcxmovdh,30hmovbl,10movax,1l1:pushaxsubbyteptr[si],dhmulbyteptr[si]addw,axpopaxmulbldecsiloopl1retdatacateendpifyearsprocnearpushbxpushcxpushdxmovax,wmovcx,axmovdx,0movbx,4divbxcmpdx,0jnzlab1movax,cxmovbx,100divbxcmpdx,0jnzlab2movax,cxmovbx,400divbxcmpdx,0jzlab2lab1:clcjmplab3lab2:stclab3:popdxpopcxpopbxretifyearsendpcodeendsendstart案例2数字方阵程序说明:该程序实现显示一个数字的方阵,程序中的清屏功能可将上次运行的结果清除,重新显示下次运行结果。本程序在dos中或windows98中运行。Delphi代码datasegmentbuf1db'123894765'buf2db'12341213145111615610987'buf3db'12345161718196152425207142322218131211109'dbufdb14dup(?)i1db0dh,0ah,'thisisafangzhenprogramme'db0dh,0ah,'inputqtoexit'db0dh,0ah,'Pleaseinputanumber(3--5):','$'i2db0dh,0ah,'inputerror,pleasereinput!','$'ndb?bdb1dataendsstacksegmentdb100dup(?)stackendscodesegmentassumeds:data,cs:code,ss:stackmain:movax,datamovds,axcallclearlop:leadx,i1movah,9int21hmovah,1int21hcmpal,'q'jzquitleasi,buf1movn,7movcl,3callclearcmpal,'3'jzsleasi,buf2movn,10movcl,4cmpal,'4'jzsleasi,buf3movcl,5movn,13cmpal,'5'jzsleadx,i2movah,9int21hcallclearjmplops:movbl,nleadi,dbufl:moval,[si]mov[di],alincsiincdidecbljnelmov[di],byteptr'$'movah,2movdh,bmovdl,0int10hleadx,dbufmovah,9int21hincbloopsjmplopquit:movah,4chint21h;***清屏***clearprocnearpushaxpushbxpushcxpushdxmovah,6moval,0movch,0movcl,0movdh,24movdl,79movbh,7int10hpopdxpopcxpopbx篇二:汇编语言程序实例汇编语言程序实例第一份:用汇编语言对4位10进制数加密。密码是0123456789对应为9082746315。DATASEGMENTTABLEDB39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密码表RESULTDB4DUP(?);四位十进制数对应的密码DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODEMAINPROCFARMOVAX,DATAMOVDS,AXMOVES,AXLEABX,TABLELEADI,RESULTMOVAX,1234;已知的四位十进制数,以下分别求四位十进制数位,并将密码存入RESULT中MOVSI,1000CALLNUMBERMOVSI,100CALLNUMBERMOVSI,10CALLNUMBERMOVSI,1CALLNUMBERLEADI,RESULT;在屏幕上依次显示四位加密后的十进制数MOVCX,4NEXT:MOVDL,[DI]MOVAH,2HINT21HINCDILOOPNEXT;按任意键退出movah,1int21hMOVAX,4C00HINT21HMAINENDPNUMBERPROCNEARMOVDX,0DIVSIMOVSI,DXXLATSTOSBMOVAX,SIRETNUMBERENDPCODEENDSENDMAIN第二份:设有100个学生的成绩存放在RECORD为首地址的字节数据区中,试编写分支程序分别统计成绩为60~69分,70~79分,80~89分,90~99分,100分的人数(假设成绩都及格),分别存放在G6,G7,G8,G9,G10单元中.datasegmentrecorddb100dub(?)g6db0g7db0g8db0g9db0g10db0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleasi,recordmovcx,100next:moval,[si]cmpal,60jbnextncmpal,70jnbnext7incg6jmpnextnnext7:cmpal,80jnbnext8incg7jmpnextnnext8:cmpal,90jnbnext9incg8jmpnextnnext9:cmpal,100jnbnext10incg9jmpnextnnext10:jnenextnincg10nextn:incsiloopnextmovah,1int21hmovax,4c00hint21hcodeendsendstart第三份:若自BLOCK开始的内存缓冲区中,有100个带符号的十六进制数,希望找到其中最大的一个值,并将它放到MAX单元中解:程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图如图所示。MOVBX,OFFSETBLOCKMOVAX,[BX]INCBXINCBXMOVCX,99AGAIN:JGNWXTMOVAXNEXT:INCBXDECCXJNEAGAINMOVMAXHLTCMPAX,[BX],[BX],AXINCBX篇三:51汇编程序实例51汇编程序实例:举一例说明:流水灯加数码管LOOP:;标号CLRP2.6;选中p2.6数码管左边的8字使能SETBP2.7;p2.7不使能。右边的数码管消隐MOVP0,#28H;把28h送p0口;数码管显示0LCALLDELAY;延时MOVP0,#0FFH;0ffh送p0口,数码管清除CLRP1.0;点亮p1.0发光管MOVP0,#7EH;把7eh送p0口;数码管显示1LCALLDELAYMOVP0,#0FFHCLRP1.1;点亮p1.0发光管CLRP1.0;点亮p1.0发光管MOVP0,#0A2H;数码管显示2LCALLDELAYMOVP0,#0FFHCLRP1.2CLRP1.1CLRP1.0MOVP0,#62H;数码管显示3LCALLDELAYMOVP0,#0FFHCLRP1.3CLRP1.2CLRP1.1CLRP1.0MOVP0,#74H;数码管显示4LCALLDELAYMOVP0,#0FFHCLRP1.4CLRP1.3CLRP1.2CLRP1.1CLRP1.0MOVP0,#61H;数码管显示5;LCALLDELAYMOVP0,#0FFHCLRP1.5CLRP1.4CLRP1.3CLRP1.2CLRP1.1CLRP1.0MOVP0,#21H;数码管显示6LCALLDELAYCLRP1.5CLRP1.4CLRP1.3CLRP1.2CLRP1.1CLRP1.0MOVP0,#7AH;数码管显示7LCALLDELAYMOVP0,#0FFHCLRP1.7CLRP1.6CLRP1.5CLRP1.4CLRP1.3CLRP1.2CLRP1.1CLRP1.0MOVP0,#20H;数码管显示8LCALLDELAYMOVP0,#0FFHLCALLDELAYMOVP0,#0FFHMOVP1,#0FFH;程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8;p1.0------------p1.7指示灯依次点亮SETBP2.6;左边的8消隐CLRP2.7;选中p2.7数码管右边的8字使能,;MOVP0,#28HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.0MOVP0,#7EHLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.1MOVP0,#0A2HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.2MOVP0,#62HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.3MOVP0,#0FFHMOVP1,#0FFHCLRP1.4MOVP0,#61HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.5MOVP0,#21HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.6MOVP0,#7AHLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHCLRP1.7MOVP0,#20HLCALLDELAYMOVP0,#0FFHMOVP1,#0FFHMOVP0,#0FFHMOVP1,#0FFH;这一段和上一段基本相同,不同的是右边的数码管依次显示012345678,左边的不亮;;同时p1口的灯流动显示:AJMPLOOP;注意:程序运行到此跳转到开始标号,重复执行:DELAY:;延时子程序;参考前面的教程:CLRP3.3;注意小喇叭在3.3口,这里可以使小喇叭发出嗒,嗒声MOVR7,#255NOPNOPD1:MOVR6,#255setbp3.3D2:DJNZR6,D2clrp3.3DJNZR7,D1SETBP3.3RETENDLOOP:;标号CLRP2.6;选中p2.6数码管左边的8字使能SETBP2.7;p2.7不使能。右边的数码管消隐MOVP0,#28H;把28h送p0口;数码管显示0;28为1010000LCALLDELAY;延时程序MOVP0,#0FFH;0ffh送p0口,数码管清除;P0口为11111111CLRP1.0;点亮p1.0发光管;P1。0为电平,P0口为11111110MOVP0,#7EH;把7eh送p0口;数码管显示1;P1。0为低电平,P0口为11111110LCALLDELAY;延时程序MOVP0,#0FFHMOVP0,#0FFH;0ffh送p0口,数码管清除;P0口为11111111清一次显示篇四:常见汇编程序源代码示例包含14个常见的汇编程序源代码,所有代码在VC6.0中调试通过;汇编程序采用《微机原理接口与技术》(钱晓婕)一书中所用的框架。目录1.编写程序,计算下面函数的值并输出。.............................................................22.输入一个年份(调用readuid子程序),判断是否是闰年.......................................23.输入三个无符号整数(调用readuid子程序),判断并输出这三个数是否能构成一个三角形的三条边。若这三个数能构成一个三角形的三条边,输出三角形的形状:斜三角形、等腰三角形、等边三角形。............................................................34.采用无条件和条件转移指令构造while和dowhile循环结构,完成下面的求和任务并输出sum(sum为双字)。............................................................................55.编写程序,求0到100间所有偶数和并输出。要求采用loop、while和dowhile三种不同的循环结构完成。........................................................................................66.Fibonaccinumbers的定义:.................................................................................8f1=1,f2=1,fn=fn-1+fn-2n>=3...............................................................................8编程输出Fibonaccinumbers的前30项。.................................................................87.有一个首地址为array的20个有符号的双字数组,编程分别求出正数的和与负数的和并输出。......................................................................................................108.有一个首地址为string的字符串,剔除string中所有的空格字符。请从字符串最后一个字符开始逐个向前判断、并进行处理。..............................................129.有一个首地址为string的字符串,分别统计string中空格、英文字母、数字和其它字符的个数并输出。......................................................................................1310.palindrome(回文)是指正读和反读都一样的数或文本。例如:11、121、12321等,编写程序,求10到10000之间所有回文数并输出。要求每行输出10个数。1511.编写程序,求出所有满足勾股定理且边长不大于500的直角三角形。...1712.编写一个求n!的子程序,利用它求1!+2!+3!+4!+5!+6!+7!+8!的和并输出。2213.编写一个判断闰年的子程序,利用它求出2010年到2060年之间所有的闰年并输出。..................................................................................................................2514.编写一个求解双字型有符号数数组元素的平均值子程序,并验证它的正确性。261.编写程序,计算下面函数的值并输出。includeio32.inc.codestart:callreadsidcmpeax,0jlsmallcmpeax,10jlemidjmplargesmall:imuleax,2jmpdonemid:imuleax,3jmpdonelarge:imuleax,4jmpdonedone:calldispsidexit0endstart2.输入一个年份(调用readuid子程序),判断是否是闰年.includeio32.inc.datayes_msgbyte'isleap',13,10,0no_msgbyte'noleap',13,10,0.codestart:callreaduidmovedx,0movecx,4divecxcmpedx,0jefirstjmpsecondfirst:movedx,0movecx,100divecxjneleapjmpsecondsecond:movedx,0movecx,400divecxjeleapjmpnoleapleap:moveax,offsetyes_msgcalldispmsgjmpdonenoleap:moveax,offsetno_msgcalldispmsgjmpdonedone:exit0endstart3.输入三个无符号整数(调用readuid子程序),判断并输出这三个数是否能构成一个三角形的三条边。若这三个数能构成一个三角形的三条边,输出三角形的形状:斜三角形、等腰三角形、等边三角形。includeio32.inc.datamsg_dengyaobyte'dengyao',13,10,0;等腰三角形msg_dengbianbyte'dengbian',13,10,0;等边三角形msg_zhijiaobyte'zhijiao',13,10,0;直角三角形msg_xiesanjiaobyte'xiesanjiaoxing',13,10,0;斜三角形msg_wrongbyte'wrong',13,10,0;无法构成三角形sqrdword0.code;在ebx,ecx,edx分别保存三条边的长度start:callreaduid;读取第一个数和第二个数到ebx、ecxmovebx,eaxcallreaduidmovecx,eaxcmpebx,ecxjggreatjmpnextgreat:xchgebx,ecxnext:callreaduidmovedx,eaxcmpebx,edxjgthirdsmallcmpecx,edxjgthirdmidjmporder;如果第三个数最小thirdsmall:moveax,edxmovedx,ecxmovecx,ebxmovebx,eaxjmporder;确保ebx<=ecx;读取第三个数到edx;如果第三个数最小;如果第三个数在最中间;如果第三个数在最中间thirdmid:xchgecx,edxjmporder;执行至此,三个数(ebx,ecx,edx)已经从小到大排序order:moveax,ebxaddeax,ecxcmpeax,edxjlewrongcmpebx,ecxjeb_equal_ccmpecx,edxjec_equal_djmpgeneralb_equal_c:cmpecx,edxjedengbianjmpdengyaoc_equal_d:cmpebx,ecx;最小的两边之和大于第三边;第一条边等于第二条边;第二条边等于第三条边;非等腰(等边)三角形;继续比较,确认是否为等边三角形;继续比较,确认是否为等边三角形jedengbianjmpdengyao;执行至此,能否构成三角形,以及三角形是否等边等腰已经确定,输出;判断是否为直角三角形general:moveax,ebximuleax,eaxmovsqr,eaxmoveax,ecximuleax,eaxaddsqr,eaxmoveax,edximuleax,eaxcmpsqr,eaxjezhijiaojmpxiesanjiaoxiesanjiao:moveax,offsetmsg_xiesanjiaocalldispmsgjmplastzhijiao:moveax,offsetmsg_zhijiaocalldispmsgjmplastdengbian:moveax,offsetmsg_dengbiancalldispmsgjmplastdengyao:moveax,offsetmsg_dengyaocalldispmsgjmplastwrong:moveax,offsetmsg_wrongcalldispmsgjmplast;输出完毕,运行结束last:exit0endstart4.采用无条件和条件转移指令构造while和dowhile循环结构,完成下面的求和任务并输出sum(sum为双字)。includeio32.inc
本文档为【汇编代码范例 (23页)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥16.9 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
万用文库
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:0
分类:
上传时间:2020-06-29
浏览量:56